Nagios短信分组报警
2013-03-08 13:55
246 查看
Nagios监控对于服务器运维来讲是非常好的工具,可以监控各种操作系统的服务器,windows,linux,aix等等,还可以对路由器和交换机,打印机等网络设备进行监控,再结合邮件,短信,MSN等报警方式为系统管理人员节省了许多巡检时间而且成效显著!在我的运维环境中,随着监控客户端的增多,报警的频率也随着提高,没日没夜的收短信,最终不得不把手机短信调成震动模式。在收到的报警短信中,大部分是windows客户端异常的短信,相对而言,在服务器领域linux系统比windows系统稳定可靠的多。于是想到取消集中报警的方式,将windows报警发送到windows sa的手机上,linux报警发到自己的手机上,也就是分组短信报警。下面就来介绍下配置过程!
一:编辑command.cfg文件,添加fetion发送短信命令
二:编辑contacts.cfg文件,分别定义linux服务器的告警信息通过notify-service-by-linux发送,windows服务器的告警信息通过notify-service-by-windows,在本例中因为所有的服务器均禁止ping,所以所有的主机告警信息不发送!
三:编辑templates.cfg文件,在模板文件中分别定义linux服务器和windows服务器的各监控属性和通知类型(最重要的参数contact_groups),最后用于监控客户端配置文件上
四:linux客户端文件,host调用linux-server模板,service调用linux-service
五:windows客户端文件,host调用windows-server模板,service调用windows-service
六:重启nagios服务,并验证结果
![](http://img1.51cto.com/attachment/201303/135337967.jpg)
![](http://img1.51cto.com/attachment/201303/135401915.jpg)
后记:服务器报警信息固然重要,但如果报警信息泛滥,从应用或者资源上无法及时调整到位,运维人员难免会对报警短信产生厌烦情绪,进而可能会忽略重要的报警信息,对服务器运维造成负面的影响,也会让领导认为监控系统可有可无,其实还是可以从技术角度上解决一些问题的,例如工作时间短信发送到QQ邮箱,MSN上,非工作时间短信发送到运维人员手机或者值班手机上,就是一种不错的办法,但监控只是一种手段,服务器问题还是早预见早解决为妙!
本文出自 “斩月” 博客,谢绝转载!
一:编辑command.cfg文件,添加fetion发送短信命令
[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg define command{ command_name notify-service-by-linux command_line /usr/local/fx/fetion --mobile=1383838438 --pwd=123 --to=1383838438 --msg-utf8="主机:IP地址$HOSTADDRESS$,服务器描述: $HOSTALIAS$/$SERVICEDESC$ 目前状 态:$SERVICESTATE$ 信息摘要: $SERVICEOUTPUT$" --msg-type=1 } define command{ command_name notify-service-by-windows command_line /usr/local/fx/fetion --mobile=1383838438 --pwd=123 --to=1333333333 --msg-utf8="主机:IP地址$HOSTADDRESS$,服务器描述: $HOSTALIAS$/$SERVICEDESC$ 目前状 态:$SERVICESTATE$ 信息摘要: $SERVICEOUTPUT$" --msg-type=1 } define command{ command_name notify-host-by-sms command_line /bin/echo null }
二:编辑contacts.cfg文件,分别定义linux服务器的告警信息通过notify-service-by-linux发送,windows服务器的告警信息通过notify-service-by-windows,在本例中因为所有的服务器均禁止ping,所以所有的主机告警信息不发送!
[root@localhost ~]# grep -v '^#' /usr/local/nagios/etc/objects/contacts.cfg define contact{ contact_name linux use linux-contact alias linux service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r,f,s host_notification_options d,u,r,f,s service_notification_commands notify-service-by-linux host_notification_commands notify-host-by-sms } define contact{ contact_name windows use windows-contact alias windows service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r,f,s host_notification_options d,u,r,f,s service_notification_commands notify-service-by-windows host_notification_commands notify-host-by-sms } define contactgroup{ contactgroup_name linux alias linux members linux } define contactgroup{ contactgroup_name windows alias windows members windows }
三:编辑templates.cfg文件,在模板文件中分别定义linux服务器和windows服务器的各监控属性和通知类型(最重要的参数contact_groups),最后用于监控客户端配置文件上
[root@localhost ~]# vi /usr/local/nagios/etc/objects/templates.cfg define contact{ name linux-contact service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r,f,s host_notification_options d,u,r,f,s service_notification_commands notify-service-by-linux host_notification_commands notify-host-by-sms register 0 } define contact{ name windows-contact service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r,f,s host_notification_options d,u,r,f,s service_notification_commands notify-service-by-windows host_notification_commands notify-host-by-sms register 0 } define host{ name generic-host notifications_enabled 1 event_handler_enabled 1 flap_detection_enabled 1 failure_prediction_enabled 1 process_perf_data 1 retain_status_information 1 retain_nonstatus_information 1 notification_period 24x7 register 0 } define host{ name linux-server use generic-host check_period 24x7 check_interval 5 retry_interval 1 max_check_attempts 10 check_command check-host-alive notification_period 24x7 notification_interval 120 notification_options d,u,r contact_groups linux register 0 } define host{ name windows-server use generic-host check_period 24x7 check_interval 5 retry_interval 1 max_check_attempts 10 check_command check-host-alive #notification_period 24x7 notification_interval 30 notification_options d,u,r contact_groups windows register 0 } define service{ name linux-service active_checks_enabled 1 passive_checks_enabled 1 parallelize_check 1 problems) obsess_over_service 1 check_freshness 0 notifications_enabled 1 event_handler_enabled 1 flap_detection_enabled 1 failure_prediction_enabled 1 process_perf_data 1 action_url /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$ retain_status_information 1 retain_nonstatus_information 1 is_volatile 0 check_period 24x7 max_check_attempts 3 normal_check_interval 1 retry_check_interval 2 contact_groups linux notification_options w,u,c,r notification_interval 1440 notification_period 24x7 register 0 } define service{ name windows-service active_checks_enabled 1 passive_checks_enabled 1 parallelize_check 1 obsess_over_service 1 check_freshness 0 notifications_enabled 1 event_handler_enabled 1 flap_detection_enabled 1 failure_prediction_enabled 1 process_perf_data 1 action_url /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$ retain_status_information 1 retain_nonstatus_information 1 is_volatile 0 check_period 24x7 max_check_attempts 3 normal_check_interval 1 retry_check_interval 2 contact_groups windows notification_options w,u,c,r notification_interval 1440 notification_period 24x7 register 0 }
四:linux客户端文件,host调用linux-server模板,service调用linux-service
[root@localhost ~]# grep -v '^#' /usr/local/nagios/etc/objects/client/10.0.1.11.cfg define host{ use linux-server ; Name of host template to use ; This host definition will inherit all variables that are defined ; in (or inherited by) the linux-server host template definition. host_name 10.0.1.11 alias 10.0.1.11 address 10.0.1.11 } define service{ use linux-service ; Name of service template to use host_name 10.0.1.11 service_description CPU Load check_command check_nrpe!check_load }
五:windows客户端文件,host调用windows-server模板,service调用windows-service
[root@localhost ~]# grep -v '^#' /usr/local/nagios/etc/objects/client/10.0.1.13.cfg define host{ use windows-server ; Inherit default values from a template host_name 10.0.1.13 ; The name we're giving to this host alias 10.0.1.13 ; A longer name associated with the host address 10.0.1.13 ; IP address of the host } define service{ use windows-service host_name 10.0.1.13 service_description NSClient++ Version check_command check_nt!CLIENTVERSION notifications_enabled 1 }
六:重启nagios服务,并验证结果
[root@localhost ~]# service nagios reload Running configuration check...done. Reloading nagios configuration...done
![](http://img1.51cto.com/attachment/201303/135337967.jpg)
![](http://img1.51cto.com/attachment/201303/135401915.jpg)
后记:服务器报警信息固然重要,但如果报警信息泛滥,从应用或者资源上无法及时调整到位,运维人员难免会对报警短信产生厌烦情绪,进而可能会忽略重要的报警信息,对服务器运维造成负面的影响,也会让领导认为监控系统可有可无,其实还是可以从技术角度上解决一些问题的,例如工作时间短信发送到QQ邮箱,MSN上,非工作时间短信发送到运维人员手机或者值班手机上,就是一种不错的办法,但监控只是一种手段,服务器问题还是早预见早解决为妙!
本文出自 “斩月” 博客,谢绝转载!
相关文章推荐
- nagios-3种报警方式–声音–email/邮件—短信
- nagios3.20安装配置笔记(带飞信短信报警,mssql和mysql监控)
- nagios 整合 ganglia 设置邮件、短信报警
- 配置nagios和nconf使用短信报警
- nagios服务器搭建实现对Linux和windows主机监控及短信报警
- nagios短信报警(飞信fetion20080522004-linrh4) 推荐
- Python调用第三方接口实现nagios短信报警
- 利用nagios,snmp,监听处理linux下的特定进程和端口,以及邮件短信报警功能 推荐
- nagios配置短信报警(139邮箱的短信通知)
- 利用Nagios 实现监控Linux/Windows及短信报警的总结
- 用escalations.cfg来限制 nagios 邮件 短信 报警发送次数
- nagios整合ganglia实现hadoop、Hbase监控及手机短信报警
- nagios + fetion短信机器人报警配置
- Nagios飞信linux系统免费短信报警配置
- Nagios邮件报警、短信报警配置
- Nagios:用门户邮箱+mailx+139邮箱实现实时短信报警
- 浅谈nagios监控 fetion 飞信机器人报警长短信
- nagios运用飞信实现短信报警监控服务器
- nagios添加139邮件短信通知报警
- nagios 笔记 nagios服务端+客户端 + 短信报警 + 性能显示的图形插件