Glances - 一个用于Linux的高级实时系统监控工具
概述
在top命令是在Linux中实时任务管理器和GNU / Linux发行版中最常用的系统监视工具来发现系统性能相关的瓶颈,帮助我们采取纠正措施。 它有一个很好的简约接口,配备少量的合理选项,使我们能够更快地了解整体系统性能。然而,有时它查找一个消耗大量系统资源的应用程序/进程是非常麻烦的, 因为top命令降低了消耗过多的CPU,RAM,其他资源的程序的能力。
为了实现这个目标,今天就介绍一款很强大的工具--Glances,可自动突出显示正在使用最高的系统资源,并提供最大的关于Linux / Unix服务器信息的程序。
一、什么是 Glances?
Glances 是一个由 Python 编写,使用 psutil 库来从系统抓取信息的基于 curses 开发的跨平台命令行系统监视工具。
通过 Glances,我们可以监视 CPU,平均负载,内存,网络流量,磁盘 I/O,其他处理器 和 文件系统 空间的利用情况。
Glances 是一个用来监视 GNU/Linux 和 FreeBSD 操作系统的 GPL 授权的自由软件。
Glances 同时也提供了很多实用的选项。 其中我们能够在配置文件见到的一项主要的功能就是设 置关键值及相应的标签 (careful[小心], warning[警告] 和 critical[严重]), 然后她会自动帮我们用不同颜色标出系统达到某个瓶颈的信息。
二、Glances 主要功能
- CPU 信息 (用户的相关应用, 系统核心程序和空闲程序)
- 总内存信息,包括了物理内存,交换空间和空闲内存等等
- 之前的 1 分钟、5 分钟和 15 分钟平均的 CPU 负载
- 网络链接的下行和上行速度
- 处理器总数,以及其活动状态
- 硬盘 I/O 相关(读写)速度详情
- 当前挂载设备的磁盘使用情况
- 高 CPU 和内存使用的进程名,和相关应用的位置
- 在底部显示当前日期和时间
- 将消耗最高系统资源的进程用红色标出
三、Glances 中颜色含义
Glances 会用以下几种颜色来代表状态:
· 绿色:OK(一切正常)
· 蓝色:CAREFUL(需要注意)
· 紫色:WARNING(警告)
· 红色:CRITICAL(严重)
阀值可以在配置文件中设置,一般阀值被默认设置为(careful=50、warning=70、critical=90)。
我们可以按照自己的需求在配置文件(默认在 /etc/glances/glances.conf)中自定义。
四、Glances安装
官网文档:https://glances.readthedocs.io/en/latest/install.html
glances在epel源就有,所以安装很简单,配置好epel源就可以使用yum安装了。
1、下载安装epel源
#yum -y install epel-release
2、安装glances
#yum -y install glances
3、如果需要web页面监控,需安装web客户端工具
#pip install bottle
五、Glances 的选项
glances 是一个命令行工具包括如下命令选项:
-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 : 显示版本信息
六、 Glances用法
1、命令行直接使用glances命令
Glances 的默认刷新频率是 1(秒),但是可以通过在终端指定参数(t)来手动定义其刷新频率。
按“Q”或(“ESC”键或“Ctrl键和C'也适用)从终端退出
glances -t 2
glances 工作界面的说明 :
在图 的上部是 CPU 、Load(负载)、Mem(内存使用)、 Swap(交换分区)的使用情况。在图的中上部是网络接口、Processes(进程)的使用情况。通常包括如下字段:
VIRT: 虚拟内存大小
RES: 进程占用的物理内存值
%CPU:该进程占用的 CPU 使用率
%MEM:该进程占用的物理内存和总内存的百分比
PID: 进程 ID 号
USER: 进程所有者的用户名
TIME+: 该进程启动后占用的总的 CPU 时间
IO_R 和 IO_W: 进程的读写 I/O 速率
NAME: 进程名称
NI: 进程优先级
S: 进程状态,其中 S 表示休眠,R 表示正在运行,Z 表示僵死状态。
在图 的中下部是传感器检测到的 CPU 温度。 在图的下部是磁盘 I/O 的使用情况。 另外 glances 可以使用交互式的方式运行该工具,用户可以使用如下快捷键:
h : 显示帮助信息
q : 离开程序退出
c :按照 CPU 实时负载对系统进程进行排序
m :按照内存使用状况对系统进程排序
i:按照 I/O 使用状况对系统进程排序
p: 按照进程名称排序
d : 显示磁盘读写状况
w : 删除日志文件
l :显示日志
s: 显示传感器信息
f : 显示系统信息
1 :轮流显示每个 CPU 内核的使用情况(次选项仅仅使用在多核 CPU 系统)
2、输出为html格式,配置web server展出
# pip install jinja2 或者yum -y install python-jinja2 # glances -o HTML -f /var/www/html
注:输出html格式时,需要jinja2的支持,需要先安装依赖。默认输出的文件名是glances.html,可以通过http://IP/glances.html访问。
这个命令还是很有用的,建议大家重点掌握,后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以一起学习~