Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1091464
  • 博文数量: 186
  • 博客积分: 4939
  • 博客等级: 上校
  • 技术积分: 2075
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-08 17:15
文章分类

全部博文(186)

文章存档

2018年(1)

2017年(3)

2016年(11)

2015年(42)

2014年(21)

2013年(9)

2012年(18)

2011年(46)

2010年(35)

分类: IT业界

2012-05-22 12:39:42

假如某个故障一时半会无法解决或计划停机维护,此时N多邮件看着心烦,要暂停报警一般会注释services.cfg相应的部分,很烦容易出错,现有nagios自带的方法如下:
  1. now=`date %s`
  2. commandfile='/var/spool/nagios/cmd/nagios.cmd'

  3. hosts="db01
  4. db02
  5. "
  6. services="MySQL_slave MySQL_slave_delay"
  7. message="Maintenance "

  8. #$ date -d 'Thu Jan 15 18:00:00 EST 2011' %s
  9. #1295132400
  10. #
  11. # date -d 'Thu Jan 16 00:00:00 EST 2011' %s
  12. #1295154000
  13. #
  14. # echo $((6*3600))
  15. #21600

  16. for host in $hosts; do
  17.         printf "[%lu] SCHEDULE_AND_PROPAGATE_HOST_DOWNTIME;${host};1295132400;1295154000;0;0;21600;user;${message}\n" $now > $commandfile
  18. done
/usr/bin/printf "[%lu] DISABLE_SVC_NOTIFICATIONS;${host};${service}\n" $now > $commandfile

万一某天你停掉了某个serices的监控,事后也忘了enable,很可能忽略这个services。无意中发现所有的监控情况都能在{nagios}/cache/nagios/status.dat,脚本分析一下,定期cron跑一下,发送那些services被disable了.

阅读(1248) | 评论(0) | 转发(0) |
0

上一篇:awk 生成随机数

下一篇:other tips

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