有哪些系统监控工具可用?

Qas*_*sim 162 gui command-line system monitoring software-recommendation

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

  • CPU使用率
  • 内存使用
  • 交换使用
  • 磁盘使用(空间/ I/O)
  • 热量监测

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

Qas*_*sim 191

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
Run Code Online (Sandbox Code Playgroud)

或者

wget -O- https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | sudo /bin/bash
Run Code Online (Sandbox Code Playgroud)

手动安装

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
Run Code Online (Sandbox Code Playgroud)

基本用法

要开始,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)
Run Code Online (Sandbox Code Playgroud)

当 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
Run Code Online (Sandbox Code Playgroud)

Cpu , Ram , Swap 监控

截屏

磁盘监控

截屏

系统热量监测

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

glances -e
Run Code Online (Sandbox Code Playgroud)

截屏

截屏

配置文件

您可以在 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 密码),如果在服务器上设置,也必须在客户端上使用。

其他来源: PyPIGithubLinuxaria

更新

监控 juju 容器只是例如事情看起来像大图像

在 1 号终端 Glances 以服务器模式运行,在 2 号终端 juju 容器正在运行apt-get update& 在终端 3 glances -c 192.168.1.103Glances 连接到容器 ip

截屏

概览 CPU 使用率

Glances 本身似乎在处于活动状态时需要 CPU 使用率的周期峰值,正如内置的系统监视器使用率图所证明的那样。如果图表是准确的 - 那么通过使用一瞥,人们会放弃系统上大约 1/4 的 CPU。这对那些监视服务器上的 CPU 负载的人有效。

一瞥CPU使用率

  • 我见过的最好的工具...... (4认同)
  • [卸载](https://askubuntu.com/a/964010/349837) 只需`sudo pip uninstalllances`。 (3认同)
  • 我强烈建议不要使用此处建议的“简单”安装方法!将数据从 Internet 传送到特权 BASH 解释器是非常不安全的。如果有人错误地配置了 DNS,或者攻击了 bit.ly,你可能会在你的系统中安装任何东西,而你可能永远不会知道。 (2认同)
  • 我**不推荐**“简易脚本安装”,只使用包安装。 (2认同)

May*_*hux 36

指标-SysMonitor

Indicator-SysMonitor 做的很少,但做得很好。安装并运行后,它会在顶部面板上显示 CPU 和 RAM 使用情况。简单的。

在此处输入图片说明

这里下载

康基

我个人的最爱之一

在此处输入图片说明

Screenlet 您会在 Ubuntu 软件中心提供的 screenlets-all 软件包中找到许多不同风格的 CPU 和 RAM 监视器。

在此处输入图片说明

一瞥

安装:

sudo apt-get install python-pip build-essential python-dev
sudo pip install Glances
sudo pip install PySensors
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

虚拟机状态

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

IOSTAT

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

sudo apt-get install sysstat
Run Code Online (Sandbox Code Playgroud)

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

iostat
Run Code Online (Sandbox Code Playgroud)

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

iostat -c
Run Code Online (Sandbox Code Playgroud)

如需更多参数,请使用以下命令:

iostat --help
Run Code Online (Sandbox Code Playgroud)

MPSTAT

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

mpstat
Run Code Online (Sandbox Code Playgroud)

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

mpstat -P ALL
Run Code Online (Sandbox Code Playgroud)

赛达

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

在此处输入图片说明

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

sudo apt-get install saidar
Run Code Online (Sandbox Code Playgroud)

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

saidar -c -d 1
Run Code Online (Sandbox Code Playgroud)

统计数据将每秒刷新一次。

克雷尔

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

在此处输入图片说明

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

sudo apt-get install gkrellm
Run Code Online (Sandbox Code Playgroud)

监控器

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

在此处输入图片说明

使用以下命令安装它:

sudo add-apt-repository ppa:upubuntu-com/ppa
sudo apt-get update
sudo apt-get install monitorix
Run Code Online (Sandbox Code Playgroud)

通过此 URL 启动 Monitorix:

http://localhost/monitorix/
Run Code Online (Sandbox Code Playgroud)

 


小智 25

以下是监控linux系统的工具

  1. 系统命令一样topfree -mvmstatiostatiotopsarnetstat等没有来到附近这些Linux工具,当你正在调试一个问题。这些命令为您提供服务器内部的清晰图片
  2. SeaLion:代理执行 #1 中提到的所有命令(也是用户定义的),并且可以在漂亮的 Web 界面中访问这些命令的输出。当您在数百台服务器上进行调试时,这个工具会派上用场,因为安装非常简单。而且它是免费的
  3. Nagios:它是所有监控/警报工具之母。这是非常多的定制,但对于初学者来说设置起来非常困难。有一组称为 nagios 插件的工具,涵盖了几乎所有重要的 Linux 指标
  4. 穆宁
  5. 服务器密度:一种基于云的付费服务,可收集重要的 Linux 指标并让用户能够编写自己的插件。
  6. New Relic:另一个众所周知的托管监控服务。
  7. 扎比克斯


dav*_*id6 13

在过去的几年里,我使用了:

系统负载指示器

在此处输入图片说明

可从软件中心获得


Ber*_*yJu 8

最佳

顶部是监控软件,列出所有进程的 CPU/RAM 使用情况、总体 CPU/RAM 使用情况等此外,它主要是默认安装的

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

iotop 专门用于监控硬盘 I/O 它列出所有进程并显示它们的硬盘驱动器使用情况进行读写。


小智 6

您可能想尝试sysmon。虽然不像 Glances 那样花哨,但它非常简单易用。

如果您想在 python 中弄脏并编写一些脚本,这里有一些使用 Python 进行系统监控的基础知识,以帮助您入门。

你需要一个外部模块psutil来监控大多数事情。使用外部模块安装程序而不是从源代码构建是最简单的。

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

sudo apt-get install pip
sudo pip install psutil
Run Code Online (Sandbox Code Playgroud)

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

首先,创建一个名为usage.py.

gedit ~/usage.py
Run Code Online (Sandbox Code Playgroud)

从导入开始 psutil

import psutil
Run Code Online (Sandbox Code Playgroud)

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

sudo apt-get install pip
sudo pip install psutil
Run Code Online (Sandbox Code Playgroud)

让我们把它分解一下,好吗?

第一行cpu_num = psutil.cpu_percent(interval=1, percpu=True)找出 CPU 中内核运行的百分比,并将其分配给名为 的列表cpu_perc

这个循环就在这里

gedit ~/usage.py
Run Code Online (Sandbox Code Playgroud)

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

让我们添加 RAM 使用量。

创建一个名为 的函数ram_perc

import psutil
Run Code Online (Sandbox Code Playgroud)

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

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

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]), "%"
Run Code Online (Sandbox Code Playgroud)

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

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

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

