我目前正在尝试在我的生产 nagios 实例上设置 nagios herald。我已经进行了所有必要的设置,当我运行以下试运行时,通知会立即发送:
root@mon1 objects]#/usr/local/nagios-herald/bin/nagios-herald --env-file/tmp/test_herald.out --message-type email -r my.email@address.net --formatter=$_SERVICEMESSAGE_FORMATTER_NAME$ --nagios-cgi-url=http://192.168.0.1/nagios/cgi-bin/cmd.cgi --reply-to=nagios@somehost.com
我希望能够测试保持我的旧通知,因此我创建了一个新的命令、联系人组和联系人定义:
define command {
command_name herald-service-email
command_line /usr/local/nagios-herald/bin/nagios-herald --message-type email -r my.email@address.net --formatter=$_SERVICEMESSAGE_FORMATTER_NAME$ --nagios-cgi-url=http://192.168.0.1/nagios/cgi-bin/cmd.cgi --reply-to=nagios@somehost.com
}
# nagios herald testing
define contactgroup {
contactgroup_name nagios-herald
alias nagios herald
name nagios-herald
members nagios-herald
}
define contact {
contact_name nagios-herald
alias nagios-herald
name nagios-herald
use generic-pager
service_notification_commands herald-service-email
register 1
email my.email@address.net
}
最后,我将服务通知命令添加到用于我们所有警报的全球联系人(警报电子邮件别名为我们/etc/aliases
的实际电子邮件:
define contact {
contact_name admin
alias admin user
name admin
register 1
host_notification_period 24x7
host_notification_options d,u,r
host_notification_commands notify-host-by-email
service_notification_period 24x7
service_notification_options w,u,c,r
service_notification_commands notify-service-by-email,dump-env,herald-service-email
email admin
pager admin-pager
}
而且我看到通知在我的 Thruk Web UI 中被调用,所以我不知道当手动调用的命令工作时如何/为什么这不起作用。有人有什么想法或建议吗?
能否提供希望看到警报的服务定义之一?也许您有一个格式错误的_message_formatter_name
指令。
您还可以将 --trace
参数附加到 nagios-herald
通知命令的末尾,它将提供有关其正在执行的操作的更多详细信息。请记住还要在命令中设置-l <logfile>
或在配置中指定logfile:
,以便在文件中捕获输出。