我正在使用nagios 3.06来监视服务器。 当一个服务很关键时,它发送一个邮件,但是当一个服务器closures时,不发送邮件。 即使所有服务都处于严重状态,也不会发送邮件。
我有以下configuration:
define command { command_name notify-host-by-email command_line python /etc/nagios3/send_mail.py "[Nagios] $HOSTNAME$" "******** Nagios ****\n\n Host: $HOSTNAME$\n Description: the server is down" } define command{ command_name notify-service-by-email command_line python /etc/nagios3/send_mail.py "[Nagios] $HOSTNAME$: $SERVICEDESC$ ($NOTIFICATIONTYPE$)" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\nDate/Time: $LONGDATETIME$\nAdditional Info:$SERVICEOUTPUT$" }
python脚本是发送邮件的脚本。 它可以工作,如果我从命令行执行它,但它不会从nagios发送电子邮件。
我做错了什么?
更新 :联系人数据是:
define contact{ contact_name root alias Root service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r host_notification_options d,r service_notification_commands notify-service-by-email host_notification_commands notify-host-by-email email [email protected] } define contactgroup{ contactgroup_name admins alias Nagios Administrators members root }
首先检查一下,看看nagios实际上是通过查看nagios.log开始你的脚本。 如果正在采取适当的措施,您可以尝试通过添加2>&1 >> /tmp/mynagiosemail.log来logging您的电子邮件脚本的输出,看它是否抛出一个错误,无论是相关的或相关的。
我注意到你的脚本在/ etc / nagios3中,这是一个放置nagios的东西,你可能想把它移动到/ usr / lib / nagios / plugins /或/ usr / lib / nagios3要保持一致,然后确保nagios用户可以读取并执行它。 它看起来没有什么限制,但它不能伤害。
你的service_notification_options和host_notification_options设置为你的contact或contactgroup (如果它存在的话)是什么? 由于您收到一封警告邮件,因此您听起来像没有为service_notification_options设置c ,并且没有为host_notification_options设置d
在您的联系人{}中,您是否拥有以下内容?
host_notification_commands host-notify-by-email