nagios不发送emalis

时间:2016-05-11 15:21:52

标签: postfix-mta nagios

我正在尝试在nagios服务器上设置电子邮件通知。 nagios机器已经运行了一段时间了。除了它没有发送电子邮件的事实。在我得到解决之前,我一直在使用Chrome插件。

无论如何,这就是我设置联系人文件的方式:

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
       email                            admin@example.com;      <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
       service_notification_period      24x7
       host_notification_period         24x7
       service_notification_options     w,u,c,r,f
       host_notification_options        d,u,r,f
       service_notification_commands    notify-service-by-email
       host_notification_commands       notify-host-by-email
       }


define contactgroup{
    contactgroup_name       admins
    alias                   Nagios Administrators
    members                 nagiosadmin
    }

我的主机和服务定义设置如下:

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               web1
    alias                   web1
    address                 10.10.10.6
    contact_groups          admins
    }


define service{
    use                             local-service         ; Name of service template to use
    host_name                       web1
    service_description             HTTP
    contact_groups                  admins
    check_command                   check_http
    notifications_enabled           1
    }

我已通过关闭其监控的网络服务器上的http来测试其是否有效。等待一段时间,邮件服务器上没有收到任何消息。

我还在nagios机器上telnet到邮件服务器。我可以通过telnet向我想要的帐户发送电子邮件。

我在这里感谢一些帮助!

1 个答案:

答案 0 :(得分:0)

查看服务通知命令配置,并在终端中执行以进行调试。

示例: define command { command_name notify-service-by-email command_line /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n $NOTIFICATIONCOMMENT$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$ }