1. 程式人生 > >Nagios基礎和監控原理

Nagios基礎和監控原理

1 Nagios簡介

    Nagios是一款開源的IT監控軟體套件,被開發在Linux下使用,能有效監控Windows、Linux和Unix的主機狀態,交換機路由器等網路設定,印表機等。在系統或服務狀態異常時發出郵件或簡訊報警第一時間通知網站運維人員,在狀態恢復後發出正常的郵件或簡訊通知。

 Nagios產品主要有Nagios XI、Nagios Log Server、Nagios Network Analyzer、Nagios Fusion。Nagios專案主要包括Nagios Core核心部分、Nagios Core Plugins外掛、Nagios Core Addons拓展外掛、Nagios Core Frontends前臺應用四個部分。

1.1 Nagios功能介紹

1. 監控網路服務(SMTP、POP3、HTTP、FTP、PING等);  
2. 監控本機及遠端主機資源(processor、CPU load、disk usage等),也包括Windows機    (使用NSClient++plugin);   
  1. 允許使用者編寫plugin來監控特定的服務,方便擴充套件使用者服務的檢測方法,支援多種開發語言(Shell、Perl、Python、PHP等);
  2. 能夠定義網路主機的層次,允許逐級檢查,可從父主機開始向下檢查;
  3. 當服務或主機問題產生與解決時將告警傳送給聯絡人(通過EMail、簡訊、使用者定義方式);
  4. 可以通過配置Nagios遠端執行外掛遠端執行指令碼;
  5. 遠端監控支援SSH或SSL通道方式;
  6. 支援並實現對主機的冗餘監控;
  7. 可用WEB介面檢視當前的網路狀態、通知和故障歷史、日誌檔案等

2 Nagios監控原理

Nagios的功能是監控服務和主機,但是他自身並不包括這部分功能,所有的監控、檢測功能都是通過各種外掛來完成的。

2.1Nagios監控架構

            Nagios結構主要由Nagios core、Nagios-plugins和一些可選的Addon(NRPE,NSCA,NDOUtils等等)組成,實際生產中,Nagios core提供的監控功能遠不能滿足需求,要想搭建一個完善的IT監控管理系統,需要在Nagios監控端與被監控端安裝相應功能的Addon,下載地址http://www.nagios.org/,也可根據實際需求編寫所需的外掛。

一般情況下,Nagios監控端部署於獨立的一臺伺服器(Linux或Unix作業系統),包括至少Nagios core,Nagios Plugins以及可選的NRPE,NSCA等Addon。被監控端:Linux系統下,需安裝Nagios plugins與可選NRPE、NSCA等Addon;windows下,安裝NSClient++即可。

2.2 常見外掛介紹

             幾個常用的Addon如下:  1.NRPE:允許在被監控的遠端Linux/UNIX主機上執行外掛以實現對主機本地資源或屬性的監控;  2.NSCA:該外掛將遠端Linux/Unix主機的被動檢查結果傳送到在監控端執行的Nagios守護程式;  3.NSClient++:它是Windows系統的監視代理程式/守護程式,它是NSClient和NRPE_NT的替代品;  4.NDOUtils:實現將Nagios中的所有狀態資訊儲存在MySQL資料庫中。

2.3四種監控返回結果

                Nagios可以識別4種狀態返回資訊,即 0(OK)表示狀態正常/綠色、1(WARNING)表示出現警告/×××、2(CRITICAL)表示出現非常嚴重的錯誤/紅色、3(UNKNOWN)表示未知錯誤/深×××。Nagios根據外掛返回來的值,來判斷監控物件的狀態,並通過web顯示出來,以供管理員及時發現故障。

Nagios基礎和監控原理

2.4監控過程

            啟動Nagios後,它會週期性的自動呼叫外掛去檢測伺服器狀態,同時Nagios會維持一個佇列,所有外掛返回來的狀態資訊都進入佇列,Nagios每次都從隊首開始讀取資訊,並進行處理後,把狀態結果通過web顯示出來。 
         Nagios提供了許多外掛,利用這些外掛可以方便的監控很多服務狀態。安裝完成後,在nagios主目錄下的/libexec裡放有nagios自帶的可以使用的所有外掛,如,check_disk是檢查磁碟空間的外掛,check_load是檢查CPU負載的,等等。每一個外掛可以通過執行./check_xxx –h 來檢視其使用方法和功能。  

2.5Nagios 通過NRPE 監控遠端管理服務過程

Nagios基礎和監控原理

  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 依次讀取佇列中的資訊,再把結果顯示出來。