這裡介紹幾個免費的伺服器或網路監控工具,可以讓管理者更容易掌控整個系統的狀態。
如果可以在系統發生任何異常狀況時就立即察覺,對於一個網站或網路的管理者而言會是非常有用的,以下有許多開放原始碼的工具可以幫助系統管理者進行各項監控工作,你可以依照自己的需求選擇適合自己的來使用。
Monit 是一個開放原始碼的整合性工具,它不只會監控系統的狀態,在系統出現異常時,他還會根據設定採取一些補救措施,例如當資料庫的服務中斷時,你可以設定讓它嘗試重新啟動(restart),而通常這樣的問題也都是這樣處理的。
如果你需要一次監控多台主機,就可以考慮使用 M/Monit(Monit 的進階版本),它提供了更完整的的監控功能,另外也有手機本的監控程式,讓你使用 iPhone 就可以及時掌握系統的狀態,不過缺點是這個 M/Monit 是要付費的。
Ganglia 是一個可擴充性的分散式系統監控工具,主要適用於各種高效能計算環境,例如叢集電腦(cluster)或格網(grid)計算環境等。在技術上 Ganglia 使用了許多通用性的資料格式與技術,加上強韌的實作,目前 Ganglia 已經被移植到各種的系統中,全球已經有數千台叢集電腦採用 Ganglia 作為監控工具。
Munin 是一個可以監控系統各項資訊的工具,將所有的資訊記錄下來之後並產生報表,以圖形的方式顯示在網頁上。
它可以監控的項目很多,包含各種系統資訊、網路、硬碟、MySQL 資料庫、Apache 網頁伺服器等,由於它的 plugin 語法簡單,只需要幾行指令就可以建立一個 plugin,所以你可以很容易加入各種監控功能,甚至是跟系統不相干的也可以,例如天氣狀況。
Cacti 跟 Munin 類似,他跟 Munin 不同的地方在於它可以任意指定想要查看的資料區間(Munin 的區間是固定的),例如你可以查看最近 2 小時、4 小時或 6 小時的資料。
Nagios 是一個比較複雜的監控工具,在安裝與設定上比較有難度,不過相對的它也擁有非常豐富且強大的功能,這個工具比較適合一些有經驗的系統管理者使用。
Nagios 支援多主機的監控,而且也可以在出現問題時自動發送 email 或簡訊通知管理者,另外也可以像 Monit 一樣嘗試自動修復系統。
Zabbix 是一個打包好的監控工具,有出色的視覺化功能,另外也可以傳送 email、SMS 簡訊、即時訊息或發出聲音通知,如果管理者剛好在主機旁邊,就可以透過這樣的方式通知。
Observium 是一個適用於 Linux、BSD 與 Cisco 網路設備的監控工具,他可以自動偵測網路上的設備,幫助你找出想要監控的目標。
Observium 提供了詳細的圖表顯示功能,另外也可以結合 Nagios 或 Collectd 提供更多的功能與介面。
Zenoss 是商業監控軟體 Zenoss Enterprise 的開放原始碼版本,由於他支援 Nagios plugin,所以任何 Nagios 的 plugin 都可以直接在上面使用,另外它的使用介面在設計上讓使用者很容易使用,且功能也很強大。
Collectd 與 Munin、Cacti 相似,都可以產生圖表,但是 Collectd 的效能與可移植性較好,也就是說 Collectd 很適合用於比較老舊或效能較差的伺服器中,甚至崁入式的系統(embedded system)也可以,它可以每 10 秒收取一次系統資訊,而不會影響正常的系統運作。另外你可以使用 C、Perl 或 Java 來撰寫 Collectd 的擴充功能。
Argus 是用來監控網路的工具,支援 IPv4 與 IPv6,當發現網路異常時,會傳送通知訊息,若過一段時間還沒解決,它還會發送另一封訊息給另外一位管理者。
參考資料:bluetape