限制Nagios报警次数技巧(Escalations)
创始人
2024-07-23 16:41:18
0

巧用escalations限制Nagios报警次数

  Nagios是非常强大的一款监控工具,尤其是它的告警功能,现在网上实现的形式多种多样如结合移动139邮箱、Fetion、MSN等,但是如果服务器出现故障而未能及时的解决,Nagios就会不断的发送告警信息,实在令人头疼。现在用如下方法可以解决Nagios的告警次数问题。

  系统环境:CentOS 5.2

  Nagios版本:3.0.6

  Nagios安装路径:/usr/local/nagios

  配置文件内容定义:#基本的配置就不再进行注释了。

  1.   hosts.cfg  
  2.  
  3.   define host{  
  4.  
  5.   host_name WWW-Server  
  6.  
  7.   alias WWW-Server  
  8.  
  9.   address 193.1.16.100  
  10.  
  11.   check_command check-host-alive  
  12.  
  13.   max_check_attempts 5  
  14.  
  15.   check_period 24x7  
  16.  
  17.   notification_interval 10  
  18.  
  19.   notification_period 24x7  
  20.  
  21.   notification_options d,u,r  
  22.  
  23.   notifications_enabled 1  
  24.  
  25.   contact_groups chengnan  
  26.  
  27.   }  
  28.  
  29.   Services.cfg  
  30.  
  31.   define service{  
  32.  
  33.   host_name WWW-Server  
  34.  
  35.   service_description Check_HTTP  
  36.  
  37.   check_command check_http  
  38.  
  39.   max_check_attempts 10  
  40.  
  41.   normal_check_interval 3  
  42.  
  43.   retry_check_interval 2  
  44.  
  45.   check_period 24x7  
  46.  
  47.   notification_interval 5  
  48.  
  49.   notification_period 24x7  
  50.  
  51.   notification_options w,u,c,r  
  52.  
  53.   contact_groups admin  
  54.  
  55.   }  
  56.  
  57.   define service{  
  58.  
  59.   host_name WWW-Server  
  60.  
  61.   service_description Check_Jetty  
  62.  
  63.   check_command check_tcp!8080  
  64.  
  65.   max_check_attempts 10  
  66.  
  67.   normal_check_interval 3  
  68.  
  69.   retry_check_interval 2  
  70.  
  71.   check_period 24x7  
  72.  
  73.   notification_interval 5  
  74.  
  75.   notification_period 24x7  
  76.  
  77.   notification_options w,u,c,r  
  78.  
  79.   contact_groups admin  
  80.  
  81.   }  
  82.  
  83.   Contacts.cfg  
  84.  
  85.   define contact{  
  86.  
  87.   contact_name chengnan  
  88.  
  89.   alias chengnan  
  90.  
  91.   service_notification_period 24x7  
  92.  
  93.   host_notification_period 24x7  
  94.  
  95.   service_notification_options w,u,c,r  
  96.  
  97.   host_notification_options d,u,r  
  98.  
  99.   service_notification_commands notify-service-by-email  
  100.  
  101.   host_notification_commands notify-host-by-email  
  102.  
  103.   email chengnan@139.com //手机邮箱  
  104.  
  105.   }  
  106.  
  107.   define contactgroup{  
  108.  
  109.   contactgroup_name chengnan  
  110.  
  111.   alias Nagios Administrators  
  112.  
  113.   members chengnan  
  114.  
  115.   }  
  116.  

  除此之外再定义一个联系人

  1.   define contact{  
  2.  
  3.   contact_name chengnan_cor  
  4.  
  5.   alias chengnan_cor  
  6.  
  7.   service_notification_period 24x7  
  8.  
  9.   host_notification_period 24x7  
  10.  
  11.   service_notification_options w,u,c,r  
  12.  
  13.   host_notification_options d,u,r  
  14.  
  15.   service_notification_commands notify-service-by-email  
  16.  
  17.   host_notification_commands notify-host-by-email  
  18.  
  19.   email chengnan@company.com //公司邮箱  
  20.  
  21.   }  
  22.  
  23.   define contactgroup{  
  24.  
  25.   contactgroup_name sysadmin  
  26.  
  27.   alias sysadmin  
  28.  
  29.   members chengnan_cor  
  30.  
  31.   }  
  32.  

  然后创建一个配置文件:

  1.   vi escalations.cfg  
  2.  

  escalations有自动调整;不断增加; 逐步上升等意思,本身配置文件的功能是当服务在某一告警次数前没有恢复,告警频率周期将会缩短,同时将告警信息发送至指定联系人。

  其内容为:

  1.   define hostescalation{  
  2.  
  3.   host_name WWW-Server //被监控主机名称,与Hosts.cfg中一致  
  4.  
  5.   first_notification 4 // 第n条信息起,改变频率间隔  
  6.  
  7.   last_notification 0 // 第n条信息起,恢复频率间隔  
  8.  
  9.   notification_interval 30 // 通知间隔(分)  
  10.  
  11.   contact_groups sysadmin  
  12.  
  13.   }  
  14.  

  说明:从第4条告警信息起至服务器恢复前,告警信息发送至sysadmin组下的联系人,告警间隔为30分钟1条信息。

  1.   define serviceescalation{  
  2.  
  3.   host_name WWW-Server //被监控主机名称,与Hosts.cfg中一致  
  4.  
  5.   service_description Check_HTTP,Check_Jetty //被监控服务名称,与Services.cfg中一致  
  6.  
  7.   first_notification 4  
  8.  
  9.   last_notification 0  
  10.  
  11.   notification_interval 30  
  12.  
  13.   contact_groups sysadmin  
  14.  
  15.   }  
  16.  

  保存

  修改nagios.cfg

  1.   vi nagios.cfg  
  2.  

  添加:

  1.   cfg_file=/usr/local/nagios/etc/objects/escalations.cfg  
  2.  

  检查nagios配置文件是否正确

 

  1.   /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg  
  2.  

  重新启动nagios服务:

  1.   service nagios restart  
  2.  

  测试

  服务器启动后停掉被监控测试机的相应服务,确认告警信息是否按照设置发送至不同信箱

  总结

  escalations这个功能官方给的定义是notification的扩充,使notification变得更加灵活,方便。文中我使用的方法算是耍了个小聪明,将第四条告警信息后的所有信息全部发送至我公司邮箱直至服务器恢复(recovery的信息还是会发送至手机的),从而实现限制告警信息发送至手机的条数。这样,用Escalations限制Nagios报警次数的功能就成功实现了。

【编辑推荐】 nagios监控网络打印机 Ubuntu下使用Nagios指南 openSUSE下使用Nagios指南

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...