使用資源監控工具 glances

 

前言

glances 可以爲 Unix 和 Linux 性能專家提供監視和分析性能數據的功能,其中包括:

  • CPU 使用率

  • 內存使用情況

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

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

  • 文件系統中的可用空間

  • 磁盤適配器

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

  • 頁面空間和頁面速度

  • 消耗資源最多的進程

  • 計算機信息和系統資源

glances 工具可以在用戶的終端上實時顯示重要的系統信息,並動態地對其進行更新。這個高效的工具可以工作於任何終端屏幕。另外它並不會消耗大量的 CPU 資源,通常低於百分之二。glances 在屏幕上對數據進行顯示,並且每隔兩秒鐘對其進行更新。您也可以自己將這個時間間隔更改爲更長或更短的數值。glances 工具還可以將相同的數據捕獲到一個文件,便於以後對報告進行分析和繪製圖形。輸出文件可以是電子表格的格式 (.csv) 或者 html 格式。

兩種方法安裝 glances

通常可以有兩種方法安裝 glances。第一種是通過編譯源代碼的方式,這種方法比較複雜另外可能會遇到軟件包依賴性問題。還有一種是使用特定的軟件包管理工具來安裝 glances,這種方法比較簡單。本文使用後者,需要說明的是在 CentOS 特定的軟件包管理工具來安裝。glances 要首先配置 EPEL repo,然後使用 pip 工具安裝 glances。

pip 軟件包簡介

通常 Linux 系統管理員有兩種方式來安裝一個 Python 的軟件包:一種是通過系統的包管理工具(如 apt-get)從系統的軟件倉庫裏安裝,一種是通過 Python 自己的包管理工具(如 easy_install 或者 pip)從 Python Cheese Shop 中下載安裝。筆者推薦使用 pip。pip 是一個可以代替 easy_install 的安裝和管理 Python 軟件包的工具,是一個安裝 Python 庫很方便的工具,功能類似 YUM。注意 CentOS 和 Fedora 下安裝 Python-pip 後,關鍵字不是 pip 而是 pip-Python。

首先配置 EPEL repo

