Glances系统监控工具

Glances 实时系统监控工具

Glances 是一款用于 Linux、BSD 的跨平台的、基于命令行的系统监视工具,由 Python 语言编写,使用 Python 的 psutil 库来抓取系统数据。可以监控 CPU、负载均衡、内存、网络设备、磁盘 I/O、进程和文件系统使用等。本文介绍 glances 的使用方法和技巧,帮助 Linux 使用者了解掌握服务器性能。

一、输出信息概览

glances 可以为 Unix 和 Linux 运维人员提供监视和分析性能数据的功能,其中包括:

  • CPU 使用率
  • 内存使用情况
  • 内核统计信息和运行队列信息
  • 磁盘 I/O 速度、传输和读/写比率
  • 文件系统中的可用空间
  • 磁盘适配器
  • 网络 I/O 速度、传输和读/写比率
  • 页面空间和页面速度
  • 消耗资源最多的进程
  • 计算机信息和系统资源

glances 工具可以实时显示重要的系统信息,并动态地更新。glances 在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新。可以将这个时间间隔更改为更长或更短的数值。glances 工具还可以将相同的数据捕获到一个文件,便于以后对报告进行分析和绘制图形。输出文件可以是电子表格 (.csv) 或者 html 格式。

二、软件安装

安装所需要的依赖

  • python 2.7,>=3.4
  • psutil>=5.3.0 (better with latest version)

Glances 一般已集成到大多数 Linux 发行版的官方软件源中。可以直接使用系统的包管理器(如 apt-get、yum)安装:

1
`sudo apt-get install glances

`
也可以使用 Python 的包管理器(pip 命令)进行安装:

1
2
apt-get install -y python-pip`
pip install glances`

Glances 有 4 种颜色标记,分别表示不同的紧急程度:

  • 绿色:OK
  • 蓝色:CAREFUL
  • 紫色:WARNING
  • 红色:CRITICAL

默认为 careful = 50、warning = 70、critical = 90 。

三、命令选项(热键)

glances 包括如下命令选项:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-b:显示网络连接速度 Byte/ 秒
-B @IP|host :绑定服务器端 IP 地址或者主机名称
-c @IP|host:连接 glances 服务器端
-C file:设置配置文件默认是 /etc/glances/glances.conf
-d:关闭磁盘 I/O 模块
-e:显示传感器温度
-f file:设置输出文件(格式是 HTML 或者 CSV)
-m:关闭挂载的磁盘模块
-n:关闭网络模块
-p PORT:设置运行端口默认是 61209
-P password:设置客户端 / 服务器密码
-s:设置 glances 运行模式为服务器
-t sec:设置屏幕刷新的时间间隔,单位为秒,默认值为 2 秒,数值许可范围:1~32767
-h : 显示帮助信息
-v : 显示版本信息

默认情况下,监控信息的刷新时间为 1 秒钟。可以使用 -t 选项自定义间隔时间:

1
glances -t 2

glances 可以使用交互式的方式运行该工具,可以使用如下快捷键:

1
2
3
4
5
6
7
8
9
10
11
12
h : 显示帮助信息
q : 离开程序退出
c :按照 CPU 实时负载对系统进程进行排序
m :按照内存使用状况对系统进程排序
i:按照 I/O 使用状况对系统进程排序
p: 按照进程名称排序
d : 显示磁盘读写状况
w : 删除日志文件
l :显示日志
s: 显示传感器信息
f : 显示系统信息
1 :轮流显示每个 CPU 内核的使用情况(次选项仅仅使用在多核 CPU 系统)

四、显示界面

显示界面基本上可以分为3块
在图的上部是 CPU 、Load(负载)、Mem(内存使用)、 Swap(交换分区)的使用情况。
在图的左下部是磁盘 I/O 的使用情况。
在图的右下部是网络接口、Processes(进程)的使用情况。通常包括如下字段:

1
2
3
4
5
6
7
8
9
10
11
VIRT: 虚拟内存大小
RES: 进程占用的物理内存值
%CPU:该进程占用的 CPU 使用率
%MEM:该进程占用的物理内存和总内存的百分比
PID: 进程 ID 号
USER: 进程所有者的用户名
TIME+: 该进程启动后占用的总的 CPU 时间
IO_R 和 IO_W: 进程的读写 I/O 速率
NAME: 进程名称
NI: 进程优先级
S: 进程状态,其中 S 表示休眠,R 表示正在运行,Z 表示僵死状态。

五、输出到文件

安装依赖库

1
pip install Jinja2

文件采用逗号分隔值(CSV)的格式

1
glances --export-csv ./glances.csv
0%