Nagios監控--Linux客戶端(Use NRPE)

 環境:

監控服務器(nagios服務器--192.168.1.2)
CentOS5.4 + nagios-3.2.3 + nagios-plugins-1.4.11 + nrpe-2.12
  被監控客戶端(linux客戶端--192.168.1.43)
CentOS5.4 + nagios-plugins-1.4.11 + nrpe-2.12
 
 二、nrpe插件
 
1、nrpe插件的組成
 
NRPE總共由兩部分組成:
(1)check_nrpe:它是運行在監控主機上
(2)NRPE daemon:它是運行在遠程的linux主機上(通常就是被監控機)
 
 
2、nrpe的工作原理

 

當Nagios需要監控某個遠程linux主機的服務或者資源情況時(如果你不想監控磁盤剩餘空間等主機信息,只是想監測ssh服務狀態 就不需要裝nrpe)
第一步:nagios服務器運行check_nrpe插件,我們要在nagios配置文件中告訴它要檢查什麼
第二步:check_nrpe插件會通過SSL連接到遠程的被監控的Linux客戶端上的NRPE daemon
第三步:被監控的Linux客戶端上的NRPE daemon會運行相應的nagios插件來執行檢查本地資源或服務
第四步:被監控的Linux客戶端上的NRPE daemon的NRPE daemon將檢查的結果返回給check_nrpe插件,插件將其遞交給進行nagios做處理
注意:NRPE daemon需要nagios-plugin插件安裝在遠程被監控linux主機上,否則NRPE daemon不能做任何的監控;另外因爲它們間的通信是加密的SSL,所以在編譯安裝時都要加上選項:/configure --enable-ssl --with-ssl-lib=/lib/,否則會出錯
 
 
三、配置被監控的Linux主機(Linux客戶端)
 
1、安裝所需的軟件(nagios-plugins、nrpe)
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
 1)安裝nagios-plugins
#增加一個用戶
useradd nagios
passwd nagios
#解壓並安裝
tar zvxf nagios-plugins-1.4.11tar.gz && cd nagios-plugins-1.4.11
./configure --with-nagios-user=nagios --with-nagios-group=nagios && make && make install
chown -R nagios:nagios /usr/local/nagios
 2)安裝nrpe
tar -zxvf nrpe-2.12.tar.gz && cd nrpe-2.12
./configure --enable-ssl --with-ssl-lib (前提是已經安裝了openssl與openssl-devel)
make all && make install-plugin && make install-daemon && make install-daemon-config
3)配置nrpe
 #配置nrpe信息
vi /usr/local/nagios/etc/nrpe.cfg,查找並修改如下一行
allowed_hosts=192.168.1.2,127.0.0.1   #注意修改爲nagios服務器的IP:192.168.1.2
 
#配置監控對象
說明:由監控原理可知被監控端做監控,然後將數據傳給監控服務器繪總,設置監控詳細參數主要是設置被監控端的nrpe.cfg文件,可以看到裏面監控對象
vi /usr/local/nagios/etc/nrpe.cfg,將需要監控的項目前的井號去掉
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 10% -c 5%
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 500 -c 550
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
command[check_ping]=/usr/local/nagios/libexec/check_ping -H 192.168.1.1 -w 100.0,20% -c 500.0,60%
 4)啓動nrpe,並測試
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
echo "/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d" >> /etc/rc.d/rc.local
netstat -atulnp | grep 'nrpe'
  tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LISTEN      3308/nrpe
/usr/local/nagios/libexec/check_nrpe -H localhost
NRPE v2.12
 5)nrpe常見故障
 錯誤一:/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
CHECK_NRPE: Error - Could not complete SSL handshake
解析辦法:配置allowed_hosts=192.168.1.2,127.0.0.1,然後kill進程再重啓就OK了
 錯誤二:/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
Connection refused by host
解析辦法:Nrpe進程沒有啓動
 
 
四、配置監控服務器(Nagios服務器)
 
1、安裝所需的軟件(nagios、nagios-plugins、nrpe)
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
 
2、安裝nagios與nagios-plugins
 
1)nagios與nagios-plugins的安裝
查看nagios服務端安裝文檔
 
2)安裝nrpe
tar -zxvf nrpe-2.12.tar.gz && cd nrpe-2.12
./configure --enable-ssl --with-ssl-lib (前提是已經安裝了openssl與openssl-devel)
make all && make install-plugin && make install-daemon && make install-daemon-config
 
3)配置nrpe
 
#在commands.cfg中定義nrpe這個外部構件
vi /usr/local/nagios/etc/nagios.cfg,打開下面這一行
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
vi /usr/local/nagios/etc/objects/commands.cfg,增加如下一行
#check nrpe
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
 
#配置要監控的linux主機
vi /usr/local/nagios/etc/nagios.cfg,加入如下一行
cfg_file=/usr/local/nagios/etc/objects/mylinux.cfg
touch /usr/local/nagios/etc/objects/mylinux.cfg,增加如下內容
define host{
use         linux-server
host_name   mylinux
alias       mylinux
address     192.168.1.43
}
 
define service{
use                 generic-service #使用的是/usr/local/nagios /etc/objects/templates.cfg中所定義的
host_name           mylinux
service_description Swap Usage
check_command       check_nrpe!check_swap
}
 
define service{
use                 generic-service
host_name           mylinux
service_description Current Load
check_command       check_nrpe!check_load
}
 
define service{
use                 generic-service
host_name           mylinux
service_description Partition Usage
check_command       check_nrpe!check_disk
}
 
define service{
use                 generic-service
host_name           mylinux
service_description Current Users  
check_command       check_nrpe!check_users
}
 
define service{
use                 generic-service
host_name           mylinux
service_description Total Processes
check_command       check_nrpe!check_total_procs
}
 
define service{
use                 generic-service
host_name           mylinux
service_description PING
check_command       check_nrpe!check_ping
}
 
5)啓動nrpe,並查看測試
#/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
#echo "/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d" >> /etc/rc.d/rc.local
#netstat -atulnp | grep 'nrpe'
tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LISTEN      3308/nrpe
#/usr/local/nagios/libexec/check_nrpe -H 192.168.1.43 (linux客戶端的IP地址:192.168.1.43)
NRPE v2.12
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
#service nagios restart
#http://192.168.1.2/nagios

 

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