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