我无法在电子邮件中收到来自 Nagios 的通知:
步骤1。
首先,我在 /etc/nagios3/conf.d/ 中定义了我的主机,我定义的主机之一是:server2.cfg
define host {
host_name serveri2
alias serveri2
address 54.243.9.241
max_check_attempts 3
check_period 24x7
check_command check-host-alive
contacts root
notification_interval 60
notification_period 24x7
}
第2步。
我在这个文件中添加了 2 个联系人:contacts_nagios2.cfg
define contact{
contact_name root
alias Root
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
host_notification_commands notify-host-by-email
email [email protected]
}
define contact{
contact_name gex
alias Gex
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
host_notification_commands notify-host-by-email
email [email protected]
}
步骤3
然后我在下面定义了联系人组中的用户:
define contactgroup{
contactgroup_name admins
alias Nagios Administrators
members root, gex
}
答案1
我认为问题在于 gex 不是主机 serveri2 的联系人:
define host {
host_name serveri2
alias serveri2
address 54.243.9.241
max_check_attempts 3
check_period 24x7
check_command check-host-alive
contacts root
notification_interval 60
notification_period 24x7
}
将 gex 添加到 contacts 行,或将该行更改为
contact_groups admins
看看是否能解决您的问题。
答案2
root
要向和联系人发送电子邮件gex
,我建议admins
在主机定义中将该组定义为联系人组,因为他们都是该组的成员:
在主机定义中替换contacts root
为:contact_groups admins
define host {
host_name serveri2
alias serveri2
address 54.243.9.241
max_check_attempts 3
check_period 24x7
check_command check-host-alive
contact_groups admins
notification_interval 60
notification_period 24x7
}
事实上,群组比单个联系人更容易管理。
在一些相当大的公司里,我看到一种有趣的方法,即向一个电子邮件地址发送一封电子邮件,这实际上是一个地址列表。
因此,邮件分发主要在邮件服务器端进行,联系人管理主要是邮件服务器管理任务:
- 一封电子邮件至
[email protected]
:向此列表的所有成员发送电子邮件 - 一封电子邮件至
[email protected]
:向此列表的所有成员发送电子邮件 - 一封电子邮件至
[email protected]
:向此列表的所有成员发送电子邮件 - 等等...
因为 Nagios 的工作方式是,它会向群组的所有成员发送单独的电子邮件。这意味着如果您的群组包含 10 个以上的联系人,Nagios 将发送 10 封以上的电子邮件!