Nagios簡介php
Nagios是一款開源的電腦系統和網絡監視工具,能有效監控Windows、Linux和Unix的主機狀態,交換機路由器等網絡設備,打印機等。在系統或服務狀態異常發出郵件或短信報警第一時間通知網站運維人員,在狀態恢復後發出正常的郵件或者短信通知。python
Nagios原名爲:NetSaint,由Ethan Galstad開發並維護至今。NAGIOS是一個縮寫形式。Nagios被開發在Linux下使用。可是在Unix下也工做的很是好。ios
主要功能: c++
Nagios工做原理 web
Nagios的功能是監控服務和主機,可是他自身並不包括這部分功能,全部的監控,檢測功能都是經過各類插件來完成的。shell
啓動Nagios後,它會週期性的自動調用插件去檢測服務器狀態,同時Nagios會維持一個隊列,全部插件返回來的 狀態信息都進入隊列,Nagios每次都從隊首開始讀取信息,並進行處理後,把狀態結果經過Web顯示出來。數據庫
Nagios提供了許多插件,利用這些插件能夠方便的監控不少服務狀態。按章完成後,在Nagios主目錄下的/libexec裏放有Nagios自帶的可使用的全部插件,如:check_disk是檢查磁盤空間的插件,check_load是檢查CPU負載的,等等。每個插件能夠經過運行./check_xxx_ -h 來查看其使用方法和功能。apache
Nagios能夠識別四種狀態返回信息,即0(ok)表示狀態正常/綠色,1(Warning)表示出現警告/黃色,2(Critical)表示出現嚴重錯誤/紅色,3(Unknown)表示未知錯誤/深黃色。Nagios根據插件返回來的值,來判斷監控對象的狀態,並經過web顯示出來,以供管理員及時發現故障。c#
再說報警功能,若是監控系統發現問題不能報警那就沒有意義了,因此報警也是Nagios很重要的功能之一。可是,一樣的,Nagios自身也沒有報警部分 的代碼,甚至沒有插件,而是交給用戶或者其餘相關開源項目組去完成的。centos
Nagios安裝,是指基本平臺,也就是Nagios軟件包的安裝,它是監控體系的框架,也是全部監控的基礎。
打開Nagios的官方文檔,會發現Nagios基本上沒有什麼依賴包,只要求系統是Linux或者其餘Nagios支持的系統。㘝若是你沒有安裝Apache(HTTP服務),那麼你就沒有那麼直觀的界面來查看監控信息了,因此Apache姑且算是一個前提條件。關於Apache的安裝,網上有不少,安裝完看看是否正常運行就能夠了。
知道Nagios是如何經過插件來管理服務器對象後,如今開始研究它是如何管理遠程服務器對象的。Nagios經過週期性的運行它來得到遠端服務器的各類狀態信息。他們之間的關係以下圖所示:
NSCA:Nagios service check acceptor
NDOUtils:從一個或多個Nagios實例導出當前和歷史數據到MySQL數據庫。
Nagios經過NRPE來遠程管理服務
1.Nagios執行安裝在它裏面的check_nrpe插件,並告訴check_nrpe去檢測那些服務。 2.經過SSL,check_nrpe連接遠端機子上的NRPE 的deamon 3.NRPE 運行本地的各類插件去檢測本地的服務和狀態(check...disk...etc) 4.最後,NRPE把檢測的結果傳給主機端的check_nrpe,check_nrpe再把結果送到Nagios狀態隊列中。 5.Nagios依次讀物隊列中的信息,再把結果顯示出來。
host1.zyg.com Nagios-Server 192.168.5.101 Apache、Pho、Nagios、nagios-plugins
host2.zyg.com Nagios-Linux 192.168.5.102 nagios-plugin、nrpe
Server 安裝了Nagios軟件,對監控的數據作處理,而且提供web界面查看和管理。固然也能夠對本機自身的信息進行監控。
Client 安裝了NRPE等客戶端,根據監控機的請求執行監控,而後將結果回傳給監控機。
[root@localhost ~]# yum install -y wget httpd php gcc glibc glibc-common gd gd-devel make net-snmp unzip openssl-devel [root@localhost ~]#
============================================================================================================================================== Package 架構 版本 源 大小 ============================================================================================================================================== 正在安裝: gd-devel x86_64 2.0.35-26.el7 base 79 k httpd x86_64 2.4.6-80.el7.centos.1 updates 2.7 M net-snmp x86_64 1:5.7.2-33.el7_5.2 updates 330 k php x86_64 5.4.16-45.el7 base 1.4 M 爲依賴而安裝: httpd-tools x86_64 2.4.6-80.el7.centos.1 updates 90 k libXpm-devel x86_64 3.5.12-1.el7 base 36 k libjpeg-turbo-devel x86_64 1.2.90-5.el7 base 98 k libpng-devel x86_64 2:1.5.13-7.el7_2 base 122 k libzip x86_64 0.10.1-8.el7 base 48 k mailcap noarch 2.1.41-2.el7 base 31 k net-snmp-agent-libs x86_64 1:5.7.2-33.el7_5.2 updates 705 k php-cli x86_64 5.4.16-45.el7 base 2.7 M php-common x86_64 5.4.16-45.el7 base 565 k 事務概要 ============================================================================================================================================== 安裝 4 軟件包 (+9 依賴軟件包)
添加一個測試帳戶
[root@localhost ~]# useradd nagios [root@localhost ~]# groupadd nagcmd [root@localhost ~]# usermod -a -G nagcmd nagios [root@localhost ~]# usermod -a -G nagios,nagcmd apache [root@localhost ~]#
而後按照網上的方法進行安裝便可,安裝完以後能夠經過web界面進行訪問
。。。。
安裝出現了一點問題,無法測試了。下邊的內容基本都是一些理論內容,從各個文檔摘抄的
Nagios主要用於監控一臺或者多臺本地主機及遠程的各類信息,包括本機資源以及對外的服務等。默認的Nagios配置沒有任何監控內容,僅僅是一些模板文件。若要讓Nagio提供服務,就必需要修改配置文件。增長要監控的主機和服務。
配置文件之間的關係
在Nagios的配置過程當中涉及到的幾個定義有:主機、主機組、服務、服務組、聯繫人、聯繫人組、監控時間、監控命令等,從這些定義能夠看出,Nagios各個配置文件之間是互爲關聯,彼此引用的。
成功配置出一臺Nagios監控系統,必需要弄清楚每一個配置文件之間依賴於被依賴的關係,最重要的有四點:
爲了能更清楚的說明問題,同時也爲了維護方便,建議將Nagios各個定義對象建立獨立的配置文件:
配置文件的詳細介紹。。。。
剩下的用到了再換個服務器測試。線上服務器不敢隨便亂來。。。
有問題歡迎討論。
。