系統之眼!Linux系統性能監控工具Glances

一、Glances介紹

glances是一個基於python語言開發,可以爲linux或者UNIX性能提供監視和分析性能數據的功能。glances在用戶的終端上顯示重要的系統信息,並動態的進行更新,讓管理員實時掌握系統資源的使用情況,而動態監控並不會消耗大量的系統資源,比如CPU資源,通常消耗小於2%,glances默認每兩秒更新一次數據。同時glances還可以將相同的數據捕獲到一個文件,便於以後對報告進行分析和圖形繪製,支持的文件格式有.csv電子表格格式和和html格式。

github地址:https://github.com/nicolargo/glances

glances工具的功能如下:

  • CPU使用率

  • 內存使用率

  • 內核統計信息和運行隊列信息

  • 磁盤I/O速度、傳輸和讀/寫比率

  • 磁盤適配器

  • 網絡I/O速度、傳輸和讀/寫比率

  • 頁面監控

  • 進程監控-消耗資源最多的進程

  • 計算機信息和系統資源


圖片

效果圖

二、glances安裝方式

  • 源碼安裝

  • pip命令安裝

  • yum安裝


源碼安裝比較複雜,可能會遇到依賴問題不好解決;pip安裝和yum安裝都可以選擇。文檔手冊:https://glances.readthedocs.io/en/latest/index.html


三、安裝glances

Glances 一般已集成到大多數 Linux 發行版的官方軟件源中,可以直接使用系統的包管理器(如 apt-get、yum)安裝:

sudo apt-get install glances


yum install epel* -y
yum -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.253
glances 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 --username
Define the Glances server username: test
Define the Glances server password (test username):
Password (confirm):
Do you want to save the password? [Yes/No]: Yes
Glances 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這些開源軟件一起配合,構建成一個監控平臺,和其它監控軟件一樣,能形成實時化、圖表化的數據顯示。

圖片

圖片

感興趣的朋友可以自己在測試環境玩玩,一個很好的,功能強大的工具。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章