針對(duì)Linux集群的高級(jí)監(jiān)控工具sinfo概述
譯文【51CTO精選譯文】你是不是面臨這種情況:想搭建某種網(wǎng)絡(luò)集群,但又要處理許多不同的計(jì)算機(jī),想密切跟蹤這所有計(jì)算機(jī)幾乎是不可能的事?如果你負(fù)責(zé)滿滿一屋子的計(jì)算機(jī),還要負(fù)責(zé)使用這些機(jī)器的那些用戶,又該如何是好?sinfo也許正是你苦苦尋覓的那款工具。Freshmeat網(wǎng)站上的介紹如下:
Sinfo是一款監(jiān)視工具,使用廣播方案來發(fā)布關(guān)于你本地網(wǎng)絡(luò)上每一臺(tái)計(jì)算機(jī)的運(yùn)行狀況的信息。它支持顯示多方面的內(nèi)容,比如處理器、內(nèi)存使用情況、網(wǎng)絡(luò)負(fù)載以及關(guān)于每一臺(tái)計(jì)算機(jī)上五個(gè)主要進(jìn)程的信息。Sinfo使用ncurses,以一目了然的方式來顯示信息。
Sinfo可以顯示關(guān)于多臺(tái)計(jì)算機(jī)的系統(tǒng)信息,以便管理。使用的時(shí)候可以通過-s選項(xiàng)查看更多信息。
安裝過程
如果你使用基于Debian的系統(tǒng),比如Debian和Ubuntu等系統(tǒng),可以使用二進(jìn)制包,可以在你的repo中找一下??紤]到該軟件包括了一個(gè)啟動(dòng)守護(hù)程序sinfod,我強(qiáng)烈建議使用這個(gè)可選的二進(jìn)制文件,因?yàn)檫@個(gè)過程的許多方面實(shí)現(xiàn)了自動(dòng)化(它也是我在這里探討的版本)。不過,為了確保發(fā)行版中立,與往常一樣,我還在安裝過程中介紹了源版本。
說明文檔對(duì)代碼庫的要求如下:
•ncurses:用于終端處理的代碼庫(5.7版本)。
•boost:可移植的C++源代碼庫,使用Boost.Bind和Boost.Signals(1.42版本)。
•asio (>=1.1.0):asio是一個(gè)跨平臺(tái)的C++代碼庫,用于網(wǎng)絡(luò)編程(1.4.1版本)。
如果你通過源代碼編譯,還需要上面這些代碼庫的開發(fā)包(-dev)。libboost-下的開發(fā)包的數(shù)量相當(dāng)多,所以要是你在編譯過程中遇到了任何問題,請(qǐng)先檢查libboost是不是安裝全了。
對(duì)于使用源代碼來運(yùn)行的那些人來說,一旦你搞定了代碼庫要求,就可以獲取***的tarball文件(下載地址)。解壓縮,在新的文件夾中打開終端,輸入以下命令:
$ ./configure $ make
如果你的發(fā)行版使用sudo:
$ sudo make install
如果你的發(fā)行版使用root:
$ su # make install
在我繼續(xù)下文之前,應(yīng)該解釋一下:sinfo分平常的應(yīng)用軟件部分和后臺(tái)守護(hù)程序這兩個(gè)部分。守護(hù)程序的安裝每個(gè)發(fā)行版都不同,這部分我就不具體說了,細(xì)節(jié)可以查看源代碼tarball文件的使用說明文件和官方網(wǎng)站。
使用
Sinfo是一款“半圖形用戶界面(GUI)”的命令行程序,使用起來實(shí)際上很容易,不過高級(jí)用戶會(huì)通過命令行的參數(shù)選項(xiàng)符讓它處理一些相當(dāng)出色的任務(wù)。想讓該程序在基本模式下運(yùn)行,只要輸入:
$ sinfo
如果你只是在自己的機(jī)器上安裝了sinfo,顯示的信息將僅是你這臺(tái)機(jī)器的信息。你可以從這個(gè)屏幕上看到可用內(nèi)存、處理器占用率和主機(jī)名稱等信息。文末的附錄列出了適用的快捷鍵命令,只要按一個(gè)鍵,就可以切換該程序的不同部分。
不過在這種情況下,sinfo其實(shí)只是更漂亮的top而已。使用sinfo的目的是,你可以一下子顯示來自好幾臺(tái)機(jī)器的信息,以便密切監(jiān)視局域網(wǎng)的運(yùn)行情況。
要做到這一點(diǎn)也很容易:只要在網(wǎng)絡(luò)上的其他計(jì)算機(jī)上也安裝并運(yùn)行sinfo,運(yùn)行之后你就會(huì)發(fā)現(xiàn)兩臺(tái)計(jì)算機(jī)的信息分別在兩個(gè)計(jì)算機(jī)上都有顯示。繼續(xù)把它安裝到其他聯(lián)網(wǎng)計(jì)算機(jī)上,顯示列表就會(huì)越來越長。
這些只是基本功能,更豐富的功能方面又如何呢?很顯然,因篇幅所限,我沒法在這里一一介紹(你其實(shí)應(yīng)該查閱參考手冊(cè)頁,了解更多詳細(xì)內(nèi)容),不妨看一下我偏愛使用的一些功能。
在命令行,如果你添加了-W參數(shù)選項(xiàng)符(或者--wwwmode),就像這樣:
$ sinfo -W
輸出就會(huì)從平常的類似top的屏幕變出HTML輸出——對(duì)于喜歡借助自動(dòng)化網(wǎng)頁等方面進(jìn)行遠(yuǎn)程管理的那些人來說,這非常方便。
在編寫某種命令行腳本時(shí),你可以添加參數(shù)選項(xiàng)符-s(或者--ysteminfo)輸出一大段重要的系統(tǒng)信息。舉例來說,我的兩臺(tái)機(jī)器顯示了以下的額外信息:
192.168.1.2 knightro-bigdesktop i686 ↪Linux 2.6.32-27-generic #49-Ubuntu SMP Wed De cpus: 4 MHz: 800.0 RAM: 3276.5 MByte swap: 7629.4 Mbyte load 1min: 0.0 load 5min: 0.1 load 15min: 0.1 192.168.1.1 nhoj-desktop x86_64 ↪Linux 2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 0 cpus: 2 MHz: 1000.0 RAM: 2007.6 MByte swap: 2047.3 Mbyte load 1min: 0.1 load 5min: 0.2 load 15min: 0.1 uptime 0 days, 19:13:03
這樣一種信息表明sinfo有許多潛在用途,我立即想到了可以在局域網(wǎng)派對(duì)(LAN party)上用于監(jiān)視和故障排除。要是任何一個(gè)節(jié)點(diǎn)有問題,主機(jī)在試圖隔離這個(gè)問題時(shí)很可能就能夠立即著手處理。
結(jié)語
sinfo設(shè)計(jì)精巧,安裝方便,我認(rèn)為這款程序會(huì)很快闖出自己的一片天地。但愿它會(huì)像其他標(biāo)準(zhǔn)應(yīng)用軟件那樣變得司空見慣,成為一款常用工具。也許對(duì)它進(jìn)行移植就能實(shí)現(xiàn)這個(gè)目標(biāo)。
附錄:sinfo鍵盤命令
•q鍵—退出sinfo。
•Page up鍵, Page down鍵 — 滾動(dòng)屏幕,每次滾動(dòng)一頁。
•Up arrow/u鍵, down arrow/d鍵 —滾動(dòng)屏幕,每次滾動(dòng)一行。
•Home鍵—跳到最上面一行。
•s鍵 — 切換顯示系統(tǒng)信息。
•o鍵 — 切換顯示你自己機(jī)器的進(jìn)程。
•n鍵 — 切換顯示網(wǎng)絡(luò)信息。
•D鍵 — 切換顯示磁盤負(fù)載。
•t鍵 — 切換顯示主要的X個(gè)進(jìn)程。
•c鍵 — 將處理器負(fù)載條形圖的標(biāo)度從log(對(duì)數(shù)模式)、lin(線性模式)切換至full(全模式)。
想詳細(xì)了解sinfo,請(qǐng)?jiān)L問 http://www.ant.uni-bremen.de/whomes/rinas/sinfo 。
原文:sinfo-Advanced Network Monitoring
【編輯推薦】