一、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 packageif ! (wget $source_url &>/dev/null) ;then echo "$source_pkg download fail" exit 1fi#2、Decompression source packageif [ -f $source_pkg ];then tar xf $source_pkgelse echo "not found package: $source_pkg" exit 1fi#3、python install preif ! (yum -y install gcc-* openssl-* libffi-devel curses-devel lm_sensors sqlite-devel &>/dev/null);then echo "yum install software package fail" exit 1fi#4、configure python install envif [ -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 fielse echo "not found $source_doc" exit 1fipost_install} #Post-installation settingspost_install () {#update pip toolpip3 install --upgrade pip}#函式呼叫install_python && rm -rf $source_doc
3.2、glances 安裝
[root@manager01 ~]# pip install glancesCollecting 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 ... doneSuccessfully 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