![首次使用 Nagios](https://linux22.com/image/543043/%E9%A6%96%E6%AC%A1%E4%BD%BF%E7%94%A8%20Nagios.png)
尝试启动并运行 nagios 但在这里卡了一段时间,不太确定我做错了什么...任何帮助都非常感谢 =)
/usr/local/nagios/bin/nagios -v /etc/nagios/nagios.cfg
Checking contacts...
Error: Contact 'nagios' has no service notification commands defined!
Error: Contact 'nagios' has no host notification commands defined!
所以我认为这是我的 contacts.cfg 的问题?
define contact
contact_name nagios
alias Nagios Admin
host_notification_period24x7
service_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r email
nagios-admin@localhost
can_submit_commands 1
或者也许是我的 contactgroups.cfg?
define contactgroup
contactgroup_name localadmins
alias Local Site Administrators
members nagios
谢谢您的帮助!
答案1
您是否复制了所有示例 cfg 文件以供开始使用?
您的联系人或联系人组中应该有以下两行:
service_notification_commands notify-service-by-email
host_notification_commands notify-host-by-email
此外,它们需要被定义为命令,默认情况下应该是示例命令.cfg
答案2
看来您遗漏了几件事。
首先,确保在定义联系人时已正确定义,即...
define contact {
contact_name INSERT_NAME_HERE;
alias SOME_ALIAS_HERE;
email EMAIL@EXAMPLE;
service_notification_period 24x7;
host_notification_period 24x7;
service_notification_options w,u,c,r,f,s;
host_notification_options d,u,r,f,s;
service_notification_commands notify-service-by-email; send service notifications via email
host_notification_commands notify-host-by-email; send host notifications via email
}
从您的帖子来看,您似乎缺少定义联系人开始和结束的 { }。看起来您还缺少错误消息中所述的内容。在我的部署中,我使用模板,实际上模板文件中的通用模板是一个很好的起点。创建联系人时,您可以通过在定义语句中调用它来引用这些通用模板,如下所示:
define contact {
contact_name INSERT_NAME_HERE;
use generic-contact;
alias SOME_ALLIAS_HERE;
email EMAIL@EXAMPLE;
}
然后,您的联系人定义将从通用模板继承所有默认值。
希望这可以帮助。
答案3
您缺少选项service_notification_commands
,host_notification_commands notify-host-by-email
因此 nagios 不知道在收到警报时该做什么。
email
电子邮件地址前也缺少关键字
我的 nagios 联系人如下:
define contact {
contact_name george
alias george
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 <-- Missing
host_notification_commands notify-host-by-email <-- Missing
email [email protected]
}
这告诉 nagios 向选项中指定的帐户发送电子邮件email
。在本例中[电子邮件保护]
答案4
这是一篇旧帖子,但如果有人遇到此问题,我会分享我的意见。
您可以在 UI 中添加命令
CoreConfigManager->联系人->(选择联系人)->警报设置
别忘了应用配置在那之后。 :)