系統(tǒng)之眼!Linux系統(tǒng)性能監(jiān)控工具Glances
一、Glances介紹
glances是一個基于python語言開發(fā),可以為linux或者UNIX性能提供監(jiān)視和分析性能數(shù)據(jù)的功能。glances在用戶的終端上顯示重要的系統(tǒng)信息,并動態(tài)的進(jìn)行更新,讓管理員實時掌握系統(tǒng)資源的使用情況,而動態(tài)監(jiān)控并不會消耗大量的系統(tǒng)資源,比如CPU資源,通常消耗小于2%,glances默認(rèn)每兩秒更新一次數(shù)據(jù)。同時glances還可以將相同的數(shù)據(jù)捕獲到一個文件,便于以后對報告進(jìn)行分析和圖形繪制,支持的文件格式有.csv電子表格格式和和html格式。
github地址:https://github.com/nicolargo/...
glances工具的功能如下:
- CPU使用率
- 內(nèi)存使用率
- 內(nèi)核統(tǒng)計信息和運行隊列信息
- 磁盤I/O速度、傳輸和讀/寫比率
- 磁盤適配器
- 網(wǎng)絡(luò)I/O速度、傳輸和讀/寫比率
- 頁面監(jiān)控
- 進(jìn)程監(jiān)控-消耗資源最多的進(jìn)程
- 計算機信息和系統(tǒng)資源
效果圖
二、glances安裝方式
- 源碼安裝
- pip命令安裝
- yum安裝
源碼安裝比較復(fù)雜,可能會遇到依賴問題不好解決;pip安裝和yum安裝都可以選擇。文檔手冊:https://glances.readthedocs.i...
三、安裝glances
Glances 一般已集成到大多數(shù) Linux 發(fā)行版的官方軟件源中,可以直接使用系統(tǒng)的包管理器(如 apt-get、yum)安裝:
- sudo apt-get install glances
- yum install epel* -yyum -y install glances
當(dāng)然也可以使用 Python 的包管理器(pip 命令)進(jìn)行安裝:
- pip install glances
溫度監(jiān)控工具安裝
lm_sensors 的軟件可以幫助我們來監(jiān)控主板、CPU 的工作電壓、風(fēng)扇轉(zhuǎn)速、溫度等數(shù)據(jù)。這些數(shù)據(jù)我們通常在主板的 BIOS 也可以看到。當(dāng)我們可以在機器運行的時候通過 lm_sensors 隨時來監(jiān)測著 CPU 的溫度變化,可以預(yù)防呵保護(hù)因為 CPU 過熱而會燒掉。lm_sensors 軟件監(jiān)測到的數(shù)據(jù)可以被 glances 調(diào)用并且顯示_。_
- yum -y install lm_sensors
其實,這些開源軟件的安裝非常簡單,基本100%是傻瓜式的,沒有什么太大的問題。
四、Glances的使用
Glances 有 4 種顏色標(biāo)記,分別表示不同的緊急程度:
- 綠色:OK
- 藍(lán)色:CAREFUL
- 紫色:WARNING
- 紅色:CRITICAL
綠色表示性能良好;(此時 CPU 使用率、磁盤空間使用率和內(nèi)存使用率低于 50%,系統(tǒng)負(fù)載低于 0.7)。
藍(lán)色表示系統(tǒng)性能有一些小問題,用戶應(yīng)當(dāng)開始關(guān)注系統(tǒng)性能;(此時 CPU 使用率、磁盤空間使用率和內(nèi)存使用率在 50%-70% 之間,系統(tǒng)負(fù)載在 0.7-1 之間)。
品紅表示性能報警,應(yīng)當(dāng)采取措施比如備份數(shù)據(jù);(此時 CPU 使用率、磁盤空間使用率和內(nèi)存使用率在 70%-90% 之間,,系統(tǒng)負(fù)載在 1-5 之間)。
紅色表示性能問題嚴(yán)重,可能宕機;(此時 CPU 使用率、磁盤空間使用率和內(nèi)存使用率在大于 90%,系統(tǒng)負(fù)載大于 5)。
glances 使用方法
glances 是一個命令行工具包括如下命令選項:
- -b:顯示網(wǎng)絡(luò)連接速度 Byte/ 秒
- -B @IP|host :綁定服務(wù)器端 IP 地址或者主機名稱
- -c @IP|host:連接 glances 服務(wù)器端
- -C file:設(shè)置配置文件默認(rèn)是 /etc/glances/glances.conf
- -d:關(guān)閉磁盤 I/O 模塊
- -e:顯示傳感器溫度
- -f file:設(shè)置輸出文件(格式是 HTML 或者 CSV)
- -m:關(guān)閉掛載的磁盤模塊
- -n:關(guān)閉網(wǎng)絡(luò)模塊
- -p PORT:設(shè)置運行端口默認(rèn)是 61209
- -P password:設(shè)置客戶端 / 服務(wù)器密碼
- -s:設(shè)置 glances 運行模式為服務(wù)器
- -t sec:設(shè)置屏幕刷新的時間間隔,單位為秒,默認(rèn)值為 2 秒,數(shù)值范圍:1~32767
- -h : 顯示幫助信息
- -v : 顯示版本信息
glances 工作界面的說明 :
在圖中 的上部是 CPU 、Load(負(fù)載)、Mem(內(nèi)存使用)、 Swap(交換分區(qū))的使用情況。在圖中的中上部是網(wǎng)絡(luò)接口、Processes(進(jìn)程)的使用情況。通常包括如下字段:
- VIRT: 虛擬內(nèi)存大小
- RES: 進(jìn)程占用的物理內(nèi)存值
- %CPU:該進(jìn)程占用的 CPU 使用率
- %MEM:該進(jìn)程占用的物理內(nèi)存和總內(nèi)存的百分比
- PID: 進(jìn)程 ID 號
- USER: 進(jìn)程所有者的用戶名
- TIME+: 該進(jìn)程啟動后占用的總的 CPU 時間
- IO_R 和 IO_W: 進(jìn)程的讀寫 I/O 速率
- NAME: 進(jìn)程名稱
- NI: 進(jìn)程優(yōu)先級
- S: 進(jìn)程狀態(tài),其中 S 表示休眠,R 表示正在運行,Z 表示僵死狀態(tài)。
另外 glances 可以使用交互式的方式運行該工具,用戶可以使用如下快捷鍵:
- h :顯示幫助信息
- q :離開程序退出
- c :按照 CPU 實時負(fù)載對系統(tǒng)進(jìn)程進(jìn)行排序
- m :按照內(nèi)存使用狀況對系統(tǒng)進(jìn)程排序
- i:按照 I/O 使用狀況對系統(tǒng)進(jìn)程排序
- p:按照進(jìn)程名稱排序
- d :顯示磁盤讀寫狀況
- w :刪除日志文件
- l :顯示日志
- s:顯示傳感器信息
- f :顯示系統(tǒng)信息
- 1 :輪流顯示每個 CPU 內(nèi)核的使用情況
五、Glances的C/S模式
glances還支持C/S模式監(jiān)控,被監(jiān)控機運行服務(wù)端,監(jiān)控端運行客戶端既可以實現(xiàn)遠(yuǎn)程監(jiān)控,兩端都安裝Glances服務(wù)即可。
服務(wù)端啟動
服務(wù)端使用的端口默認(rèn)是61209,啟動命令如下:
- glances -s -B 192.168.1.253glances server is running on 192.168.1.253:61209
客戶端訪問
- glances -c 192.168.1.253
也可以使用用戶名與密碼進(jìn)行訪問,默認(rèn)用戶名是glances,如果想更改的話可以使用--username進(jìn)行更換。下面是官方的原文:
In client/server mode, limits are set by the server side.
You can set a password to access to the server using the --password. By default, the username is glances but you can change it with --username.
- glances -s --usernameDefine the Glances server username: testDefine the Glances server password (test username):Password (confirm):Do you want to save the password? [Yes/No]: YesGlances XML-RPC server is running on 0.0.0.0:61209
客戶端連接方式如下:
- glances -c 192.168.1.253 --username test
六、Glances的WebServer 模式
在 glances 的 WebServer 模式下,客戶端只通過瀏覽器訪問就可以獲取遠(yuǎn)程服務(wù)器的運行狀態(tài)。只需要安裝 Python 的 Bottle 模塊:
- pip install bottle
安裝成功后,使用glances -w命令即可開啟 WebServer 模式。
客戶端使用瀏覽器訪問http://SERVER_IP:61208/進(jìn)入監(jiān)控界面。
它的WEB模式還可以在手機上看,如下圖。
來源官方文檔
七、其它高級應(yīng)用
導(dǎo)出數(shù)據(jù)為CSV格式,命令如下:
- glances --export-csv /tmp/1.csv
glances還可以與InfluxDB、Grafana這些開源軟件一起配合,構(gòu)建成一個監(jiān)控平臺,和其它監(jiān)控軟件一樣,能形成實時化、圖表化的數(shù)據(jù)顯示。
感興趣的朋友可以自己在測試環(huán)境玩玩,一個很好的,功能強大的工具。