是否有人曾经在 nagios 警报消息中添加过链接,让接收者只需单击该链接即可将警报置于确认状态。我查看了一下,但什么也没看到。
答案1
添加一个notes_url
到服务定义中:
notes_url http://domain.com/nagios/cgi-bin/extinfo.cgi?type=2&host=$HOSTNAME$&service=$SERVICEDESC$
并将$SERVICENOTESURL$
宏附加到警报消息的末尾,在notify-service-by-email
命令中,例如:
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: $SERVICEOUTPUT$\n\nURL: $SERVICENOTESURL$" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
}
对主机执行相同操作。
答案2
您需要向您的警报脚本添加一个类似于下面的链接。
对于服务: http://your-nagios-server.example.com/nagios/cgi-bin/cmd.cgi?cmd_typ=34&host=$NAGIOS_HOSTNAME&服务=$NAGIOS_SERVICEDESC
对于主持人: http://your-nagios-server.example.com/nagios/cgi-bin/cmd.cgi?cmd_typ=33&host=$NAGIOS_主机名
具体需要做什么取决于您的警报脚本的逻辑。请记住,Nagios UI 使用框架,这些链接将仅显示确认表单页面,而不显示左侧的 Nagios 导航栏。