安裝和使用系統(tǒng)監(jiān)控工具 Glances
Glances 是前幾天網(wǎng)上閑逛的時候發(fā)現(xiàn)的一款 “新” 系統(tǒng)監(jiān)控工具,盡管現(xiàn)在監(jiān)控工具有很多選擇,Glances 還是有些值得關(guān)注的,和那些常用的老牌監(jiān)控工具比起來,比如 top/vmstat/iostat 只能監(jiān)控本機系統(tǒng),Glances 可以監(jiān)控本機也可以通過客戶端服務(wù)器模式監(jiān)控其他機器;Glances 提供了基于 XML/RPC 的 API 便于其他程序調(diào)用,可編程;Glances 可以將數(shù)據(jù)輸出保存到 csv 或 html 格式的文件方便其他程序處理(報告或繪制圖形)。
Glances 是用 Python 開發(fā)的,使用 psutil 庫來采集系統(tǒng)數(shù)據(jù),在用戶的終端上實時動態(tài)的顯示重要的系統(tǒng)數(shù)據(jù)和變化。顯示的數(shù)據(jù)包括:CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等使用情況,內(nèi)核、運行隊列、負載、I/O 狀態(tài)、消耗資源最多的進程等等。
安裝
Glance 支持 Linux, Mac OS X, FreeBSD, Windows 等多個系統(tǒng),安裝也很方便。在 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 可以單機使用,也可以客戶端-服務(wù)器模式多機使用。單機使用很簡單,直接運行就可以了:
$ glances
客戶端-服務(wù)器模式稍微復(fù)雜一點,需要在一臺機器上以服務(wù)器模式啟動 glances -s,另外一臺機器以客戶端模式連接 glances -c. 比如在有兩臺機器 A 和 B 都裝了 glances,要想在 A 上看 B 上的 glances 的話需要事先在 B 上用服務(wù)器模式啟動 glances(假設(shè) B 的 IP 地址是 192.168.2.22):
$ glances -s
然后再從 A(客戶端)用 Glances 訪問 B(服務(wù)器):
$ glances -c 192.168.2.22
編程
Glances 和其他一堆老牌系統(tǒng)監(jiān)控工具相比其突出優(yōu)點在于提供 XML-RPC API,可編程。使用 Glances 提供的 API,我們可以通過編程輕松獲?。ㄎ覀兿胍模?shù)據(jù)。比如下面的是一個打印系統(tǒng)信息的簡單 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": "vpsee.com", "os_version": "3.2.0-23-virtual"}
Glances 的界面: