4

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

部分联系人.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
}

generic-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!
}

generic-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 发送通知邮件?

4

3 回答 3

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。

祝你好运。

于 2013-10-22T00:44:07.380 回答
3

检查主要的 nagios.cfg 文件并确保 notifications_enabled=1。还要验证您的基本联系人模板是否也有 notification_enabled=1。

于 2013-08-23T14:53:09.353 回答
3

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

于 2014-02-07T17:51:03.350 回答