Nagios基礎和監控原理

1 Nagios簡介

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

Nagios產品主要有Nagios XI、Nagios Log Server、Nagios Network Analyzer、Nagios Fusion。Nagios項目主要包括Nagios Core核心部分、Nagios Core Plugins插件、Nagios Core Addons拓展插件、Nagios Core Frontends前臺應用四個部分。web

1.1 Nagios功能介紹

  1. 監控網絡服務(SMTP、POP三、HTTP、FTP、PING等);
  2. 監控本機及遠程主機資源(processor、CPU load、disk usage等),也包括Windows機 (使用NSClient++plugin);
  3. 容許用戶編寫plugin來監控特定的服務,方便擴展用戶服務的檢測方法,支持多種開發語言(Shell、Perl、Python、PHP等);
  4. 可以定義網絡主機的層次,容許逐級檢查,可從父主機開始向下檢查;
  5. 當服務或主機問題產生與解決時將告警發送給聯繫人(經過EMail、短信、用戶定義方式);
  6. 能夠經過配置Nagios遠程執行插件遠程執行腳本;
  7. 遠程監控支持SSH或SSL通道方式;
  8. 支持並實現對主機的冗餘監控;
  9. 可用WEB界面查看當前的網絡狀態、通知和故障歷史、日誌文件等

2 Nagios監控原理

Nagios的功能是監控服務和主機,可是他自身並不包括這部分功能,全部的監控、檢測功能都是經過各類插件來完成的。數據庫

2.1Nagios監控架構

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

通常狀況下,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 依次讀取隊列中的信息,再把結果顯示出來。
相關文章
相關標籤/搜索