知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

远程修改Nrpe的脚本

发布时间:2014-09-05 15:19:53作者:知识屋

远程修改Nrpe的脚本
 
前言:作为一个运维人员,经常修改监控是无可避免的,改少量机器还好说,如果量特别多的话,那就不容易了。如老大一句话,修改所有机器的check_disk参数,那就傻了。我今天就遇到了,开发说要修改所有业务系统的check_swap,自己写了个脚本,可以供大家参考下。
两个文件:  www.zhishiwu.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.zhishiwu.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
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