天天看點

在redhat5.4 上配置 nagios 之 NRPE實作遠端監控

 第一,   nagios 的插件介紹

1,nagios 是一款開源的網絡監控軟體,可以用來監控host ,service等對象,nagios能根據監控對像狀态的變化的改變,而進行通知管理者,當然 您可以選擇報警的方式(     E-mai,SMS(即短信服務))

2 nagios 通常有一個主程式,一個插件程式nagios-plugins和四個可選的ADDON 分别是NRPE,NSCA,NSClient++和Ndoutils 做成,當然nagios的監控工作都是通過插件來實作的,nagios和nagios-Plugins 是伺服器端工作必須的元件,而其他四個ADDON的作用分别是

   NRPE是用來監控遠端linux/unix 主機,用來執行遠端主機上的插件或者腳本,來進行監控主機的資源及其服務,當然用該中方法監控遠端linux/unix主機上的資源的話,必須nagios 服務端同時也要安裝該NRPE

   NSCA是用來被監控的遠端linux/unix 主機主動将監控資訊發送給nagios 服務端(在備援監控模式中用到,當在nagios的分布式監控中同樣也要用到該插件) 如果用NSCA插件進行監控遠端主機上的資源的話,同樣nagios 伺服器端同樣要安裝該插件

      NSClient++ 該插件是用來監控Window 主機上的資源的,    

             NDOUTILS ADDON主要用來将Nagios的配置資訊和event産生的資料存入資料庫(目前的beta版支援mysql和pgsql,穩定版隻支援mysql),以友善實作資料的快速檢索和處理,并且為其它通過web接口程式來管理這些資料提供了保障。

在一個大型應用中,可能存在多個獨立的或分布式布置的Nagios伺服器,這種環境中的每個Nagios伺服器通常被稱為一個Nagios執行個體。在多Nagios執行個體的環境中,既可以把所有執行個體的資料存入到一個資料庫,也可以将各執行個體的資料分别存儲。

在隻有一個Nagios執行個體環境中,其執行個體名稱通常為“default”;而在多執行個體的環境中,則需要為此些Nagios執行個體各自命名。

NDO Utils主要由以下四個部分組成:

1)NDOMOD Event Broker Module(NDOMOD.O):用來輸出Nagios程序産生的資料(data和logic),其前提是Nagios在編譯時開啟了Event broker的功能。同時,NDOMOD子產品還可以導出Nagios配置有關的資訊(包括Nagios監控程序運作時環境産生的動态資料)至檔案、Unix域套接字或者TCP套接字。NDO2DB将通過前面的這三種方式獲得Nagios的有關資料。

2)NDO2DB:用來接收由NDOMOD和LOG2NDO元件輸出的資訊并将之存儲在資料庫中。啟動時,NDO2DB程序将建立一個TCP套接字或Unix域套接字以監聽用戶端(輸出端)的連接配接請求。目前僅支援MySQL資料庫。

多個用戶端可以同時向一個NDO2DB守護程序輸出資料,此時的NDO2DB将為每一個連接配接進來的用戶端(Nagios執行個體)建立一個連接配接程序,以實作每個用戶端資料的獨立存儲、檢索和處理。 

3)LOG2NDO:用來将Nagios的曆史日志通過NDO2DB程序輸出至資料庫。LOG2NDO與NDO2DB程序通信的方法依然是标準檔案、Unix域套接字或者TCP套接字三種。

4)FILE2SOCK:從标準檔案或标準輸入讀入資料,并将之輸出至Unix域套接字或TCP套接字。當NDOMOD或LOG2NDO将資料輸出至标準檔案時,此工具則可用來将這些标準檔案中資料讀出并發送給NDO2DB程序監聽的TCP套接字或Unix域套接字。

<a target="_blank" href="http://blog.51cto.com/attachment/201011/174925921.jpg"></a>

下面是nagios 的元件的架構圖,如下:

<a target="_blank" href="http://blog.51cto.com/attachment/201011/174845668.jpg"></a>

