nagios提供了一个通知扩展功能,可以利用这个功能对告警的次数进行限制,但要注意通知的对象扩展定义有个“孔洞”(空白区间),也就是第1与第2个通知不会被扩展对象处理,对于超出10的通知也不会处理。对于第1和第2次通知,与全部的通知一样将使用服务对象里的默认联系人组里的联系人做对象通知,现在通过如下做法,可以实现admins组的联系人,在第三次警告之后,将会改变频率为600分钟(10小时),即对同个主机或者同个服务的相同状态级别的警告,在第三次之后隔10小时会再收到一次
一、在/usr/local/nagios/etc/objects下创建名为:escalations.cfg的配置文件,添加如下内容:
define serviceescalation{
host_name shangce-215,shangce-213,shangce-212,shangce-211,shangce-210,shangce-209,shangce-208,shangce-207,shangce-206,shangce-205,shangce-204,TJ-28,JF2-129,JF1-142,Redis1-60,Redis2-61,ZM-web-40,ZM-db-41,DC1-9,DC2-10,WL-58,XF1-1,MH5-93,MH4-38,MH3-31,XF2-2,XF3-3,XF4-5,XF5-8,XF6-21,XF7-121,MH1-19,MH2-20,WWW1-87,WWW2-89,YY9-116,YY6-111,YY4-61,YY3-39,YY2-4,YY1-110,YY10-117,YY8-114,YY7-113,YY5-63,YY14-132,YY13-128,YY12-88,YY11-90
#主机名:这些主机必须定义过,主机间使用逗号分隔
service_description PING,Partition,Current Users,Total Processes,Current Load,Swap Usage,SSH,ckeck_vmio
#服务:这些服务必须是以上主机的服务,服务间使用逗号分隔
first_notification 2
#警告第二次的时候就改变警告的频率
last_notification 0
notification_interval 600
#警告频率:警告自第二次开始就变为600分钟
contact_groups admins
#联系组:以上设置针对于admins组
}
define serviceescalation{
host_name TJ-28,JF2-129,JF1-142,DC1-9,DC2-10,XF1-1,MH5-93,MH4-38,MH3-31,XF2-2,XF3-3,XF4-5,XF5-8,XF6-21,XF7-121,MH1-19,MH2-20,WWW1-87,WWW2-89,YY9-116,YY6-111,YY4-61,YY3-39,YY2-4,YY1-110,YY10-117,YY8-114,YY7-113,YY5-63,YY14-132,YY13-128,YY12-88,YY11-90
service_description Jboss-8080
first_notification 2
last_notification 0
notification_interval 600
contact_groups admins
}
define serviceescalation{
host_name JF2-129,JF1-142,DC1-9,DC2-10,XF1-1,MH5-93,MH4-38,MH3-31,XF2-2,XF3-3,XF4-5,XF5-8,XF6-21,XF7-121,MH1-19,MH2-20
service_description Nginx-80
first_notification 2
last_notification 0
notification_interval 600
contact_groups admins
}
define serviceescalation{
host_name WWW1-87,WWW2-89
service_description Nginx-8000
first_notification 2
last_notification 0
notification_interval 600
contact_groups admins
}
二、修改nagios最配置文件
vi /usr/local/nagios/etc/nagios.cfg
添加下面一条:
cfg_file=/usr/local/nagios/etc/objects/escalations.cfg