nagios監控對於大家而言,已經並不陌生,相信它工作的原理及相互間的調用關係也有一定的瞭解,在生產環境中,監控linux伺服器很明顯大家都知道可以藉助nrpe來檢測間接的監控。
其實,監控分為兩類自己理解定義】,一類是主動式,比如像ping、ssh之類,只需要監控主機執行相應的命令就可以實現監控;另一類是被動式,也就是監控主機這是抽象為了用戶端用於接收資料,藉助nrpe外掛程式實現與被監控端的通訊,比如像disk、load等。
對於主動式的監控,自然主動在監控主機手裡,參數的設定與修改自然不是問題,而對於被動式的監控,比如以前我想監控伺服器的根分區使用方式,現在由於生產環境的改變需要去監控/home分區的使用,而且可能我磁碟使用的警示值也需要修改,如果還分別登入到被監牢主機上去修改相應的參數顯然不是很明智的選擇。如果我們監控主機能夠變被動為主動,獲得修改參數的權力,豈不很好,下面就來配置說明一下,供大家參考。
監控主機想變為主動,很明顯,被監控主機要允許傳參數,所以就要在被監控主機上下些功夫。
1、被監控主機上重新編譯nrpe
./configure --enable-command-args
make all
make install-plugin
make install-daemon
make install-daemon-config
2、開啟允許傳遞參數
dont_blame_nrpe=0 ---》 dont_blame_nrpe=1
3、設定帶參數的檢測指令[樣本]
command[check_disk]=/usr/local/nagios/libexec/check_disk -w$ARG1$ -c $ARG2$ -p $ARG3$
4、reload nrpe,
kil -HUP `ps-ef |grep nrpe |grep -v grep | awk'{print $2}'`
###########################################################
下面就監控主機上的操作
注意,監控主機的其餘配置不在此說明了,只簡述與傳參配置相關的。
1、先直接執行命令測試:
[root@localhost libexec]# /usr/local/nagios/libexec/check_nrpe -H 192.168.15.183 -c check_disk -a 20% 15% /
DISK OK - free space: / 14250 MB (79% inode=91%);|/=3645MB;15083;16025;0;18854
2、定義命令模板
vi /usr/local/nagios/etc/objects/commands.cfg
添加
define command {
command_name check_remote_disk
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_disk -a $ARG1$ $ARG2$ $ARG3$
}
3、修改主機設定檔
vi /usr/local/nagios/etc/objects/services.cfg
修改添加
define service{
use generic-service
host_name centos6
service_description check_load
check_command check_remote_load!20%!10%!/
}
4、檢測文法,重載nagios
[root@localhost~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
[root@localhost~]# service nagios reload
650) this.width=650;" src="http://www.bkjia.com/uploads/allimg/131227/1620395395-0.png" title="1.png" alt="192407543.png" />
附上被監控主機的安裝及初始化指令碼,
安裝指令碼:
#! /bin/bash#install nagios-plugins,nrpe#auth colynn.liuecho 'install nagios-plugins,nrpe....'wget -t 3 -T 15 http://nchc.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gzwget -t 3 -T 15 http://nchc.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.13/nagios-plugins-1.4.13.tar.gzuseradd nagios -s /sbin/nologin -Mtar zxf nagios-plugins-1.4.13.tar.gzcd nagios-plugins-1.4.13./configure --prefix=/usr/local/nagiosmake && make installcd ..tar zxf nrpe-2.12.tar.gzcd nrpe-2.12sed -i '1657 s/^/\/\*/' src/nrpe.csed -i '1662 s/^/\*\//' src/nrpe.c./configure --enable-command-argsmake allmake install-pluginmake install-daemonmake install-daemon-configecho "/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d" >> /etc/rc.d/rc.localecho "DONE."
通過參數實現更合理監控
#! /bin/bash#CONFFILE=/usr/local/nagios/etc/nrpe.cfgMASTERIP=192.168.15.188 cd /usr/local/nagios/etc/ && cp nrpe.cfg nrpe.cfg.$(date +%Y%m%d-%H).bak && echo "bakup is succeess nrpe.cfg.$(date +%Y%m%d-%H).bak"sed -i "/allowed_hosts/s/allowed_hosts=127.0.*/allowed_hosts=127.0.0.1,${MASTERIP}/" $CONFFILE && echo "allowed_hosts add successfully"sed -i '/dont_blame_nrpe/s/dont_blame_nrpe=0/dont_blame_nrpe=1/' $CONFFILEsed -i '/^command\[/s/^/#/' $CONFFILEsed -i '/\$$/s/^#//' $CONFFILE###start nrpePID=`ps -ef |grep nrpe |grep -v grep | awk '{print $2}'`if [ -z $PID ]then /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -delse kill -HUP $PID && echo "reload nrpe is ok"fi
本文出自 “劉園的部落格” 部落格,請務必保留此出處http://colynn.blog.51cto.com/5971950/1302324