一、 理論基礎
1. Nagios理論基礎
Nagios介紹:
Nagios是一款流行的開源免費IT基礎實施監控系統,能有效監控Windows、Linux和Unix的主機狀態,交換機、路由器、打印機等,在系統或者服務狀態異常時發出短信/郵件報警,第一時間通知運維人員,Nagios結構簡單,可維護性強。
Nagios全名爲(Nagios Ain't Goona Insist onSaintood)=NetSaint ,由EthanGalstad開發並維護,Nagios爲一個縮寫形式,
Nagios主要功能:
*網絡服務監控(SMTP/POP3/HTTP/NNTP/ICMP/SNMP/FTP/SSH)
*主機資源監控(CPU load/disk usage/System logs),也包括Windows主機(使用NSClient++ Plugin)
*可以指定自己編寫的plugin通過網絡收集數據來監控任何情況(溫度、警告....)
*可以通過配置Nagios遠程執行插件、遠程執行腳本
*遠程監控支持SSH或SSL加密通道方式進行監控
*簡單的plugin設計允許用戶很容易的開發自己需要的檢測服務,支持很多種開發語言(shell、scripts、c++、perl、ruby、python、php、c#等)
*包含很多圖形化數據plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)
*可並行任務檢測
*能夠定義網絡主機的層次,允許逐級檢查,就是從父主機開始向下檢查
*當服務或主機出現問題時發出通過,可通過email、pager、sms或任意用戶自定義的plugin進行通知
*能夠自定義事件處理機制重新激活出問題的服務或主機
*自動日誌循環
*支持冗餘監控
*包括web界面可以查看當前網絡狀態、通知、問題歷史,日誌文件等
Nagios結構&原理:
Nagios從結構上說,可分爲核心和插件令部分組成,,Nagios的核心部分提供很少的監控功能,而要落實到具體的監控項目,需要安裝相應的插件。
啓動Nagios後,它會週期性的自動調用插件去檢測服務器的運行狀態,同時Nagios會維持一個隊列,所有插件返回來的狀態信息都會進入隊列,Nagios每次都從隊列首開始讀取信息,並進行處理,把狀態通過web顯示出來。
Nagios提供了許多插件,利用這些插件可以方便的監控很多服務器的狀態。安裝完成後,在Nagios注目錄下/libexec裏放有nagios自帶的可以使用的所有插件。每個插件可以通過./check_xxx -h 來查看其使用方法和功能。
Nagios 可以識別4中狀態返回信息,即0(ok)標識正常/綠色,1(WARNING)表示出現警告/***、2(CRITICAL)表示出現非常嚴重的錯誤/紅 色、3(UNKNOWN)表示未知錯誤/深***。Nagios根據插件返回來的值,來判斷監控對象的狀態,並通過web界面顯示處理,以供管理員及時發現故障。
Nagios監控系統架構圖:
Nagios通過NRPE來遠端管理服務
1.Nagios執行安裝在裏面的check_nrpe插件,並告訴check_nrpe去檢測哪些服務。
2.通過SSL,check_nrpe連接遠端機子上的NRPE daemon
3.NRPE運行本地的各種插件去檢測本地的服務和狀態(check_disk...,etc)
4.最後,NRPE把檢測的結果傳給主機端的check_nrpe,check_nrpe再把結果送到Nagios狀態隊列中。
5.Nagios一次讀取隊列中的信息,在把結果顯示出來。
2. Centreon理論基礎
Centreon介紹
centreon是開源的IT監控軟件,由法國人於2003年開發,最初名爲Oreon,並於2005年正式更名爲:centreon。
centreon 作爲nagios的分佈式監控管理平臺,其功能強大,打造了centreon在IT監控方面的強勢地位,它的底層使用nagios監控軟件,nagios 通過ndoutil模塊將監控數據寫入數據庫,centreon讀取該數據並即時的展現監控信息,通過centreon可以簡單的管理和配置所有 nagios,因此,完全可以使用centreon輕易的搭建企業級分佈式IT運維監控系統。
Nagios+Centreon可謂開源監控 的黃金搭檔,簡單來說Centreon是一個管理和控制Nagios的工具,並在Nagios的基礎上增加的畫圖的功能,通過Centreon的web界 面可以很容易添加主機、服務,修改模板等,並能自動的將Nagios生成的監控數據生成圖像顯示。
Nagios+Centreon架構圖: