http://skymax.blog.51cto.com/365901/131770
http://bbs.chinaunix.net/viewthread.php?tid=1416669
http://net.zdnet.com.cn/network_security_zone/2008/0922/1141888.shtml
http://nagios.sourceforge.net/docs/3_0/objectdefinitions.html
今天早上来到公司,打开nagios页面,发现服务这部分有10多个严重的报警,都是红色的,蚊子我就特别的诧异了,周六的时候我还收到了很多的warning的邮件呢,怎么这两天这么消停呢,好在目前还只是在测试阶段,不然,可就郁闷坏了。
不说这个了,先来排查错误吧。
第一个想到的是warning报警发了邮件,而CRITICAL就报警不发邮件通知了,又看了一下nagios的日志,我service的状态变化是出在周六,也就是从warning转变成critical就不发邮件了,问题可能出在服务报警通知那部分,于是先看了一下我定义的所有服务和主机的模板文件,内容如下
# vi genericdef.cfg
1 define host{
2 name generic-host
3 check_period 24x7
4 notifications_enabled 1
5 event_handler_enabled 1
6 process_perf_data 1
7 retain_nonstatus_information 0
8 contact_groups admins
9 notification_interval 60
10 notification_period 24x7
11 notification_options d,u,r
12 stalking_options o,d,u
13 register 0
14 }
15
16 define service{
17 name generic-service
18 active_checks_enabled 1
19 passive_checks_enabled 1
20 notifications_enabled 1
21 event_handler_enabled 1
22 check_period 24x7
23 max_check_attempts 3
24 normal_check_interval 10
25 retry_check_interval 2
26 contact_groups admins
27 notification_options w,u,c,r
28 notification_interval 60
29 notification_period 24x7
30 register 0
31 }
从上面service定义来看,通知选项已经加入了c(CRITICAL)这个参数了,看了问题不是出在这里。
第二个我想到的地方就是contract的配置文件,打开看了一下
1 define contact{
2 contact_name nagios-msn-admin
3 alias Nagios msn Admin
4 email harvey_liu@wenzizone.cn
5 host_notification_commands notify-host-by-msn
6 host_notification_options d,u
7 host_notification_period 24x7
8 service_notification_period 24x7
9 service_notification_options w,u,r,c //这个位置之前是没有c
10 service_notification_commands notify-service-by-msn
11 }
12
13 define contact{
14 contact_name nagios-mail-admin
15 alias Nagios mail Admin
16 email hanzhao.liu@wenzizone.cn
17 host_notification_commands notify-host-by-email
18 host_notification_options d,u
19 host_notification_period 24x7
20 service_notification_period 24x7
21 service_notification_options w,u,r,c //这个位置之前没有c
22 service_notification_commands notify-service-by-email
23 }
在上面的第9和21行的位置加上c之后,然后重新reload一下nagios,如果没有报错,说明配置更新完毕,很快蚊子又可以收到报警的邮件了。
nagios调整是一个细致的活,看了蚊子还需要做很多的工作才行了。