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