在Nagios中为电子邮件和联系人组配置警报

尝试消除问题的工具

如果您一直在关注我的最新文章,那么您就会知道我一直在研究Nagios监控系统(请参阅我的文章“ 在Ubuntu上快速安装Nagios ',' 轻松扩展Nagios的功能 '和' 为Nagios配置主机组 '。)这一次,我们将研究Nagios的通知功能。具体来说,我将向您展示如何设置Nagios,以便在联系人组的帮助下将电子邮件警报发送到单个电子邮件地址和多个地址。

本文将假设托管您的Nagios安装的盒子中有可用的电子邮件服务器。如果没有,请查看我在Ghacks上的Postfix文章。一旦启动并运行,电子邮件警报仅几步之遥。

假设条件

除了可以正常使用的电子邮件系统之外,本文还将假定您已经具有可正常运行的Nagios安装,并且您已熟悉其配置。我还将假设您已经收集了需要用于Nagios的所有电子邮件地址。既然如此,让我们开始进行配置。

定义您的联系人

首先要解决的是定义您的联系人。这是通过文件/etc/nagios3/conf.d/contacts_nagios2.cfg完成的。在此文件中,您将看到一个类似于以下内容的部分:

定义联系人{
联系人姓名 用户名
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通过电子邮件通知服务
host_notification_commands通过电子邮件通知主机
电子邮件 电子邮件@本地主机
}

上面所有以粗体显示的文本都是特定于用户的。注意:您将要添加一个新 定义 对于需要通过电子邮件联系的每个管理员。并确保您在每个用户中使用其电子邮件地址定义每个用户 定义

在继续之前,最好重新启动Nagios以确保您的定义正确。如果有错误,您将在启动命令的输出中得到警告。

定义您的联系人组

在同一文件中,您还将找到一个将用户分组为联系人组的场所。这非常方便,因为您可以定义一组用户(管理员),他们将仅收到某些服务或某些主机的警告。

要定义组,请添加如下条目:
定义联系人组{
contactgroup_name网络管理员
别名Web Server管理员
成员 USERNAME1,USERNAME2
}

其中USERNAME1和USERNAME2是该组的成员。注意:该组中的用户名必须在 定义联系人 以上部分。如果不是,Nagios尝试启动时将抛出错误。

将组附加到服务

最后,您需要将组附加到服务。如您所见,上面我创建了一个 web_admins 组。在此之上,应该将该组添加到文件中的相应服务 /etc/nagios3/conf.d/services_nagios2.cfg 。在此文件中,您将创建一个条目,例如:

定义主机组{
hostgroup_name HTTP服务器
service_description HTTP
check_command check_http
使用通用服务
notification_interval 0
}

在此条目中,您需要添加以下行:

contact_groups网络管理员

现在,当您随时重新启动Nagios时,其中一台HTTP服务器出现问题,只会通知您已分配的联系人组。很漂亮

最后的想法

希望您开始看到Nagios如此灵活和强大。如果没有,请不要担心-还有更多的选择!