Python开发的系统监视工具:Glances

文章目录

Glances是一款由Python开发的系统监视工具,可以实时查看CPU、内存、网络、IO等资源的使用情况。除了通过终端查看,Glances还提供了网页版,使用起来比top命令要方便。

glances.jpg

官网:https://github.com/nicolargo/glances

安装Glances

安装很简单,以Alibaba Cloud Linux 3为例,运行下面语句即可

yum install glances

使用Glances

直接输入以下命令,即可查看,如果要退出,按 Ctrl + C 或者 q 或者 esc

glances

Glances运行界面

在界面的左上角,我们可以查看hostname、系统版本和内核信息,右上角是系统运行时间,下面一行就是CPU、内存、SWAP和系统负载。左侧是网络、磁盘IO、文件系统和传感器的相关信息,右侧是任务信息和详细的进程对系统资源的占用。根据不同的系统配置,显示的内容会稍有不同。

Glances使用不同的颜色表示不同的状态,绿色表示运行良好;蓝色表示注意,可能占用资源比较多了,以后可能会出现问题;紫色表示警告;红色表示严重了,需要采取行动,在界面的最下面一行会有提醒,示例中显示的是没监测到任何警告和严重的信息。

快捷键

在运行Glances的时候,可以使用快捷键进行高级的操作。具体的操作快捷键我们以使用字母 h 进行查询,再按一次 h 退出。具体的快捷键列表情况下面截图:

Glances交互命令

  • a:自动排序进程
  • c:按 CPU 使用率排序进程
  • m:按内存占用排序进程
  • p:按名称排序进程
  • i:按 I/O 速率排序进程
  • d:显示或隐藏磁盘 I/O 统计
  • f:显示或隐藏文件系统使用统计
  • n:显示或隐藏网络流量统计
  • s:显示或隐藏传感器数据统计
  • l:显示或隐藏日志
  • h:显示帮助信息
  • q:退出

搜索、过滤进程

在运行Glances的时候,我们按 Enter 回车键,会跳出一个搜索框,我们可以根据示例输入关键字查找进程,也可以使用正则表达式、用户名等进行搜索。

Glance进程搜索过滤

输入搜索条件之后,按 Enter 回车键,Glances会显示相关进程,如果想查看该进程的详细信息,按字母 e 。退出进程查找,返回原来界面,按大写字母 E。

Glances显示进程详细信息

网页版查看结果

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

文件内容如下:

[Unit]
Description = Glances in Web Server Mode
After = network.target
[Service]
ExecStart = /usr/bin/glances  -w  -t  5  # glances路径因安装方法不同根据实际情况确定,可使用 which glances 命令获取
[Install]
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 2018-08-21 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
8月 21 00:02:17 starky-ThinkPad-T460 systemd[1]: Started Glances in Web Server Mode.
全部为采集文章,文中的 联系方式 均不是 本人 的!

发表评论