如果既想獲得 RHEL 的高質量、高性能、高可靠性,又需要方便易用(關鍵是免費)的軟件包更新功能,那麼 Fedora Project 推出的 EPEL(Extra Packages for Enterprise Linux ,http://fedoraproject.org/wiki/EPEL)正好適合你。它是由 Fedora 社區打造,爲 RHEL 及衍生髮行版如 CentOS、Scientific Linux 等提供高質量軟件包的項目。裝上了 EPEL,就像在 Fedora 上一樣,可以通過 yum install package-name,隨意安裝軟件。安裝使用 EPEL 非常簡單:

 #wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6 
 #rpm --import RPM-GPG-KEY-EPEL-6 
 #rm -f RPM-GPG-KEY-EPEL-6 
 #vi /etc/yum.repos.d/epel.repo 
 # create new 
 [epel] 
 name=EPEL RPM Repository for Red Hat Enterprise Linux 
 baseurl=http://ftp.riken.jp/Linux/fedora/epel/6/$basearch/ 
 gpgcheck=1 
 enabled=0

使用 pip 安裝 glances

這裏介紹一下安裝過程:首先使用 YUM 安裝 pip 工具,然後使用 pip 工具安裝 glances 和用來顯示系統溫度的相關軟件。

 #yum --enablerepo=epel install Python Python-pip Python-devel gcc 
 # pip-Python install glances

安裝 lm_sensors 軟件

lm_sensors 的軟件可以幫助我們來監控主板、CPU 的工作電壓、風扇轉速、溫度等數據。這些數據我們通常在主板的 BIOS 也可以看到。當我們可以在機器運行的時候通過 lm_sensors 隨時來監測着 CPU 的溫度變化,可以預防呵保護因爲 CPU 過熱而會燒掉。lm_sensors 軟件監測到的數據可以被 glances 調用並且顯示 

 # yum install lm_sensors 
 # pip-Python install PySensors

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 工作界面如圖 1

圖 1.glances 工作界面

圖 1.glances 工作界面

glances 工作界面的說明 : 
在圖 1 的上部是 CPU 、Load(負載)、Mem(內存使用)、 Swap(交換分區)的使用情況。在圖 1 的中上部是網絡接口、Processes(進程)的使用情況。通常包括如下字段:

 VIRT: 虛擬內存大小
 RES: 進程佔用的物理內存值
 %CPU:該進程佔用的 CPU 使用率
 %MEM:該進程佔用的物理內存和總內存的百分比
 PID: 進程 ID 號
 USER: 進程所有者的用戶名
 TIME+: 該進程啓動後佔用的總的 CPU 時間
 IO_R 和 IO_W: 進程的讀寫 I/O 速率
 NAME: 進程名稱
 NI: 進程優先級
 S: 進程狀態,其中 S 表示休眠,R 表示正在運行,Z 表示僵死狀態。

在圖 1 的中下部是傳感器檢測到的 CPU 溫度。 在圖 1 的下部是磁盤 I/O 的使用情況。 另外 glances 可以使用交互式的方式運行該工具,用戶可以使用如下快捷鍵:

 h : 顯示幫助信息
 q : 離開程序退出
 c :按照 CPU 實時負載對系統進程進行排序
 m :按照內存使用狀況對系統進程排序
 i:按照 I/O 使用狀況對系統進程排序
 p: 按照進程名稱排序
 d : 顯示磁盤讀寫狀況 
 w : 刪除日誌文件
 l :顯示日誌
 s: 顯示傳感器信息
 f : 顯示系統信息
 1 :輪流顯示每個 CPU 內核的使用情況(次選項僅僅使用在多核 CPU 系統)

glances 的高級應用

glances 的結果輸出方法

讓 glances 輸出 HTML 格式文件,首先安裝相關軟件包

 # pip-Python install Jinja2 
 # glances -o HTML -f /var/www/html

下面可以使用 Firefox 瀏覽器輸入網址: http://localhost/glances.html,結果如圖 2。

圖 2.輸出 HTML 格式文件

圖 2 輸出 HTML 格式文件

輸出 csv 格式

該文件採用逗號分隔值(CSV)的格式,並且可以將其直接導入到電子表格中。

 # glances -o CSV -f /home/cjh/glances.csv

下面使用 libreoffice 的 calc 工具打開 csv 格式文件(如圖 3)

#libreoffice --calc %U /tmp/glances.csv
圖 3.使用 libreoffice 的 calc 工具打開 csv 格式文件

圖 3 使用 libreoffice 的 calc 工具打開 csv 格式文件

glances 服務器 / 客戶端工作方式

glances 支持服務器/客戶端工作方式,可以實現遠程監控。首先假設

服務器 IP 地址:10.0.2.14

客戶端 IP 地址:10.0.2.15

確保二者都已經安裝好 glances 軟件包。

首先在服務器端啓動;

 # glances -s -B 10.0.2.15 
 glances server is running on 10.0.2.15:61209

可以看到 glances 使用的端口號是 61209,所以用戶需要確保防火牆打開這個端口。

下面在客戶端使用如下命令連接服務器如圖 4:

 # glances – c 10.0.2.15
圖 4.客戶端連接服務器

圖 4 客戶端連接服務器

注意圖 4 的左下角顯示“Connected to 10.0.2.15”>表示客戶端已經連接服務器成功。

通過 glances 輸出顏色瞭解系統性能

圖 5.是 glances 的一個輸出界面

圖 5 是 glances 的一個輸出界面

綠色表示性能良好,無需做任何額外工作;(此時 CPU 使用率、磁盤空間使用率和內存使用率低於 50%,系統負載低於 0.7)。

藍色表示系統性能有一些小問題,用戶應當開始關注系統性能;(此時 CPU 使用率、磁盤空間使用率和內存使用率在 50%-70% 之間,系統負載在 0.7-1 之間)。

品紅表示性能報警,應當採取措施比如備份數據;(此時 CPU 使用率、磁盤空間使用率和內存使用率在 70%-90% 之間,,系統負載在 1-5 之間)。

紅色表示性能問題嚴重,可能宕機;(此時 CPU 使用率、磁盤空間使用率和內存使用率在大於 90%,系統負載大於 5)。

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