我正在寻找基于GUI和CLI或基于Web的系统监视工具,其中包括基本功能,例如:


CPU使用率
Ram使用率
交换使用率<磁盘使用情况(空间/ I / O)
热量监控

我知道我可以使用很多工具,但是我正在寻找一种具有这些基本功能的工具。

#1 楼

Glances-监视您的系统

Glances是一个免费软件(根据LGPL授权),可以通过文本界面监视GNU / Linux或BSD操作系统。 Glances使用库libstatgrab从系统中检索信息,该信息库是使用Python开发的。

安装

打开终端(Ctrl + Alt + T)并运行以下命令:

在Ubuntu 16.04及更高版本中,您只需键入sudo apt install glances即可,但是版本2.3中存在此错误。其他:

简易脚本安装概览

curl -L https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | sudo /bin/bash


OR

wget -O- https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | sudo /bin/bash


手册安装

sudo apt-get install python-pip build-essential python-dev lm-sensors
sudo pip install psutil logutils bottle batinfo https://bitbucket.org/gleb_zhulik/py3sensors/get/tip.tar.gz zeroconf netifaces pymdstat influxdb elasticsearch potsdb statsd pystache docker-py pysnmp pika py-cpuinfo bernhard
sudo pip install glances


基本用法

要启动glances,只需在终端中键入glances



您一眼就能看到很多有关系统资源的信息:CPU,负载,内存,交换网络,磁盘I / O和进程全部集中在一页中,默认情况下,颜色代码表示:

GREEN : the statistic is “OK”
BLUE : the statistic is “CAREFUL” (to watch)
VIOLET : the statistic is “WARNING” (alert)
RED : the statistic is “CRITICAL” (critical)


运行Glances时,可以按一些特殊键向其发出命令:

c: Sort processes by CPU%  
m: Sort processes by MEM%  
p: Sort processes by name  
i: Sort processes by IO Rate  
d: Show/hide disk I/O stats  
f: Show/hide file system stats  
n: Show/hide network stats  
s: Show/hide sensors stats  
b: Bit/s or Byte/s for network IO  
w: Delete warning logs  
x: Delete warning and critical logs  
1: Global CPU or Per Core stats  
h: Show/hide this help message  
q: Quit (Esc and Ctrl-C also work)  
l: Show/hide log messages


Cpu ,内存,交换监视



磁盘监视


系统热量监视

/>如果键入glances --help,则会发现(-e启用传感器模块(仅Linux))

glances -e






配置文件

您可以设置阈值在Glances配置文件中,在GNU / Linux上,默认配置文件位于/etc/glances/glances.conf中。

客户端/服务器模式

此监视工具的另一个有趣的功能是,您只需键入glances -s就可以在服务器模式下启动它,这将给出类似Glances服务器正在运行的输出在0.0.0.0:61209上,现在您可以使用glances -c @server从另一台计算机连接到该计算机,其中@server是服务器的IP地址或主机名。

Glances使用XML / RPC服务器,并且可以由其他客户端软件使用。
在服务器模式下,可以设置绑定地址(-B ADDRESS)和侦听TCP端口(-p PORT),默认绑定地址为0.0.0.0(Glances将侦听所有网络接口),TCP端口为61209。
在客户端模式下,您可以设置服务器的TCP端口(-p端口)。
在客户端/服务器中模式下,限制由服务器端设置。
版本1.6引入了用于访问服务器的可选密码(-P密码),如果在服务器上进行了设置,则也必须在客户端上使用。

其他来源:PyPI,Github,Linuxaria

更新

例如,监控juju容器的外观大图

在终端中No 1 Glances正在服务器模式下运行,在终端2中,juju容器正在运行apt-get update和In终端3 glances -c 192.168.1.103 Glances已连接到容器ip



Glances CPU使用率

一览本身似乎在内置的系统监视器使用情况图表证明,处于活动状态时CPU利用率会出现相等的峰值。如果图形是准确的-只需看一眼就可以放弃系统上大约1/4的CPU。这对那些正在监视服务器上的CPU负载的人有效。



评论


:),是@ B4NZ41

– Qasim
2014年1月12日在18:23

我见过的最好的工具...

–Dinesh
16年11月15日在18:08

