Nagios簡介及安裝配置

說明:本機地址爲202.207.178.7

一、Nagios概述

1、簡介

   Nagios是插件式的結構,它本身沒有任何監控功能,所有的監控都是通過插件進行的,因此其是高度模塊化和富於彈性的。Nagios監控的對象可分爲兩類:主機和服務。主機通常指的是物理主機,如服務器、路由器、工作站和打印機等,這裏的主機也可以是虛擬設備,如xen虛擬出的Linux系統;而服務通常指某個特定的功能,如提供http服務的httpd進程等。而爲了管理上的方便,主機和服務還可以分別被規劃爲主機組和服務組等。


   Nagios不監控任何具體數值指標(如操作系統上的進程個數),它僅用四種抽象屬性對被監控對象的狀態進行描述:OK、WARNING, CRITICAL和UNKNOWN。於是,管理員只需要對某種被監控對象的WARNING和CRITICAL狀態的閾值進行關注和定義即可。Nagios通過將WARTING和CRTICAL的閾值傳遞給插件,並由插件負責某具體對象的監控及結果分析,其輸出信息爲狀態信息(OK,WARNING,CRITICAL或UNKOWN)以及一些附加的詳細說明信息。


2、特性

   由上述說明可以,Nagios是極富彈性的,其監控功能完全可以按照管理員的期望進行。此外,它外提供了對問題的自動響應能力和一個功能強大的通知系統。所有這些功能的實現是基於一個結構明晰的對象定義系統和少數幾個對象類型實現的。


1) 命令(Commands)


 “命令”用於定義Nagios如何執行某特定的監控工作。它是基於某特定的Nagios插件定義出的一個抽象層,通常包含一組要執行的操作。


2)時段(Time periods)


 “時段”用於定義某“操作”可以執行或不能執行的日期和時間跨度,如工作日內的每天8:00-18:00等;


3)聯繫人和聯繫人組(Contacts and contact groups)


 “聯繫人”用於定義某監控事件的通知對象、要通知的信息以及這些接收通知者何時及如何接收通知;一個或多個聯繫人可以定義爲聯繫人組,而一個聯繫人也可以屬於多個組;


4) 主機和主機組(host and host groups)


 “主機”通常指某物理主機,其包括此主機相關的通知信息的接收者(即聯繫人)、如何及何時進行監控的定義。主機也可以分組,即主機組(host groups),一個主機可同時屬於多個組;


5) 服務(Services)


 “服務”通常指某主機上可被監控的特定的功能或資源,其包括此服務相關的通知信息的接收者、如何及何時進行監控等。服務也可以分組,即服務組(Service groups),一個服務可同時屬於多個服務組;


3、依賴關係

    Nagios的強大功能還表現在其成熟的依賴關係系統上。比如,某路由設備故障必然會導致關聯在其上的其它主機無法被正常訪問,如果不能定義這些設備間的依賴關係,那麼監控系統上必然會出現大量的設備故障信息。而Nagios則通過依賴關係來描述網絡設備的拓撲結構,並能夠實現在某設備故障時不再對依賴於此設備的其它設備進行檢測,從而避免了無謂的故障信息,方便管理員及時定位並排除故障。此外,Nagios的依賴關係還可以在服務級別上實現,如果某服務依賴於其它服務時,也能實現類似主機依賴關係的功能。


4、宏

   Nagios還能夠使用宏,並且宏的定義在整個Nagios系統中具有一致性。宏是能夠用於對象定義中的變量,其值通常依賴於上下文。在“命令”中定義的宏,相對於主機、服務或其它許多參數來說,其值會隨之不同。比如,某命令可以根據向其傳遞的IP地址的不同來監控不同的主機。


5、計劃中宕機

   Nagios還提供了調度性計劃中的宕機機制,管理員可以週期性的設定某主機或服務爲計劃中的不可用狀態。這種功能可以阻止Nagios在調度宕機時段通知任何信息。當然,這也可以讓Nagios自動通知管理員該進行主機或服務維護了。


