Chinaunix首页 | 论坛 | 博客
  • 博客访问: 194314
  • 博文数量: 44
  • 博客积分: 2021
  • 博客等级: 大尉
  • 技术积分: 937
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-03 22:55
文章分类

全部博文(44)

文章存档

2009年(2)

2008年(42)

我的朋友

分类:

2008-08-16 14:57:47

#!/bin/sh

CACHE_FILE=/usr/local/nagios/var/objects.cache
CONTACT_GROUP_FILE=/tmp/object_contactgroup_tmp_file
HOST_FILE=/tmp/object_host_tmp_file
SERVICE_FILE=/tmp/object_service_tmp_file

check_host() {
                if grep -q "\<$contact_group\>" $HOST_FILE
                then
                        host=`grep -B4 "\<$contact_group\>" $HOST_FILE | grep host_name | awk '{print ""$2""}'`
                        echo -e "$host"
                fi
}
check_service() {
                for hosts in `grep -B5 "\<$contact_group\>" $SERVICE_FILE | grep  host_name |awk '{print $2}' | sort | uniq`
                do
                        echo -e "$hosts"
                        grep -B5 $contact_group $SERVICE_FILE |grep -A1 $hosts$ | grep service_description | awk '{print ""$2""}'
                        echo -e ""
                done
}

person=$1
grep -A4 "define contactgroup {" $CACHE_FILE >$CONTACT_GROUP_FILE
grep -A6 "define host {" $CACHE_FILE >$HOST_FILE
grep -A5 "define service {" $CACHE_FILE >$SERVICE_FILE
if grep -q "${person}_level" $CONTACT_GROUP_FILE
then
        echo -e "报警发给${person}节点有:"
        echo ""
        for contact_group in `grep -B2 "${person}_level" $CONTACT_GROUP_FILE |grep contactgroup_name | grep -v charge | awk '{print $2}'`
        do
                check_host
        done
        echo "
"
        echo -e "报警发给${person}服务有:"
        echo ""
        for contact_group in `grep -B2 "${person}_level" $CONTACT_GROUP_FILE |grep contactgroup_name | grep -v charge | awk '{print $2}'`
        do
                check_service
        done
        echo "
"
else
        echo "
you input the wrong person,please check
"
        exit 1
fi
阅读(705) | 评论(0) | 转发(0) |
0

上一篇:nagios一个接口脚本示范

下一篇:perl学习

给主人留下些什么吧!~~