一、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: 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 ? } ? ? #函數調用 ? 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@node2 ~]# glances -c 192.168.10.100
六、其他數據保存方式
6.1、導出數據為CSV電子表格
[root@manager01 ~]# glances --export-csv /tmp/1.csv