第一, 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 <nagios_ip_address>注: 必須添加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 <nagios_ip_address>注: 必須添加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,如需轉載請自行聯系原作者