我强烈建议您反对此处建议的“简易”安装方法!从Internet将数据传送到特权的BASH解释器是非常不安全的。如果有人错误配置了DNS或对bit.ly进行了黑客入侵,则可能是在系统中安装了任何东西,而您可能永远不会知道。

–卢克·斯坦利(Luke Stanley)
17-6-27在11:27



我不建议“轻松脚本安装”,仅使用软件包安装。

–巴勃罗·比安奇(Pablo Bianchi)
17-10-11在15:03

要卸载只是sudo pip卸载一览。

–巴勃罗·比安奇(Pablo Bianchi)
17-10-11在17:57

#2 楼

indicator-SysMonitor

Indicator-SysMonitor可以做一点,但是效果很好。安装并运行后,它将在顶部面板上显示CPU和RAM使用情况。简单。



从这里下载

Conky

我个人最喜欢的一个

/>

Screenlet
您可以在screenlets中找到一堆风格各异的CPU和RAM监视器-Ubuntu软件中心提供了所有软件包。



概览

要安装:

sudo apt-get install python-pip build-essential python-dev
sudo pip install Glances
sudo pip install PySensors




VMSTAT

显示有关CPU,内存,进程等的信息。

IOSTAT

此命令行工具将显示有关CPU的统计信息,I / O信息用于您的硬盘分区,网络文件系统(NFS)等。要安装iostat,请运行以下命令:

sudo apt-get install sysstat


要启动报告,请运行以下命令:

iostat


要仅检查CPU统计信息,请使用以下命令:

iostat -c


有关更多参数,请使用此命令:

iostat --help


MPSTAT

mpstat命令行实用程序将显示每个处理器的平均CPU使用率。要运行它,只需使用以下命令:

mpstat


对于每个处理器的CPU使用率,请使用以下命令:

mpstat -P ALL


Saidar

Saidar还允许通过命令行监视系统设备活动。



您可以使用以下命令进行安装:

sudo apt-get install saidar


要开始监视,请运行以下命令:

saidar -c -d 1


统计信息将每秒刷新一次。

GKrellM

GKrellM是具有各种主题的可自定义小部件,可在桌面系统设备上显示信息(CPU,温度,内存,网络等)。



要安装GKrellM,请运行以下命令:

sudo apt-get install gkrellm


Monitorix

Monitorix是另一个具有基于Web的用户界面的应用程序,用于监视系统设备。



使用以下命令安装它:

sudo add-apt-repository ppa:upubuntu-com/ppa
sudo apt-get update
sudo apt-get install monitorix


通过以下URL启动Monitorix:

http://localhost/monitorix/




评论


一览无余。它有时显示的是一些重要日志。在哪里找到问题所在?牛舍原木在哪里?警告|关键日志(最后9个条目)2016-03-23 19:09:48> 2016-03-23 19:09:54 CPU用户(72.7 / 76.6 / 80.6)2016-03-23 19:09:28> 2016-03-23 19:09:32 CPU IOwait(62.5 / 62.5 / 62.5)2016-03-23 19:08:45> 2016-03-23 19:08:48 CPU用户(86.3 / 86.3 / 86.3)〜 2016-03-23 19:08:16> ______加载5分钟(1.0 / 1.1 / 1.2)-顶级进程:php5-cgi 2016-03-23 19:08:09> 2016-03-23 19:08: 19个CPU IOwait(74.3 / 74.6 / 75.0)

–袋鼠
16-3-23在17:09



@Thuener最好在无意义的注释之前阅读和搜索,是的,它是ppa :: upubuntu-com / ppa ...请参阅此链接launchpad.net/~upubuntu-com/+archive/ubuntu/ppa和我想更好地为您删除下降投票:)

– Maythux
16年4月29日在10:58

我一直在使用GKrellM,非常喜欢它,尤其是温度传感器的显示屏。我希望它们是图形的,但是它让我知道我的笔记本电脑的运行状况,因为它有过热的问题。

– Heather92065
16-4-29在19:15



#3 楼

以下是用于监视Linux系统的工具


系统命令,例如topfree -mvmstatiostatiotopsarnetstat等。调试linux实用程序时问题。这些命令为您提供了服务器内部的清晰画面

