針對Linux集群的高階監控工具sinfo概述

2021-09-30 23:19:22 字數 2608 閱讀 8003

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

sinfo是一款監視工具,使用廣播方案來發布關於你本地網路上每一台計算機的執行狀況的資訊。它支援顯示多方面的內容,比如處理器、記憶體使用情況、網路負載以及關於每一台計算機上五個主要程序的資訊。sinfo使用ncurses,以一目了然的方式來顯示資訊。

安裝過程

如果你使用基於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是不是安裝全了。

$ ./configure

$ make

如果你的發行版使用sudo:

$ sudo make install

如果你的發行版使用root:

$ su

在我繼續下文之前,應該解釋一下:sinfo分平常的應用軟體部分和後台守護程式這兩個部分。守護程式的安裝每個發行版都不同,這部分我就不具體說了,細節可以檢視源**tarball檔案的使用說明檔案和官方**。

使用sinfo是一款「半圖形使用者介面(gui)」的命令列程式,使用起來實際上很容易,不過高階使用者會通過命令列的引數選項符讓它處理一些相當出色的任務。想讓該程式在基本模式下執行,只要輸入:

$ 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(全模式)。

針對Linux集群的高階監控工具sinfo概述

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

針對http協議的監控

http協議僅僅是乙個應用層協議,它使用了傳輸層tcp協議的功能而已,因此http協議在tcp的語義成立的情形下可以自由發揮,正是由於這種自由發揮導致了監控http成為了可能,本質原因在於,無疑,http還是要聽tcp的。設客戶端a,http目的位址為w,監控主機為b,序列如下 a w 傳送正常的h...

storm集群的監控

所謂兵馬未動,糧草先行,準備將storm用在某個專案中做實時資料分析。無論任何系統,一定要有監控系統並存,當故障發生的時候你能第乙個知道,而不是讓別人告訴你,那處理故障就很被動了。因此我寫了這麼個專案,取名叫storm monitor,放在了github上 主要功能如下 1.監控supervisor...