Glances是前幾天網上閑逛的時候發現的一款 “新” 系統監控工具,盡管現在監控工具有很多選擇,Glances 還是有些值得關注的,和那些常用的老牌監控工具比 起來,比如 top/vmstat/iostat 只能監控本機系統,Glances 可以監控本機也可以通過客戶端服務器模式監控其他機器;Glances 提供了基于 XML/RPC 的 API 便于其他程序調用,可編程;Glances 可以將數據輸出保存到 csv 或 html 格式的文件方便其他程序處理(報告或繪制圖形)。

Glances 是用 Python 開發的,使用 psutil 庫來采集系統數據,在用戶的終端上實時動態的顯示重要的系統數據和變化。顯示的數據包括:CPU、內存、磁盤、網絡等使用情況,內核、運行隊列、負載、I/O 狀態、消耗資源最多的進程等等。

安裝

Glance 支持 Linux, Mac OS X, FreeBSD, Windows 等多個系統,安裝也很方便。在 Ubuntu 上安裝:

$ sudo apt-get update
$ sudo apt-get install python-pip build-essential python-dev

$ sudo pip install Glances

在 CentOS 6.x 上安裝:

$ su root
# rpm -ivh http://fr2.rpmfind.net/linux/epel/6/x86_64/epel-release-6-7.noarch.rpm
# yum install python-pip python-devel
# pip-python install glances

在 FreeBSD 上安裝:

# pkg_add -r py27-glances
或者
# cd /usr/ports/sysutils/py-glances/
# make install clean

使用

Glances 可以單機使用,也可以客戶端-服務器模式多機使用。單機使用很簡單,直接運行就可以了:

$ glances

客戶端-服務器模式稍微復雜一點,需要在一臺機器上以服務器模式啟動 glances -s,另外一臺機器以客戶端模式連接 glances -c. 比如在有兩臺機器 A 和 B 都裝了 glances,要想在 A 上看 B 上的 glances 的話需要事先在 B 上用服務器模式啟動 glances(假設 B 的 IP 地址是 192.168.2.22):

$ glances -s
然后再從 A(客戶端)用 Glances 訪問 B(服務器):
$ glances -c 192.168.2.22
編程

Glances 和其他一堆老牌系統監控工具相比其突出優點在于提供 XML-RPC API,可編程。使用 Glances 提供的 API,我們可以通過編程輕松獲取(我們想要的)數據。比如下面的是一個打印系統信息的簡單 Python 腳本:

$ vi test.py
#!/usr/bin/python
import xmlrpclib

s = xmlrpclib.ServerProxy('http://192.168.2.22:61209')
print s.getSystem()

運行上面這個腳本:

$ python test.py
{"linux_distro": "Ubuntu 12.04", "platform": "64bit", "os_name": "Linux", "hostname": "zysgp.net", "os_version": "3.2.0-23-virtual"}

版權所有:站元素小博客 => 《安裝和使用系統監控工具 Glances》

本文地址:http://www.wiotwb.tw/blog/?post=42

除非注明,文章均為 站元素小博客 原創,歡迎轉載!轉載請注明本文地址,謝謝。