联系组 Nagios - 我无法从 Nagios 实时获取通知

联系组 Nagios - 我无法从 Nagios 实时获取通知

我无法在电子邮件中收到来自 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 封以上的电子邮件!

相关内容