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.51cto.com/4763600/1900432,其中要注意的一点是,把文件上传至/etc/init.d目录后需要授予执行权,然后用chkconfig加入系统中使service能管理到,如果是Linux/Centos 7的系统还要使用systemctl daemon-reload重载一次:

[[email protected] init.d]# chmod +x nrped
[[email protected] init.d]# chkconfig --add nrped
chkconfig --list nrped

systemctl daemon-reload[[email protected] init.d]# chkconfig --list nrped
nrped           0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭
[[email protected] init.d]# /etc/init.d/nrped restart
Stopting nrpe                                              [确定]
Starting nrpe                                              [确定]
[[email protected] init.d]# service nrped restart
Stopting nrpe                                              [确定]
Starting nrpe                                              [确定]
时间: 2024-10-03 19:51:27

Nagios中用于nrpe的启动管理脚本的相关文章

记一次写Java项目启动管理脚本

最近将大概每天三分之一的精力放到了改造Ambry上(改造后的叫AmbryX,项目地址),Ambry原来最蛋疼的一点就是居然没有启动shell脚本和终止shell脚本,对于运维太不友好了.昨天下午做了个Ambry的启动管理脚本,并且推到了github上,记录下写的思路. 首先,确定下需求. 需求 网上有一个标准的java启动脚本模板,感觉上和我的需求不太符合.他的脚本一个机器上限制只能启动一个JVM进程,我的不是这样,Ambry可能在同一个机器上启动多个JVM进程,每个JVM进程的主类不一样的.我

redis启动管理脚本

亲测好用的redis启动管理脚本,如果使用需要根据自己安装的redis相关文件进行调整 我是源码安装的redis-3.0.5 安装路径/usr/local/redis 编辑创建脚本文件: vim /etc/init.d/redis #!/bin/sh # # chkconfig:   2345 85 15   # description: this script can manager the redis-server daemon #              Redis is a persi

tengine/nginx服务启动管理脚本(未使用系统funtions函数)

tengine是淘宝对于nginx1.6.2的一个二次开发,性能比原生态nginx更好,这几天在做测试,想应用到现有的架构里.源码包安装后就牵涉到一个添加到系统服务方便管理问题,到网上搜nginx启动脚本一大堆,但不是自己写的总归不放心,再者好多用的是系统的/etc/rc.d/init.d/funtions函数来实现的,虽然看着很健壮,但想到出了问题后又得研究怎么排查,一不做二不休干脆写一个,把脚本和添加到系统服务的过程分享一下. 功能主要有:service tengine start serv

用于Nagios中监控elasticsearch健康状态脚本

在Nagios社区中上找了下相关用于监控elasticsearch索引的脚本,再经过修改下,可以在平时用于传入elasticsearch的监听ip用于在Nagios中使用监控elasticsearch健康状态的脚本 #!/bin/bash #check_elasticsearch_health.sh #Memo for Nagios outputs STATE_OK=0 STATE_WARNING=1 STATE_CRITICAL=2 STATE_UNKNOWN=3 #Position para

用于Nagios中监控服务器连接数脚本

最近因为服务器不断有增加新的业务,需要对服务器的最大连接数进行调整评估,所以就利用Nagios去监控相应的连接数,脚本也是利用Nagios发送相应的转态来实现监控,实现也很简单 #/bin/bash #Used to monitor the number of socket connections in Nagios #writer jim #histor #2017.6.15 STATE_OK=0 STATE_WARNING=1 STATE_CRITICALLL=2 STATE_UNKNOWN

Nagios中官方iptables监控脚本调整

在Nagios的官方网站上有提供一个用于监控iptables的状态的脚本,但是官方提供的脚本直接是不能使用的需要修改才能使用,在这里就大致所以下,因为Nagios的中命令机制是使用Nagios用户运行的,所以在官网上提供的脚本没有做出调整前是无法正常使用的,官网提供的iptables监控脚本很简单,是使用iptables的指令统计出INPUT上实时的条数的有多少,如果条数-1小于0就告警.但是在普通用户是无法正常使用iptables的命令,如果没有做出调整在Nagios中会出现NRPE:Unab

使用本脚本可以自动批量完成中间节点环境的部署工作,包括:Nginx编译安装、添加程序管理脚本、设置开机启动、反向代理配置、证书分发、添加iptables规则等

使用本脚本可以自动批量完成中间节点环境的部署工作,包括:Nginx编译安装.添加程序管理脚本.设置开机启动.反向代理配置.证书分发.添加iptables规则等.脚本支持自定义nginx安装版本.设置编译模块.配置监听端口等. 1. Nginx Role规则说明 本脚本用于中间节点(Nginx反向代理)环境的自动化配置,主要内容包括: 安装基础依赖环境: 创建nginx启动用户(支持自定义用户): 下载nginx安装文件(可自定义nginx版本): 解压安装文件: 执行编译安装(可自定义编译参数和

用于Nagios中监控服务器进程的最大线程数

最近在刚好一些业务经常把线程跑满,导致服务器资源用完,所以就写了一个脚本用于Nagios下相关进程的最大线程数的监控,Unix的服务器上最大的线程数默认的是1024,当然在业务繁忙的服务器中这样肯定是不够用的,当然在实际生产环境中做初始化调优时一般都会有做过修改,如开启打开文件的最大句柄数等等,一般情况下我们都是修改/etc/security/limits.conf文件,但是要修改最大线程树就要修改/etc/security/limits.d/90-nproc.conf文件了,修改就和修改lim

nagios客户端nrped服务方式启动脚本

1.平时配置nagios客户端nrped启动最常用的就是在/etc/rc.local文件配置: /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d 2.但是还有更好的方式(这样方便使用脚本启动或者关闭): 在/etc/init.d目录下创建nrped脚本文件,并执行 chmod +x /etc/init.d/nrped 赋予执行权限 chkconfig --add nrped 或执行直接执行chkconfig nrped