系統服務與資源的監控軟體─Monitorix

系統管理師因應繁重的系統管理工作,會藉由自動化工具的協助,既不必隨時坐在主機前監控執行狀況,又可以立即了解系統目前的運作狀況,進而查出系統效能的瓶頸所在。

網路上有許多類似的軟體。先前自由軟體鑄造場電子報刊登過「以 Nagios 實作服務監控系統一文,所談的 Nagios 與本文主角 Monitorix 功能類似。因此本文除了介紹 Monitorix 外,也會比較 Monitorix 與 Nagios 的不同之處,供使用者參考。

Monitorix 官方網站:https://www.monitorix.org/

 

Monitorix 簡介

圖1: Monitorix 的官方網站

▲圖1:Monitorix 的官方網站

Monitorix 是一套採用 GPL 授權的系統監控程式,可以用來監控系統服務與系統資源的使用情況。Monitorix 雖然被廣泛用在各種 UNIX/Linux 的大型主機之中,但因為採用輕量化設計,且操作簡單,非常適合一般系統監控的需求。

Monitorix 在運作上主要分為兩部分,一為 Monitorix 的 daemon(常駐程式),使用 Perl 程式語言撰寫,是資料收集器。在 Monitorix 安裝完成之後,daemon 隨即在系統中運行,定時收集相關的資料。另外一個是 monitorix.cgi,為一 CGI 程式,此程式提供 Monitorix 使用者操作介面,讓使用者可以經由網頁瀏覽器查詢 Monitorix 收集整理的各種報表。

雖然目前 Monitorix 官方網站的最新版本僅提供 Red Hat 相關系列的作業系統安裝套件檔,但也提供原始碼的包裝檔 (tarball),使用者可自行下載,手動編譯後進行安裝。

Monitorix 的特色

Monitorix 的 daemon 開始運作後,會持續透過背景執行收集相關資料,當使用者上瀏覽器查詢,Monitorix 會以圖表顯示相關統計。其資料來源非常多元,包含系統負載相關的統計資訊、系統核心的使用程度,以及網路流量的使用情況等。以系統負載為例,除了常見的系統負載統計資訊以外,Monitorix 也統計目前活動中的行程數量,並顯示系統記憶體的量。 每一種統計報表會依照統計資料的屬性分類,並顯示更細部的資訊,例如系統記憶體的使用統計報表中,除了列出主記憶體的使用量,也顯示這些記憶體被作為快取記憶體或緩衝記憶體的使用程度。而在使用者行程報表當中,則是將行程細分為睡眠與運作中等不同的狀態。

圖2: Monitorix 以圖形報表顯示統計資料

▲ 圖2: Monitorix 以圖形報表顯示統計資料

由於 Monitorix 把所有的統計資料都放在同一個網頁中,因此查詢時會顯得有些擁擠,使統計圖片中的資訊不易識別。此時只要用滑鼠點選統計圖表,即可另外開啟一個新視窗,將該項目的圖表放大顯示。但使用大型圖片顯示也有一些缺點,例如一次只能在同一個視窗中顯示一張統計圖,無法同時檢視不同項目的統計資訊以進行比對。另外有一些顯示在主畫面的文字敘述,在放大版統計圖中也不會出現,造成查閱資料的不便。

圖3: 點選 Monitorix 報表上的圖片,即可顯示該項目的大型圖片以便於檢視資料

▲圖3:點選 Monitorix 報表上的圖片,即可顯示該項目的大型圖片以便檢視資料

另外,Monitorix 也提供了磁碟空間使用量、磁碟 I/O 活動量、網路流量、系統服務的利用程度,以及使用者登入次數與系統中斷發生次數等各種不同的統計資訊。其中在網路流量統計項目中,還會依照網路通訊協定的不同而產生更細部的統計報表。這些報表是否會被產生,主要視系統安裝的網路服務程式而定。例如系統安裝了電子郵件、SSH 伺服器、Samba 伺服器等,Monitorix 會分別統計各種通訊協定的網路流量,並各自以圖表顯示其使用量。所以,如果系統未安裝相對應的網路伺服器程式,該報表資料將會顯示為零。

除了依照不同通訊協定產生單獨的報表項目以外,在系統服務需求的報表當中,會一併統計所有系統服務的使用率,並以單一圖表進行顯示,使用者只要檢視這張統計圖表,即可得知各種不同網路服務在系統上的使用程度。

圖4: 網路統計報表中會顯示各種常見通訊協定的使用量,以便於了解系統中各種網路通訊協定使用方式

▲圖4:網路統計報表中會顯示各種常見通訊協定的使用量,便於了解系統中各種網路通訊協定的使用方式

由於 Monitorix 具有 daemon 的特性,隨著執行時間愈長,收集到的資料會大幅度的增加。當統計資料量較大時,如果只檢視單一天的各種網路流量、系統服務使用量等統計資訊,可能無法充分理解資料趨勢。若希望 Monitorix 顯示較長時段的統計資訊,可以在主畫面選擇欲顯示的資料統計區間。目前 Monitorix 可以選擇以天統計、以週統計、以月統計以及以年統計等四種不同的統計週期,足以應付大多數的使用需求。

除了可以自行選擇統計週期的長度之外,Monitorix 也可以讓使用者在主畫面的下拉式選單中直接選擇欲檢視的統計圖表,而不需要進入統計畫面檢視所有的資料報表。例如只打算查看磁碟 I/O 的活動量報表,則選擇該項目並決定統計區間,進入 Monitorix 的報表畫面後即可單獨檢視該項目的統計報表,不至於因為畫面上顯示的資料量過多而影響到資料查詢的處理過程。

圖5: 主畫面之中可以決定報表的統計期間,亦可決定是否直接進入某一項的統計圖表畫面

▲圖5:在主畫面可以決定報表的統計期間,亦可決定是否直接進入某一項的統計圖表畫面

03. Monitorix 與 Nagios 的比較

Nagios 的特色,是除了本身的功能外,開發社群也提供多種外掛模組。此外 Nagios 能夠在系統發生異常時自動發送通知信件,這二項功能都是 Monitorix 所沒有的。

然而 Nagios 的功能雖然強大,卻需要進行多項設定,才能讓系統正確運作。如果使用者需要的只是單純的系統監控功能,使用 Monitorix 會比 Nagios 方便得多。

除此之外,Nagios 沒有預設圖形介面,如果需要圖形化操作,需要另外安裝 Vshell 作為 Nagios 的圖形操作介面。即使安裝Vshell,其操作亦不如 Monitorix 簡便。

結語

除了已介紹過的 Nagios 和 Monitorix,網路上還可找到多種系統監控軟體,有的功能相當陽春,有的則包山包海。使用者應先了解自己的需求,才能決定該使用何種監控軟體來輔助管理系統。

作者簡介

翁卓立,逢甲大學資訊工程學系、台灣科技大學電子所畢業,目前擔任韌體研發工作,主要使用 Embedded Linux 進行產品開發。著有「Linux 進化特區:Ubuntu 10.04 從入門到精通」等書。




自由軟體鑄造場電子報 : 第 184 期 以開源播放器訂閱開放內容
標籤: system monitor,   system management,   monitor,   monitorix,   nagios,  
分類: 技術專欄