我想设置nagios来发送电子邮件通知。我可以手动发送电子邮件通知,单击nagios Web界面中的“发送自定义服务通知”。正在创建通知,并且正在成功发送和传递电子邮件。但是nagios不会自动发送通知。我已经测试了它关闭了机器上的PING服务(echo 1> / proc / sys / net / ipv4 / icmp_echo_ignore_all)。 Nagios将PING服务设置为CRITICAL状态,但不发送通知电子邮件。
这些是我的配置文件:
templates.cfg的一部分
define contact{
name generic-contact ; The name of this contact template
service_notification_period 24x7 ; service notifications can be sent anytime
host_notification_period 24x7 ; host notifications can be sent anytime
service_notification_options w,u,c,r,f,s ; send notifications for all service states, flapping events, and scheduled downtime events
host_notification_options d,u,r,f,s ; send notifications for all host states, flapping events, and scheduled downtime events
service_notification_commands notify-service-by-email ; send service notifications via email
host_notification_commands notify-host-by-email ; send host notifications via email
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT, JUST A TEMPLATE!
}
contact.cfg的一部分
define contact{
contact_name nagiosadmin ; Short name of user
use generic-contact ; Inherit default values from generic-contact template (defined above)
alias Nagios Admin ; Full name of user
service_notification_options w,u,c,r,f,s
host_notification_options d,u,r,f,s
email [email protected] ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members nagiosadmin
}
仿制host_nagios2.cfg
define host{
name generic-host ; The name of this host template
notifications_enabled 1 ; Host notifications are enabled
event_handler_enabled 1 ; Host event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
failure_prediction_enabled 1 ; Failure prediction is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
check_command check-host-alive
max_check_attempts 10
notification_interval 1
notification_period 24x7
notification_options d,u,r,f,s
contact_groups admins
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
}
仿制service_nagios2.cfg
define service{
name generic-service ; The 'name' of this service template
active_checks_enabled 1 ; Active service checks are enabled
passive_checks_enabled 1 ; Passive service checks are enabled/accepted
parallelize_check 1 ; Active service checks should be parallelized (disabling this can lead to major performance problems)
obsess_over_service 1 ; We should obsess over this service (if necessary)
check_freshness 0 ; Default is to NOT check service 'freshness'
notifications_enabled 1 ; Service notifications are enabled
event_handler_enabled 1 ; Service event handler is enabled
flap_detection_enabled 1 ; Flap detection is enabled
failure_prediction_enabled 1 ; Failure prediction is enabled
process_perf_data 1 ; Process performance data
retain_status_information 1 ; Retain status information across program restarts
retain_nonstatus_information 1 ; Retain non-status information across program restarts
notification_interval 1 ; Only send notifications on status change by default.
is_volatile 0
check_period 24x7
normal_check_interval 5
retry_check_interval 1
max_check_attempts 4
notification_period 24x7
notification_options w,u,c,r,f,s
contact_groups admins
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
}
如何强制nagios发送通知电子邮件?
我有一个类似的问题。结果证明是两个问题的组合:
1)我没有等待足够长的警报。为服务添加normal_check_interval和retry_check_interval * max_check_attempts,您将看到在收到通知之前必须等待9分钟。如果必须更快地了解服务故障,请减少normal_check_interval和max_check_attempts。请注意,使用默认的Nagios配置,它可能会在通知您之前多达15分钟。
2)linux-server的默认配置是在工作时间通知您,但有问题的服务器是UTC。确保notification_period变量在任何地方都是24x7。
祝好运。
检查主nagios.cfg文件并确保notifications_enabled = 1。同时验证您的基本联系人模板是否也包含notifications_enabled = 1。
还请考虑flap_detection_enabled设置。如果启用此设置并确定存在振荡,Nagios将不会通知。振荡是指服务经常在OK,soft和normal状态之间切换。在测试期间,当我们测试以确保一切正常时,服务通常会“翻动”。在测试期间禁用主机和服务配置文件中的flap_detection_enabled设置。