Nagios不发送电子邮件

时间:2013-08-21 15:22:16

标签: email nagios email-notifications

我想设置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!
}

contacts.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                           MY-EMAIL@gmail.com      ; <<***** 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发送通知电子邮件?

3 个答案:

答案 0 :(得分:4)

我有类似的问题。结果是两个问题的组合:

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。

祝你好运。

答案 1 :(得分:3)

检查主nagios.cfg文件并确保notifications_enabled = 1。同时验证您的基本联系人模板是否也包含notifications_enabled = 1。

答案 2 :(得分:3)

还请考虑flap_detection_enabled设置。如果启用此设置并确定存在振荡,Nagios将不会通知。振荡是指服务经常在OK,soft和normal状态之间切换。在测试期间,当我们测试以确保一切正常时,服务通常会“翻动”。在测试期间禁用主机和服务配置文件中的flap_detection_enabled设置。