第二 ,首先在nagios伺服器上安裝NRPE插件

 1解壓并按裝NRPE

 # tar xvf nrpe-2.12.tar.gz

 # cd   xvf nrpe-2.12

   #。/config

   #make all

   #make install-plugin

   #make install-daemon

       #make install-daemon-config

       #make install-xinetd

       # cp nrpe.cfg /usr/local/nagios/etc

#cp src/nrpe /usr/local/nagios/bin

#cp init-script /etc/init.d/nagios-nrpe

#chmod +x /etc/init.d/nagios-nrpe

2 同樣也要為nagios指定固定端口,隻要該端口沒被占用就可以,也沒有必要指定的是5666

    為nrpe指定固定的端口

#vim /etc/service

nrpe   5666/tcp   #NRPE

3 配置超級守護程序中管理nrpe

       #cd /etc/xinetd.d/nrpe

        only_from   = 127.0.0.1 &lt;nagios_ip_address&gt;注: 必須添加nagios的服務端的位址如果為配置允許nagios服務端的位址的話,nagios 伺服器不能正常通過nrpe 進行監控該主機、

4啟動NRPE的背景守護程序

      /usr/local/nagios/bin/nrpe   -c /usr/local/nagios/etc/nrpe.cfg –d

而該指令生成的日志在系統日志中(即/var/log/message)中。如果沒有錯誤,就基本上是完成了

5在nagios伺服器上田間指令

   #cd /usr/local/nagios/etc/object

   #vim command.cfg

define command {

     command_name check_nrpe

     command_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADRESS$ -c $ARG1$

        }

6 在nagios伺服器上驗收一下

#/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1

   傳回的值為被監控伺服器上安裝的NRPE的版本資訊

           NRPE v2.12

第三 在遠端主機上安裝nagios-plugins 和nrpe

1添加nagios使用者,應為nagios預設情況下運作NRPE

 #useradd nagios

2安裝nagios-plugin插件

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

   # cd   nagios-plugins-1.4.15 

   # ./configure

       # make all

      #cd /usr/local/nagios/

       #mkdir   etc bin

        #chown -R nagios.nagios /usr/local/nagios

3安裝并配置nrpe

     #tar xvf nrpe-2.12.tar.gz

     # cd nrpe-2.12

     # ./configure

      #make all

       #make install-plugin

       #make install-daemon

 #cp init-script /etc/init.d/nagios-nrpe

 #chmod +x /etc/init.d/nagios-nrpe

4配置nrpe的主配置檔案

     #cd /usr/local/nagios/etc

     #vim nrpe.cfg

       allow_hosts=127.0.0.1 Nagios-IP-Address #注: 修改為nagios的伺服器位址,如果是多個IP 中間用“,” 隔開

5 配置超級守護程序中管理nrpe

        only_from   = 127.0.0.1 &lt;nagios_ip_address&gt;注: 必須添加nagios的服務端的位址如果為配置允許nagios服務端的位址的話,nagios 伺服器不能正常通過nrpe 進行監控該主機

6為nrpe指定固定的端口

7啟動并檢視指定端口是否開啟

   #/etc/init.d/nagios-nrpe start

 #netstat -tunlp | grep nrpe

8 在本機上驗收一下,檢驗nrpe 是否正常運作

 9 當然可在在nagios服務端驗收一下

     #/usr/local/nagios/libexec/check_nrpe -H IP(遠端主機)

 注:如果遠端主機和nagios上的伺服器的iptables如果要是開啟的話,同樣也需要配置相對于的iptables 規則

10當然通過NRPE,可以監控到的資訊,隻要在被監控伺服器上的插件(/usr/local/nagios/libexec中的所有插件),都可以使用,也就是說,隻要在該檔案下有對應的插件,就能監控對應的資訊,當然就可以實作.注意的是,必須在遠端主機中nrpe 中定義相應的指令,否則不能監控對應的資源

本文轉自 freehat08 51CTO部落格,原文連結:http://blog.51cto.com/freehat/429633,如需轉載請自行聯系原作者