我已经设置了 Nagios 来监控我的服务器,并且编写了一些客户检查。
当我收到通知电子邮件时,我只能获得状态信息的第一行,我必须使用 Web 界面才能查看其余部分。
是否可以在电子邮件中获取完整的状态信息?我该如何配置?
答案1
在您的 NAGIOS 配置中,您应该有一个用于发送电子邮件通知的命令的定义。如果它与我的类似,它将显示
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$" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
}
Additional Info:\n\n$SERVICEOUTPUT$"
如果您在生成电子邮件正文的代码中将其更改为Additional Info:\n\n$SERVICEOUTPUT$\n$LONGSERVICEOUTPUT$
您应该获取服务输出的所有行,而不仅仅是第一行。检查您的 NAGIOS 文档中的主机宏,了解您可能想要包含的更多内容。