1. 程式人生 > >六大開源監測工具 你用過哪個?

六大開源監測工具 你用過哪個?

  摘要:本文分別介紹了6款實用的監控工具,不僅可以對你的網路資源進行監控,還可以監控伺服器、使用者請求、網站效能等,給您網站提供全面的,一站式的指導與監控。

 如果你認為網站建立了就萬事大吉,那麼你就大錯特錯了。在網站上線之後,你不僅需要維護,還需要不斷地對其可用性、可訪問性等進行監測及優化。 這也說明了網路監控軟體是何等重要。

本文分別介紹了6款實用的開源監控工具,不僅可以對你的網路資源進行監控,還可以監控伺服器、使用者請求、網站效能等,給您網站提供全面的,一站式的指導。

1. Munin

Munin是一款開源網路資源監控工具,可以分析資源趨勢、“剛剛是什麼讓效能死掉”方面的問題。可監控核心系統資源,包括記憶體、磁碟、CPU 佔用、伺服器應用如MySQL、Apache和Squid等。它使用起來非常方便,是一款即插即用型工具,並且提供了許多豐富的圖表。

Munin是一款通過客戶端——伺服器架構收集資料並將其圖形化的工具。Munin允許你跟蹤主機的執行記錄,就是所謂的節點,然後將它們傳送到中央伺服器,隨後就能以影象形式展示它們。

目前,Munin的最新版本是Munin 2.0.11.1,大家可以從GitHubSourceForge上下載該版本。

Pingdom是一家知名的監控服務提供公司,由Sam Nurmi創立,而Sam Nurmi曾是瑞典最大的網路託管公司Loopia的CEO。

使用Pingdom可以監控網際網路上多個地方的網站和伺服器,確保它們執行正常。除了提供網頁載入速度、DNS、Ping和路由、FTP伺服器、電子郵件等檢查,也提供線上時間監控。Pingdom的檢查和監控有收費也有免費的。只要註冊就可以享受免費版監控,其缺點是隻能監測1個站。


Graphite是一個企業級的監控工具,使用Python編寫,採用django框架。最初由Chris Davis在Orbitz工作時,作為一個輔助專案開發的,最終成一個基本的監控工具。

Graphite可用來收集伺服器所有的及時狀態、使用者請求資訊、Memcached命中率、RabbitMQ訊息伺服器的狀態、Unix作業系統的負載狀態。Graphite伺服器大約每分鐘需要有4800次更新操作,簡單的文字協議和強大的繪圖功能可以方便地擴充套件到任何需要監控的系統上。

Graphite將資料以圖形的形式展現出來。它主要做兩件事:儲存時間序列資料、根據需要呈現資料的圖形。目前,Graphite的最新版本是0.9.10,原始碼託管在

launchpad.net上。

       

Ganglia是UC(University of California)Berkeley發起的一個開源叢集監視專案,Ganglia是一個跨平臺可擴充套件的,高效能運算系統下的分散式監控系統。它已被廣泛地移植到各種作業系統和處理器架構上,目前在世界各地成千上萬的叢集中應用。

Ganglia Web 3.5.7版已經發布,託管在Sourceforge上。Ganglia的核心包含了gmond、gmetad以及一個Web前端。

Ganglia主要是用來監控系統性能,如:CPU、記憶體、硬碟利用率、I/O負載、網路流量情況等,通過曲線很容易見到每個節點的工作狀態,對合理調整、分配系統資源,提高系統整體效能起到重要作用。

Nagios原名為NetSaint,由Ethan Galstad開發並維護至今。Nagios是企業級的監控系統,能有效監控Windows、Linux和Unix的主機狀態以及交換機路由器等網路設定,印表機等。

 

Nagios最大的特點就是能在系統或服務狀態異常時發出郵件或簡訊報警,第一時間通知網站運維人員,在狀態恢復後發出正常的郵件或簡訊通知。 

collectd是一款用C語言開發的開源的效能監測工具,無需系統cron支援、簡單易用。collectd是外掛式架構,主要分為輸入、輸出型別外掛。


當系統執行和儲存資訊的時候,collectd會週期性地統計系統相關資訊。那些資訊可以用來找到當前系統性能瓶頸。與其他監測工具相比,collectd它完全是由C語言編寫,效能很高、可移植性好,它允許執行在系統沒有指令碼語言支援或者cron daemon的系統上,比如嵌入式系統。同時,它包含優化以及處理成百上千種資料集的新特性。

collectd包含有超過70多種外掛,同時,collectd提供強大的網路聯網特性,它能以多種方式來擴充。

而collectd不足之處則是不能直接生成圖片。雖然它能寫RRD檔案,但是它不能從這些檔案生成圖形。目前collectd的最新版本為5.2.1,原始碼託管在GitHub上。

以上這些產品大部分是開源的,對於中小型公司來說,利用開源產品能大大提高團隊的開發效率。而且這些產品都擁有非常活躍的社群,遇到問題後能得到很好的解決。