什么是 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源
#wget https://mirrors.aliyun.com/epel/6Server/x86_64/epel-release-6-8.noarch.rpm
#rpm -ivh epel-release-6-8.noarch.rpm
2)安装glances
#yum -y install glances
3)如果需要web页面监控,需安装web客户端工具
#pip install bottle
4)如果要输出温度,需要lm_sensors的支持
#pip install pysensors
#yum -y install lm_sensors
Glances自动安装脚本
#curl -L https://bit.ly/glances | / bin / bash
或
#wget -O- https://bit.ly/glances | / bin / bash
如何使用 Glances
1)命令行直接使用glances命令,(Glances 的默认刷新频率是 1 (秒),但是你可以通过在终端指定参数来手动定义其刷新频率)如图:
2)输出为html格式,配置web server展出
- # pip-python install jinja2
- # glances -o HTML -f /var/www/html
注:输出html格式时,需要jinja2的支持,需要先安装依赖。默认输出的文件名是glances.html,可以通过http://IP/glances.html访问。
3)服务端按下面的命令启动glances
# glances -s -B 192.168.10.16
客户端查看
# glances – c 192.168.10.16
4)使用以下命令将RAW JSON统计信息直接显示到stdout
#glances --stdout cpu.user,mem.used,load
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 : 显示版本信息