Nagios中用于nrpe的启动管理脚本
最近一段时间应为需要大量的调整修改Nagios的监控策略所以需要反复的重启nrpe,但是在Nagios安装后是没有提供nrpe的启动脚本,所以就自己顺手写了一个用于平时nrpe的重启:#!/bin/sh
#The startup script for nrpe
#Author:jim
#processname:nrped
# chkconfig:2345 97 03
#description:This is a daemon used for nrpe startup management in Nagios
#source functions library
if [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
elif [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
elif [ -f /lib/lsb/init-functions ]; then
. /lib/lsb/init-functions
fi
prefix="/usr/local/nagios"
nrpe_bin="${prefix}/bin/nrpe"
nrpe_config_file="${prefix}/etc/nrpe.cfg"
nrpe_num=$(ps aux | grep /bin/nrpe | grep -v grep | wc -l)
nrpe_pid=$(ps aux | grep /bin/nrpe | grep -v grep | awk '{print $2}')
RETVAL=0
start()
{
if [ $nrpe_num -eq 1 ];then
echo_warning
echo "nrpe is running "
else
${nrpe_bin} -c ${nrpe_config_file} -d
echo_success
echo "Starting nrpe "
fi
}
stop()
{
if [ $nrpe_num -eq 1 ];then
kill -9 $nrpe_pid
echo_success
echo "Starting nrpe "
else
echo_failure
echo "nrpe is stoping "
fi
}
restart()
{
if [ $nrpe_num -eq 1 ];then
kill -9 $nrpe_pid
echo_success
echo "Stopting nrpe "
${nrpe_bin} -c ${nrpe_config_file} -d
echo_success
echo "Starting nrpe "
else
echo_failure
echo "nrpe is stoping "
${nrpe_bin} -c ${nrpe_config_file} -d
echo_success
echo "Starting nrpe "
fi
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo_failure
echo "Usage: $0 {start|stop|restart}"
RETVAL=2
esac
exit $RETVAL 总之来说还是比较简单的,其中有使用到系统的functions,可以参看:http://jim123.blog.运维网.com/4763600/1900432,其中要注意的一点是,把文件上传至/etc/init.d目录后需要授予执行权,然后用chkconfig加入系统中使service能管理到,如果是RedHat/Centos 7的系统还要使用systemctl daemon-reload重载一次:
# chmod +x nrped
# chkconfig --add nrped
chkconfig --list nrped
systemctl daemon-reload# chkconfig --list nrped
nrped 0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭
# /etc/init.d/nrped restart
Stopting nrpe [确定]
Starting nrpe [确定]
# service nrped restart
Stopting nrpe [确定]
Starting nrpe [确定]
页:
[1]