我正在运行 Nagios 3。它正在根据我提到的条件生成警报。
我现在想要的是自定义带有详细消息的电子邮件警报。我需要发送 tomcat 日志的警报以及堆栈跟踪。
在我的commands.cfg
文件中,我有command_line
这样的内容:
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$" | /usr/local/bin/sendEmail -v -f x.x.x.x. -t x.x.x.x -s smtp.gmail.com:587 -xu x.x.x..x -xp x.x.x.x. -l /var/log/sendEmail -u "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" -m "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$"
我该如何自定义它?变量$SERVICEOUTPUT$
来自哪里?
答案1
这些变量例如$SERVICEOUTPUT$
来自 nagios 正在执行的服务检查。其他变量例如$HOSTADDRESS$
来自主机/服务定义。
实际上,在 Nagios 术语中,这些被称为宏。您可以查看这一页查找宏列表。