Nagios未发送电子邮件

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

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
}

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发送通知邮件?
3个回答

5

我遇到类似的问题,最终发现是两个问题的结合:

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。

祝好运。


3
请考虑启用flap_detection_enabled设置。如果启用了此设置并且存在闪烁,则Nagios将不会通知。闪烁是指服务经常在OK、软件和正常状态之间变化的想法。在测试过程中,通常会出现服务“闪烁”,以确保一切正常。在测试期间,请在主机和服务配置文件中都禁用flap_detection_enabled设置。

3

请检查主要的nagios.cfg文件,确保notifications_enabled=1。同时,请验证您的基本联系人模板也有notifications_enabled=1。


4
在我的nagios.cfg文件中,设置被称为enable_notifications - isaias-b

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接