6、軟狀態和硬狀態(Soft and Hard States)

    如上所述,Nagios的主要工作是檢測主機或服務的狀態,並將其存儲下來。某一時刻,主機或服務狀態僅可以是四種可用狀態之一,因此,其狀態能夠正確反映主機或服務的實際狀況就顯得特別關鍵。爲了避免某偶然的臨時性或隨機性問題,Nagios引入了軟狀態和硬狀態。在實際的檢測中,Nagios一旦發現某主機或服務的狀態爲UNKOWN或不同於上一次檢測時的狀態,其將會對此主機或服務進行多次測試以確保此狀態的變動是非偶然性的。具體共要做出幾次測試是可以配置的,在這個指定次數的測試時段內,Nagios假設此變化後的狀態爲軟件狀態。一旦測試完成後狀態仍然爲新變的狀態時,此狀態就成了硬狀態。


二、安裝配置Nagios


1、安裝前的準備工作

(1)解決安裝Nagios的依賴關係:

Nagios基本組件的運行依賴於httpd、gcc和gd。可以通過以下命令來檢查nagios所依

        賴的rpm包是否已經完全安裝: 

 # yum -y install httpd gcc glibc glibc-common gd gd-devel php php-mysql 

          mysql mysql-devel mysql-server

說明:以上軟件包您也可以通過編譯源代碼的方式安裝,只是後面許多要用到的相關               文件的路徑等需要按照您的源代碼安裝時的配置逐一修改。此外,您還得按需啓               動必要的服務,如httpd等。

(2)添加nagios運行所需要的用戶和組:

# groupadd  nagcmd

# useradd -G nagcmd nagios

# passwd nagios

(3)把apache加入到nagcmd組,以便於在通過web Interface操作nagios時能夠具有權限:

# usermod -a -G nagcmd apache

2、編譯安裝nagios:

# tar zxf nagios-3.3.1.tar.gz 

# cd nagios

# ./configure --sysconfdir=/etc/nagios --with-command-group=nagcmd 

     --enable-event-broker 

# make all

# make install

# make install-init

# make install-commandmode

# make install-config


1)爲email指定您想用來接收nagios警告信息的郵件地址,默認是本機的nagios用戶:

# vi /usr/local/nagios/etc/objects/contacts.cfg 

email        nagios@localhost       #這個是默認設置


1)在httpd的配置文件目錄(conf.d)中創建Nagios的Web程序配置文件:

# make install-webconf


2)創建一個登錄nagios web程序的用戶,這個用戶帳號在以後通過web登錄nagios認證時所用

# htpasswd -c /etc/nagios/htpasswd.users nagiosadmin


以上過程配置結束以後需要重新啓動httpd:

# service httpd restart


3、編譯安裝nagios-plugins


    nagios的所有監控工作都是通過插件完成的,因此,在啓動nagios之前還需要爲其安裝官方提供的插件。

# tar zxf nagios-plugins-1.4.15.tar.gz 

# cd nagios-plugins-1.4.15

# ./configure --with-nagios-user=nagios --with-nagios-group=nagios

# make

# make install


4、配置並啓動Nagios


1)把nagios添加爲系統服務並將之加入到自動啓動服務隊列:

# chkconfig --add nagios

# chkconfig nagios on


2)如果上面的語法檢查沒有問題,接下來就可以正式啓動nagios服務了:

# service nagios start


3)配置selinux和防火牆

#service iptables stop

#setenforce 0



4)通過web界面查看nagios:

http://202.207.178.7/nagios

登錄時需要指定前面設定的web認證帳號(nagiosadmin)和密碼(123456)。


三、nagios目錄介紹:

bin Nagios 可執行程序所在目錄

/etc/nagios Nagios 配置文件所在目錄

sbin Nagios CGI 文件所在目錄,也就是執行外部命令所需文件所在的目錄

share Nagios網頁文件所在的目錄

libexec Nagios 外部插件所在目錄

var/Nagios 日誌文件、lock 等文件所在的目錄

var/archives Nagios 日誌自動歸檔目錄

var/rw 用來存放外部命令文件的目錄


                            歡迎批評指正!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章