新發現一款監控Linux集羣sinfo

        你是不是面臨這種情況:想搭建某種網絡集羣,但又要處理許多不同的計算機,想密切跟蹤這所有計算機幾乎是不可能的事?如果你負責滿滿一屋子的計算機,還要負責使用這些機器的那些用戶,又該如何是好?sinfo也許正是你苦苦尋覓的那款工具。Freshmeat網站上的介紹如下:

Sinfo是一款監視工具,使用廣播方案來發布關於你本地網絡上每一臺計算機的運行狀況的信息。它支持顯示多方面的內容,比如處理器、內存使用情況、網絡負載以及關於每一臺計算機上五個主要進程的信息。Sinfo使用ncurses,以一目瞭然的方式來顯示信息。

Sinfo可以顯示關於多臺計算機的系統信息,以便管理。使用的時候可以通過-s選項查看更多信息。

安裝過程

如果你使用基於Debian的系統,比如Debian和Ubuntu等系統,可以使用二進制包,可以在你的repo中找一下。考慮到該軟件包括了一個啓動守護程序sinfod,我強烈建議使用這個可選的二進制文件,因爲這個過程的許多方面實現了自動化(它也是我在這裏探討的版本)。不過,爲了確保發行版中立,與往常一樣,我還在安裝過程中介紹了源版本。

說明文檔對代碼庫的要求如下:

•ncurses:用於終端處理的代碼庫(5.7版本)。

•boost:可移植的C++源代碼庫,使用Boost.Bind和Boost.Signals(1.42版本)。

•asio (>=1.1.0):asio是一個跨平臺的C++代碼庫,用於網絡編程(1.4.1版本)。

如果你通過源代碼編譯,還需要上面這些代碼庫的開發包(-dev)。libboost-下的開發包的數量相當多,所以要是你在編譯過程中遇到了任何問題,請先檢查libboost是不是安裝全了。

對於使用源代碼來運行的那些人來說,一旦你搞定了代碼庫要求,就可以獲取最新的tarball文件(下載地址)。解壓縮,在新的文件夾中打開終端,輸入以下命令:

$ ./configure
$ make

如果你的發行版使用sudo:

$ sudo make install

如果你的發行版使用root:

$ su
# make install

在我繼續下文之前,應該解釋一下:sinfo分平常的應用軟件部分和後臺守護程序這兩個部分。守護程序的安裝每個發行版都不同,這部分我就不具體說了,細節可以查看源代碼tarball文件的使用說明文件和官方網站。

使用

Sinfo是一款“半圖形用戶界面(GUI)”的命令行程序,使用起來實際上很容易,不過高級用戶會通過命令行的參數選項符讓它處理一些相當出色的任務。想讓該程序在基本模式下運行,只要輸入:

$ sinfo

sinfo

如果你只是在自己的機器上安裝了sinfo,顯示的信息將僅是你這臺機器的信息。你可以從這個屏幕上看到可用內存、處理器佔用率和主機名稱等信息。文末的附錄列出了適用的快捷鍵命令,只要按一個鍵,就可以切換該程序的不同部分。

不過在這種情況下,sinfo其實只是更漂亮的top而已。使用sinfo的目的是,你可以一下子顯示來自好幾臺機器的信息,以便密切監視局域網的運行情況。

要做到這一點也很容易:只要在網絡上的其他計算機上也安裝並運行sinfo,運行之後你就會發現兩臺計算機的信息分別在兩個計算機上都有顯示。繼續把它安裝到其他聯網計算機上,顯示列表就會越來越長。

這些只是基本功能,更豐富的功能方面又如何呢?很顯然,因篇幅所限,我沒法在這裏一一介紹(你其實應該查閱參考手冊頁,瞭解更多詳細內容),不妨看一下我偏愛使用的一些功能。

在命令行,如果你添加了-W參數選項符(或者--wwwmode),就像這樣:

$ sinfo -W

輸出就會從平常的類似top的屏幕變出HTML輸出——對於喜歡藉助自動化網頁等方面進行遠程管理的那些人來說,這非常方便。

在編寫某種命令行腳本時,你可以添加參數選項符-s(或者--ysteminfo)輸出一大段重要的系統信息。舉例來說,我的兩臺機器顯示了以下的額外信息:

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有許多潛在用途,我立即想到了可以在局域網派對(LAN party)上用於監視和故障排除。要是任何一個節點有問題,主機在試圖隔離這個問題時很可能就能夠立即着手處理。

結語

sinfo設計精巧,安裝方便,我認爲這款程序會很快闖出自己的一片天地。但願它會像其他標準應用軟件那樣變得司空見慣,成爲一款常用工具。也許對它進行移植就能實現這個目標。

附錄:sinfo鍵盤命令

•q鍵—退出sinfo。

•Page up鍵, Page down鍵 — 滾動屏幕,每次滾動一頁。

•Up arrow/u鍵, down arrow/d鍵 —滾動屏幕,每次滾動一行。

•Home鍵—跳到最上面一行。

•s鍵 — 切換顯示系統信息。

•o鍵 — 切換顯示你自己機器的進程。

•n鍵 — 切換顯示網絡信息。

•D鍵 — 切換顯示磁盤負載。

•t鍵 — 切換顯示主要的X個進程。

•c鍵 — 將處理器負載條形圖的標度從log(對數模式)、lin(線性模式)切換至full(全模式)。

想詳細瞭解sinfo,請訪問 http://www.ant.uni-bremen.de/whomes/rinas/sinfo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章