这个很简单。

温度有点难做到,所以你可能需要自己做一些研究来弄清楚什么适合你的硬件。您必须显示某个文件的内容。

磁盘使用比温度容易得多。您需要做的就是/通过某个函数传递要监视的磁盘(即:)。

def ram_perc():
    mem = psutil.virtual_memory()
    mem_perc = mem.percent
    print "RAM: ", mem_perc, "%"
Run Code Online (Sandbox Code Playgroud)

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

>>>psutil.disk_usage('/')
sdiskusage(total=21378641920, used=4809781248, free=15482871808, percent=22.5)
Run Code Online (Sandbox Code Playgroud)

但您也可以只接收total, used, free, 或percent

完成的程序:(将上述功能结合起来)

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
Run Code Online (Sandbox Code Playgroud)

该线路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 
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助!如果您有任何问题,请发表评论。

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


cam*_*raj 5

我很惊讶地发现没有像Windows任务管理器这样简单、优雅、先进的GUI系统监视器。KDE 中的 KSysGaurd 很棒,但需要插件才能在没有它的情况下安装新功能,类似于 gnome-system-monitor。KSysGaurd 有高级选项,但不是很简单。就我个人而言,我不喜欢 KSysGaurd 和 Gnome 系统监视器。

我尝试创建一个简单优雅的 GUI,如 Windows 任务管理器。查看我的方法: https: //github.com/KrispyCamel4u/SysMonTask

一些亮点是: CPU性能选项卡 GPU 性能选项卡

更新:现在我已经在1.1.0版本中添加了用户进程

我已经过滤掉了后台进程(有一些例外),并仅显示特定于用户的进程(像 Windows 中的用户父进程和子进程),这使得您可以轻松地发现您感兴趣的进程,而不是从所有进程池中查找gnome-system-monitor 显示的进程。

此外,它还包括所有进程的聚合(在列标题上)。

过程

只有少数进程是后台但仍然出现:例外:(

最欢迎提出改进建议。

谢谢

  • 你的答案不应该太接近底部,因为它是最好的 (2认同)