一、glances介紹
glances是一個基于python語言開發(fā),可以為linux或者UNIX性能提供監(jiān)視和分析性能數(shù)據(jù)的功能。glances在用戶的終端上顯示重要的系統(tǒng)信息,并動態(tài)的進行更新,讓管理員實時掌握系統(tǒng)資源的使用情況,而動態(tài)監(jiān)控并不會消耗大量的系統(tǒng)資源,比如CPU資源,通常消耗小于2%,glances默認每兩秒更新一次數(shù)據(jù)。同時glances還可以將相同的數(shù)據(jù)捕獲到一個文件,便于以后對報告進行分析和圖形繪制,支持的文件格式有.csv電子表格格式和和html格式。
glances可以分析系統(tǒng)的:
- CPU使用率
- 內(nèi)存使用率
- 內(nèi)核統(tǒng)計信息和運行隊列信息
- 磁盤I/O速度、傳輸和讀/寫比率
- 磁盤適配器
- 網(wǎng)絡I/O速度、傳輸和讀/寫比率
- 頁面監(jiān)控
- 進程監(jiān)控-消耗資源最多的進程
- 計算機信息和系統(tǒng)資源
二、glances安裝方式
- 源碼安裝
- 基于pip命令安裝
- 基于epel公網(wǎng)yum源
由于源碼安裝需要解決大量的依賴包的問題,對于小白同學學習壓力較大,所以本文將重點介紹基于yum的安裝方法,讓大家快速安裝,并能及時體驗到glances監(jiān)控的強大和高效。
三、基于epel公網(wǎng)源安裝glances
由于glances運行需要python環(huán)境,所以我們需要首先安裝好python環(huán)境,這里我給大家使用的是一個腳本安裝python3.7.3,目前的最新版本。
3.1、python3.7.3安裝腳本
#!/bin/bash
#
#Name:
#Author: Bai Shuming
#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
}
#函數(shù)調(diào)用
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、溫度監(jiān)控工具安裝
[root@manager01 ~]# yum -y install lm_sensors
3.4、epel公網(wǎng)源安裝
[root@manager01 ~]# yum install epel* -y
[root@manager01 ~]# yum -y install glances
四、glances監(jiān)控
4.1、開啟glances監(jiān)控
[root@manager01 ~]# glances

glances 工作界面的說明 :
在上圖 的上部是 CPU 、Load(負載)、Mem(內(nèi)存使用)、 Swap(交換分區(qū))的使用情況。在上圖的中上部是網(wǎng)絡接口、Processes(進程)的使用情況。通常包括如下字段:
%CPU:該進程占用的 CPU 使用率
%MEM:該進程占用的物理內(nèi)存和總內(nèi)存的百分比
VIRT: 虛擬內(nèi)存大小
RES: 進程占用的物理內(nèi)存值
PID: 進程 ID 號
USER: 進程所有者的用戶名
NI: 進程優(yōu)先級
S: 進程狀態(tài),其中 S 表示休眠,R 表示正在運行,Z 表示僵死狀態(tài)。
TIME+: 該進程啟動后占用的總的 CPU 時間
IO_R 和 IO_W: 進程的讀寫 I/O 速率
Command: 進程名稱
在上圖的左側(cè)是網(wǎng)絡、磁盤IO、磁盤分區(qū)使用情況。 另外 glances 可以使用交互式的方式運行該工具,用戶可以使用如下快捷鍵:
h : 顯示幫助信息
q : 離開程序退出
c :按照 CPU 實時負載對系統(tǒng)進程進行排序
m :按照內(nèi)存使用狀況對系統(tǒng)進程排序
i:按照 I/O 使用狀況對系統(tǒng)進程排序
p: 按照進程名稱排序
d : 顯示磁盤讀寫狀況
w : 刪除日志文件
l :顯示日志
s: 顯示傳感器信息
f : 顯示系統(tǒng)信息
1 :輪流顯示每個 CPU 內(nèi)核的使用情況(次選項僅僅使用在多核 CPU 系統(tǒng))
4.2、glances 使用方法
glances 是一個命令行工具包括如下命令選項:
-b:顯示網(wǎng)絡連接速度 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:關閉網(wǎng)絡模塊
-p PORT:設置運行端口默認是 61209
-P password:設置客戶端 / 服務器密碼
-s:設置 glances 運行模式為服務器
-t sec:設置屏幕刷新的時間間隔,單位為秒,默認值為 2 秒,數(shù)值許可范圍:1~32767
-h : 顯示幫助信息
-v : 顯示版本信息
五、glances C/S模式
glances還支持C/S模式監(jiān)控,被監(jiān)控機運行服務端,監(jiān)控端運行客戶端既可以實現(xiàn)遠程監(jiān)控。

注意:C/S模式都必須安裝glances才可以實現(xiàn)
5.1、服務端啟動
服務端使用的端口默認是61209,如果使用服務端請注意開啟防火墻。

5.2、客戶端訪問
[root@node2 ~]# glances -c 192.168.10.100
六、其他數(shù)據(jù)保存方式
6.1、導出數(shù)據(jù)為CSV電子表格
[root@manager01 ~]# glances --export-csv /tmp/1.csv
樹明的技術交流群
白樹明技術圈4群:320990728
白樹明技術圈9群:643736601