SeaLion:代理程序执行#1中提到的所有命令(也是用户定义的),并且可以在漂亮的Web界面中访问这些命令的输出。 。当您在数百台服务器上调试时,此工具非常方便,因为安装非常简单。及其免费的

Nagios:它是所有监视/警报工具的源泉。这是非常定制的,但对于初学者来说却很难设置。有称为nagios插件的工具集,几乎涵盖了所有重要的Linux指标
Munin
服务器密度:一种基于云的付费服务,可收集重要的Linux指标并为用户提供编写自己的插件的能力。
New Relic:另一个众所周知的托管监视服务。
Zabbix


#4 楼

在过去的几年中,我使用过:
系统负载指示器

可从软件中心获得

评论


不错的一个:系统负载指示器

– Qasim
14年2月22日在21:52

#5 楼

顶部

顶部是监视软件,列出了所有进程的CPU / RAM使用情况,CPU / RAM总体使用情况以及更多信息
并且默认情况下大多数情况下会安装

htop

htop就像top的扩展版本。它具有上面的所有功能,但您可以看到子进程并自定义所有内容的显示。它还具有颜色。

iotop

iotop专门用于监视硬盘驱动器I / O
,它列出了所有进程并显示其硬盘驱动器的读写用途。 。

评论


热量监测在哪里?并且在您的答案中,您已经包含3个实用程序...检查问题**我正在寻找具有某些基本功能的单个工具**

– Qasim
13年5月10日在10:54



使用这三种工具,我只是为OP提供了不同的选择,但我很遗憾地说,这些工具都没有热量监控功能

–́BeryJu
13年5月10日在10:59

至少您已经尝试回答这个问题...谢谢

– Qasim
13年5月10日在11:23

谷歌(Saidar ubuntu)

– Qasim
13年5月10日在13:11

#6 楼

您可能要尝试sysmon。尽管不像Glances那样花哨,但它非常简单易用。

如果您想变得肮脏并用python做一些脚本编写,那么以下是一些使用Python进行系统监视的基础知识,以帮助您入门。

您需要一个外部工具。名为psutil的模块可以监视大多数东西。

注意:这些示例是用Python 2.7编写的。

sudo apt-get install pip
sudo pip install psutil


现在,我们已经安装了模块,就可以开始编码了。

首先,创建一个名为usage.py的文件。

gedit ~/usage.py


首先导入psutil

import psutil


然后创建一个函数来监视CPU内核运行的百分比。

 def cpu_perc(): 

    cpu_perc = psutil.cpu_percent(interval=1, percpu=True) 
    for i in range(len(cpu_perc)):
        print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"
 


让我们分解一下吧?

第一行cpu_num = psutil.cpu_percent(interval=1, percpu=True)查找CPU中内核运行的百分比,并将其分配给名为cpu_perc的列表。 br />
这里的循环

 for i in range(len(cpu_num)):
    print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"
 


是一个for循环,打印出每个CPU内核的当前百分比。

添加RAM使用率。

创建一个名为ram_perc的函数。

 def ram_perc():
    mem = psutil.virtual_memory()
    mem_perc = mem.percent
    print "RAM: ", mem_perc, "%"
 


psutil.virtual_memory提供了一个数据集,其中包含有关计算机RAM的不同事实。

接下来,您可以添加一些关于您的事实r网络。

 def net():
    net = psutil.net_io_counters()
    mbytes_sent = float(net.bytes_sent) / 1048576
    mbytes_recv = float(net.bytes_recv) / 1048576
    print "MB sent: ", mbytes_sent
    print "MB received: ", mbytes_recv
 


因为psutil.net_io_counters()仅向我们提供了有关以字节为单位发送和接收的数据包的信息,则需要进行一些转换。

要获取有关交换空间的一些信息,请添加此函数。

 def swap_perc():
    swap = psutil.swap_memory()
    swap_perc = swap.percent
 


这很简单。

