共计 4048 个字符,预计需要花费 11 分钟才能阅读完成。
一、glances 介绍
glances是一个基于 python 语言开发,可以为 linux 或者 UNIX 性能 提供监视和分析性能数据 的功能。glances 在用户的终端上显示重要的系统信息,并动态的进行更新,让管理员实时掌握系统资源的使用情况,而动态监控并不会消耗大量的系统资源,比如 CPU 资源,通常消耗小于 2%,glances 默认每两秒更新一次数据。同时 glances 还可以将相同的数据捕获到一个文件,便于以后对报告进行分析和图形绘制,支持的文件格式有.csv 电子表格格式和和 html 格式。
glances 可以分析系统的:
- CPU 使用率
- 内存使用率
- 内核统计信息和运行队列信息
- 磁盘 I / O 速度、传输和读 / 写比率
- 磁盘适配器
- 网络 I / O 速度、传输和读 / 写比率
- 页面监控
- 进程监控 - 消耗资源最多的进程
- 计算机信息和系统资源
二、glances 安装方式
- 源码安装
- 基于 pip 命令安装
- 基于 epel 公网 yum 源
由于源码安装需要解决大量的依赖包的问题,对于小白同学学习压力较大,所以本文将重点介绍基于 yum 的安装方法,让大家快速安装,并能及时体验到 glances 监控的强大和高效。
三、基于 epel 公网源安装 glances
由于 glances 运行需要 python 环境,所以我们需要首先安装好 python 环境,这里我给大家使用的是一个脚本安装 python3.7.3,目前的最新版本。
3.1、python3.7.3 安装脚本
#!/bin/bash
#
#Name:
#Author: zutuanxue_com
#Created Time: 2019/10/1 11:20
#Release:
#Description:python 3.7.3 安装脚本
# 变量
source_url="https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz"
source_pkg="Python-3.7.3.tgz"
source_doc="Python-3.7.3"
cpu_count=`egrep "flags" /proc/cpuinfo |wc -l`
# 程序
check () {[ "$USER" != "root" ]&&echo "need be root so that"&&exit 1
[! -x /usr/bin/wget]&&echo "not found command: wget"&&exit 1
}
install_python () {
check
#1、download python source package
if ! (wget $source_url &>/dev/null) ;then
echo "$source_pkg download fail"
exit 1
fi
#2、Decompression source package
if [-f $source_pkg ];then
tar xf $source_pkg
else
echo "not found package: $source_pkg"
exit 1
fi
#3、python install pre
if ! (yum -y install gcc-* openssl-* libffi-devel curses-devel lm_sensors sqlite-devel &>/dev/null);then
echo "yum install software package fail"
exit 1
fi
#4、configure python install env
if [-d $source_doc ];then
#5、python configure
cd $source_doc
sed -i.bak '212s/#//' Modules/Setup.dist
sed -i '213s/#//' Modules/Setup.dist
sed -i '214s/#//' Modules/Setup.dist
echo "python configure...please waiting"
if ./configure --enable-optimizations --with-openssl=/usr/bin/openssl &>/dev/null ;then
#6、python make
echo "python make...please waiting"
if make -j $cpu_count &>/dev/null ;then
#7、python install
echo "python install...please waiting"
if make install & > /dev/null;then
echo "$source_doc install success"
else
echo "python make install fail"
exit 1
fi
else
echo "python make fail"
exit 1
fi
else
echo "python configure fail"
exit 1
fi
else
echo "not found $source_doc"
exit 1
fi
post_install
}
#Post-installation settings
post_install () {#update pip tool
pip3 install --upgrade pip
}
# 函数调用
install_python && rm -rf $source_doc
3.2、glances 安装
[root@manager01 ~]# pip install glances
Collecting glances
Downloading https://files.pythonhosted.org/packages/32/34/72f9202ad5b7ada314507a50b9ab1fb604d2f468b138679e0a4fedeb91fa/Glances-3.1.0.tar.gz (6.7MB)
|████████████████████████████████| 6.7MB 659kB/s
Collecting psutil>=5.3.0 (from glances)
Downloading https://files.pythonhosted.org/packages/1c/ca/5b8c1fe032a458c2c4bcbe509d1401dca9dda35c7fc46b36bb81c2834740/psutil-5.6.3.tar.gz (435kB)
|████████████████████████████████| 440kB 575kB/s
Installing collected packages: psutil, glances
Running setup.py install for psutil ... done
Running setup.py install for glances ... done
Successfully installed glances-3.1.0 psutil-5.6.3
3.3、温度监控工具安装
[root@manager01 ~]# yum -y install lm_sensors
3.4、epel 公网源安装
[root@manager01 ~]# yum install epel* -y
[root@manager01 ~]# yum -y install glances
四、glances 监控
4.1、开启 glances 监控
[root@manager01 ~]# glances
glances 工作界面的说明 :
在上图 的上部是 CPU、Load(负载)、Mem(内存使用)、Swap(交换分区)的使用情况。在上图的中上部是网络接口、Processes(进程)的使用情况。通常包括如下字段:
%CPU:该进程占用的 CPU 使用率
%MEM:该进程占用的物理内存和总内存的百分比
VIRT: 虚拟内存大小
RES: 进程占用的物理内存值
PID: 进程 ID 号
USER: 进程所有者的用户名
NI: 进程优先级
S: 进程状态,其中 S 表示休眠,R 表示正在运行,Z 表示僵死状态。TIME+: 该进程启动后占用的总的 CPU 时间
IO_R 和 IO_W: 进程的读写 I/O 速率
Command: 进程名称
在上图的左侧是网络、磁盘 IO、磁盘分区使用情况。另外 glances 可以使用交互式的方式运行该工具,用户可以使用如下快捷键:
h:显示帮助信息
q:离开程序退出
c:按照 CPU 实时负载对系统进程进行排序
m:按照内存使用状况对系统进程排序
i:按照 I/O 使用状况对系统进程排序
p:按照进程名称排序
d:显示磁盘读写状况
w:删除日志文件
l:显示日志
s:显示传感器信息
f:显示系统信息
1:轮流显示每个 CPU 内核的使用情况(次选项仅仅使用在多核 CPU 系统)
4.2、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 C/ S 模式
glances 还支持 C / S 模式监控,被监控机运行服务端,监控端运行客户端既可以实现远程监控。
注意:C/ S 模式都必须安装 glances 才可以实现
5.1、服务端启动
服务端使用的端口默认是 61209, 如果使用服务端请注意开启防火墙。
5.2、客户端访问
[root@zutuanxue ~]# glances -c 192.168.10.100
六、其他数据保存方式
6.1、导出数据为 CSV 电子表格
[root@manager01 ~]# glances --export-csv /tmp/1.csv