Python开发的系统监视工具:Glances
Glances是一款由Python开发的系统监视工具,可以实时查看CPU、内存、网络、IO等资源的使用情况。除了通过终端查看,Glances还提供了网页版,使用起来比top命令要方便。官网:https://github.com/nicolargo/glances
安装Glances
安装很简单,以Alibaba Cloud Linux 3为例,运行下面语句即可
yum install glances
上述安装如果出现如下错误:
需要安装python-psutil,版本2.0.0以上,下面是安装步骤:
wget https://files.pythonhosted.org/packages/d6/0f/96b7309212a926c1448366e9ce69b081ea79d63265bde33f11cc9cfc2c07/psutil-5.9.5.tar.gz
tar xf psutil-5.9.5.tar.gz
cd psutil-5.9.5
python3 setup.py install
如果上述安装出现如下错误:
执行如下命令,即可解决:
yum install gcc python3-devel python3-pip -y
python3 setup.py install #再次执行安装
pip3 install -U pip #更新pip3
接着我们再安装glances
pip3 install galnces
使用Glances
直接输入以下命令,即可查看,如果要退出,按 Ctrl + C 或者 q 或者 esc 。
glances
在界面的左上角,我们可以查看hostname、系统版本和内核信息,右上角是系统运行时间,下面一行就是CPU、内存、SWAP和系统负载。左侧是网络、磁盘IO、文件系统和传感器的相关信息,右侧是任务信息和详细的进程对系统资源的占用。根据不同的系统配置,显示的内容会稍有不同。
Glances使用不同的颜色表示不同的状态,绿色表示运行良好;蓝色表示注意,可能占用资源比较多了,以后可能会出现问题;紫色表示警告;红色表示严重了,需要采取行动,在界面的最下面一行会有提醒,示例中显示的是没监测到任何警告和严重的信息。
快捷键
在运行Glances的时候,可以使用快捷键进行高级的操作。具体的操作快捷键我们以使用字母 h 进行查询,再按一次 h 退出。具体的快捷键列表情况下面截图:
a:自动排序进程
c:按 CPU 使用率排序进程
m:按内存占用排序进程
p:按名称排序进程
i:按 I/O 速率排序进程
d:显示或隐藏磁盘 I/O 统计
f:显示或隐藏文件系统使用统计
n:显示或隐藏网络流量统计
s:显示或隐藏传感器数据统计
l:显示或隐藏日志
h:显示帮助信息
q:退出
搜索、过滤进程
在运行Glances的时候,我们按 Enter 回车键,会跳出一个搜索框,我们可以根据示例输入关键字查找进程,也可以使用正则表达式、用户名等进行搜索。
输入搜索条件之后,按 Enter 回车键,Glances会显示相关进程,如果想查看该进程的详细信息,按字母 e 。退出进程查找,返回原来界面,按大写字母 E。
网页版查看结果
glances -w
运行该命令之后,我们就可以通过 http://<server-ip>:61208 进行查询,如果要把页面的刷新时间改成5秒,可以使用 http://<server-ip>:61208/5 这种形式。注意,网页版使用61208端口,需要在防火墙先打开这个端口。
在运行网页版的时候,可能会提示“ CRITICAL: Bottle module not found. Glances cannot start in web server mode. ”,在Alibaba Cloud Linux 3 里运行下面命令安装即可:
yum install python3-bottle
将 WebServer 模式配置为系统服务
创建 Unit 文件
vim /etc/systemd/system/glancesweb.service
文件内容如下:
Description = Glances in Web Server Mode
After = network.target
ExecStart = /usr/bin/glances -w -t 5 # glances路径因安装方法不同根据实际情况确定,可使用 which glances 命令获取
WantedBy = multi-user.target
启用 systemd 服务并运行
systemctl enable glancesweb
systemctl start glancesweb
systemctl status glancesweb
● glancesweb.service - Glances in Web Server Mode
Loaded: loaded (/etc/systemd/system/glancesweb.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2023-07-07 00:02:17 CST; 8min ago
Main PID: 27912 (glances)
Tasks: 1 (limit: 4915)
CGroup: /system.slice/glancesweb.service
└─27912 /home/starky/miniconda3/envs/python2/bin/python /home/starky/miniconda3/envs/python2/bin/glances -w -t 5
页:
[1]