Nagios报警功能异常强大,插件丰富,而且可以很容易的可以实现邮件报警、短信报警和微信报警等。不过如果某个主机或者服务出问题而长时间没人处理的话,报警通知可能会让我们运维抓狂。那么怎么样可以让nagios的报警通知更智能?比如超过几次通知发出后,通知间隔自动增大、缩小,或者直接修改通知联系人。当然nagios团队也想到了这个问题,使用escalations。该功能是notification的补充,可以让我们更加灵活的配置通知方式。
接下来让我们增加这个功能,就已这个需求为例:超过4次报警通知发出后缩小通知间隔为30分钟,修改通知联系人为admins。
在配置这个之前,需要确保nagios的hosts、services、contacts等都已经正确。这个不会配置的参考我前面的文章,或者阅读nagios的文档。
1、创建配置文件
vi /usr/local/nagios/etc/objects/escalations.cfg
2、添加配置内容
例如:
define hostescalation {
#host_name localhost ;被监控主机名
hostgroup_name linux-servers ;被监控主机组名
first_notification 4 ;第n条信息起,改变频率间隔
last_notification 0 ;第n条信息起,恢复频率间隔。0表示不恢复。
notification_interval 30 ;通知间隔
contact_groups sijitao.net ;联系人组名
}
define serviceescalation {
#host_name localhost
hostgroup_name linux-servers
service_description *
first_notification 4
last_notification 0
notification_interval 30
contact_groups sijitao.net
}
3、修改nagios主配置
vim /usr/local/nagios/etc/nagios.cfg
增加
cfg_file=/usr/local/nagios/etc/objects/escalations.cfg
检查重启nagios
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
service nagios reload
最后,检查nagios通知是否更改。不出问题,nagios他已经变得比之前智能了,博主亲测有效。