温度是很难做到的,因此您可能需要做一些自己的研究才能弄清楚什么将对您的硬件起作用。
您将不得不显示某个文件的内容。
< br磁盘使用比温度容易得多。您需要做的就是通过特定功能传递要监视的磁盘(即:/)。

 def disks():
    if len(sys.argv) > 1:
        for disk in range(1, len(sys.argv)):
            tmp = psutil.disk_usage(sys.argv[disk])
            print sys.argv[disk], "\n"
            print "Megabytes total: ",
            print str(float(tmp.total) / 1048576)
            print "Megabytes used: ",
            print str(float(tmp.used) / 1048576)
            print "Megabytes free: ",
            print str(float(tmp.free) / 1048576)
            print "Percentage used: ",
            print tmp.percent, "\n"
 


psutil.disk_usage的原始输出是这样的,

>>>psutil.disk_usage('/')
sdiskusage(total=21378641920, used=4809781248, free=15482871808, percent=22.5)


,但是您也可以只接收totalusedfreepercent
/>
完成的程序:(结合了上述功能)

 import psutil, os, sys
mem_perc = 0 #init var
swap_perc = 0 #init var
mbytes_sent = 0 #init var
mbytes_recv = 0 #init var
cpu_perc = 0 #init var
swap = 0 #init var
mem = 0 #init var
net = 0 #init var



def disp(degree):
    global cpu_perc
    global swap
    global swap_perc
    global mem
    global mem_perc
    global net
    global mbytes_sent
    global mbytes_recv

    cpu_perc = psutil.cpu_percent(interval=1, percpu=True)
    swap = psutil.swap_memory()
    swap_perc = swap.percent
    mem = psutil.virtual_memory()
    mem_perc = mem.percent
    net = psutil.net_io_counters()
    mbytes_sent = float(net.bytes_sent) / 1048576
    mbytes_recv = float(net.bytes_recv) / 1048576

    os.system('clear') #clear the screen

    print "-"*30
    print "CPU"
    print "-"*30
    print "CPU Temperature: " , degree, "'C"
    for i in range(len(cpu_perc)):
        print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"

    print "-"*30
    print "MEMORY"
    print "-"*30
    print "RAM: ", mem_perc, "%"
    print "Swap: ", swap_perc, "%"
    print "-"*30
    print "NETWORK"
    print "-"*30
    print "MB sent: ", mbytes_sent
    print "MB received: ", mbytes_recv
    print "-"*30
    print "DISKS"
    print "-"*30

    if len(sys.argv) > 1:
        for disk in range(1, len(sys.argv)):
            tmp = psutil.disk_usage(sys.argv[disk])
            print sys.argv[disk], "\n"
            print "Megabytes total: ",
            print str(float(tmp.total) / 1048576)
            print "Megabytes used: ",
            print str(float(tmp.used) / 1048576)
            print "Megabytes free: ",
            print str(float(tmp.free) / 1048576)
            print "Percentage used: ",
            print tmp.percent, "\n"

def main():
    print("Press Ctrl+C to exit")
    while True:
        temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C')
        temp = float(temp) / 1000
        disp(temp)

main()
 


temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C')可能不适用于您的硬件配置。

从命令行运行该程序。从命令行将要监视的磁盘作为参数传递。

$ python usage.py /

Press Ctrl+C to exit

------------------------------
CPU
------------------------------
CPU Temperature:  39.0 'C
CPU Core 1 : 4.8 %
CPU Core 2 : 1.0 %
CPU Core 3 : 0.0 %
CPU Core 4 : 4.9 %
------------------------------
MEMORY
------------------------------
RAM:  33.6 %
Swap:  6.4 %
------------------------------
NETWORK
------------------------------
MB sent:  2.93382358551
MB received:  17.2131490707
------------------------------
DISKS
------------------------------
/ 

Megabytes total:  13952.484375
Megabytes used:  8542.6640625
Megabytes free:  4678.5703125
Percentage used:  61.2 

/media/calvin/Data 

Megabytes total:  326810.996094
Megabytes used:  57536.953125
Megabytes free:  269274.042969
Percentage used:  17.6 


希望有帮助!如有任何问题请发表评论。

https://github.com/calthecoder/sysmon-1.0.1

评论


尽管此链接可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。如果链接的页面发生更改,仅链接的答案可能会失效。

–罗恩
15年6月14日在9:38

@Ron-好的,我将在我的帖子中添加一个编辑,并在几天之内显示sysmon的基本脚本部分。感谢您的建议!

