远程修改Nrpe的脚本


远程修改Nrpe的脚本
 
前言:作为一个运维人员,经常修改监控是无可避免的,改少量机器还好说,如果量特别多的话,那就不容易了。如老大一句话,修改所有机器的check_disk参数,那就傻了。我今天就遇到了,开发说要修改所有业务系统的check_swap,自己写了个脚本,可以供大家参考下。
两个文件:  www.2cto.com  
1、hostlist   这个是我需要修改监控参数的主机文件;
2、editnrpe.sh  这个是我的脚本,执行脚本时,需要调用1文件;
3、scannrpe.sh  这个是我修改完之后,再扫描一下Nrpe的脚本文件;
下面的脚本实现如下功能,之前的Nrpe参数为:
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 80% -c 70%
修改后的参数为:
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 75% -c 65%
 
脚本如下:
[only.liu@l-rtools1.ops.cn1 ~]$ cat editnrpe.sh
#!/bin/bash
#
# This script is auto edit Nrpe
# By Only.liu
 
swapfile="/usr/local/nagios/etc/nrpe.cfg"
 
for host in `cat hostlist`
do
 
    ping -c 1 $host >> /dev/null 2>&1
    if [ "$?" == 0 ]; then
         echo "$host is alived!"
         ssh $host  "sudo sed -i -e '/check_swap/{s/\-w 80\%/\-w 75\%/;s/-c 70\%/-c 65\%/}' '$swapfile'"
 
         if [ "$?" == 0 ]; then
             echo "Swap is edited success!"
             ssh $host "grep "check_swap" $swapfile"
         fi
         ssh $host "ps aux | grep nrpe | grep -v grep | awk '{ print \$2 }' | xargs sudo kill -HUP"
         ssh $host "exit"
         echo "Nrpe restart ok!"
    fi
done
 
修改完之后,不放心,再扫描一下:
脚本如下:  www.2cto.com  
[only.liu@l-rtools1.ops.cn1 ~]$ cat scannrpe.sh 
#!/bin/bash
#
# This script is auto edit Nrpe
# By Only.liu
 
#hostlist=`cat hostlist`
swapfile="/usr/local/nagios/etc/nrpe.cfg"
 
for host in `cat hostlist`
do
 
    ping -c 1 $host >> /dev/null 2>&1
    if [ "$?" == 0 ]; then
         echo "$host is alived!"
         ssh $host  "sudo sed -n '/check_swap/p' '$swapfile'"
 
    fi
done
 

相关内容

    暂无相关文章