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