– Calvin k
15年6月15日在21:01

请访问meta.askubuntu.com/questions/13900/…。您到底尝试了什么?

–muru
15年6月19日在11:45

@muru-没关系,现在可以正常工作。感谢您的链接!

– Calvin k
2015年6月20日12:18



@muru-但是,为回答您的问题,我在代码块中以三个反引号开头,然后是我希望突出显示语法的语言,最后以三个反引号结尾。

– Calvin k
15年6月20日在12:27

#7 楼

软件包systat拥有一个名为sar的工具,它可以满足您的所有需求。它还可以收集历史数据,以便您可以看到一段时间前发生的事情。

评论


thegeekstuff.com/2011/03/sar-examples

– Qasim
13年5月10日在14:03

#8 楼

SeaLion可以是方便的工具,因为它具有监视服务器性能的内置命令,还可以添加自己的自定义命令,脚本和日志输出。
很容易设置并找出在特定时间出了什么问题。



#9 楼

有一个名为gnome-system-monitor的内置工具。它可以完成您提到的所有内容,除了热量监控。

#10 楼

我建议http://conky.sourceforge.net/

非常容易配置并且资源使用最少。

评论


尽管从理论上讲这可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。

–沃伦·希尔
13年5月27日在12:50



#11 楼

Nagios似乎是最受欢迎和最可定制的,但是我不会为GUI选择它。

Zabbix的开源解决方案可以监视您提到的所有内容,并提供基于时间的图表进行性能监视。

如果您正在寻找更干净的GUI,请查看Zenoss。 Zenoss是一个基于Web的开源工具,但是通过其专有工具提供服务分析和根本原因分析。

#12 楼



free命令是最简单易用的命令,用于检查linux / ubuntu上的内存使用情况。

free -m



要检查内存使用情况,请读取/proc/meminfo文件。

cat /proc/meminfo



带有vmstat选项的s命令。

vmstat -s
<


top命令通常用于检查每个进程的内存和cpu使用情况。

top



htop命令还显示内存使用情况以及其他各种详细信息。

htop



了解有关已安装RAM的硬件信息。

sudo dmidecode -t 17




评论


我爱htop!简单而足够好。

–浅蓝点
17年5月1日下午14:37

#13 楼

我喜欢使用conky,可以根据自己的喜好对其进行配置:



您可以在Google conky上搜索并找到78.7万次匹配。每个人都有东西。

在显示顶部注意“锁定屏幕:4分钟亮度:2074”。这些是由“ Indicator-Sysmonitor”生成的,它允许您使用bash脚本在系统托盘/应用程序指示器上显示。

有关设置“ Indicator-Sysmonitor”的教程,请参见:BASH可以在以下位置显示吗? systray作为应用程序指示符?

#14 楼

检查eginnovations Linux监视工具-http://www.eginnovations.com/web/linux-server-monitoring.htm

基于Web,易于安装,甚至支持Linux虚拟化。 >

#15 楼

我认为您应该看看AppPerfect的无代理监视器,它涵盖了监视的各个方面,例如JAVA / J2EE应用程序监视,服务器监视,数据库监视,事务监视,网络监视,日志监视和系统监视。
它是免费且易于使用的。

#16 楼

就我而言,此链接的答案对我很有帮助。

曾经是Windows用户?您可能需要与Windows Task Manager等效的Ubuntu,并通过Ctrl + Alt + Del组合键将其打开。

Ubuntu具有内置的实用程序,可以监视或杀死系统运行的进程,其行为类似于“ “任务管理器”,称为系统监视器。默认情况下,Ctrl + Alt + Del快捷键用于在Ubuntu Unity Desktop上弹出注销对话框。对于习惯于快速访问任务管理器的用户而言,它没有用。

要更改键的设置,请从Unity Dash打开“键盘”实用程序(或“系统设置”->“键盘”)。 br />
在“快捷方式”选项卡->“自定义快捷方式”上,单击加号图标可添加快捷方式。输入名称“任务管理器”并命令gnome-system-monitor。



添加后,单击显示“禁用”的位置,然后按Ctrl + Alt + Delete 。您将看到一个对话框,提示“快捷键…已用于注销”,单击“重新分配”,您就完成了!