wheat 发表于 2019-1-12 12:16:11

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]
查看完整版本: Nagios中用于nrpe的启动管理脚本