使用电子邮件通知定义 Nagios 联系人的 4 个步骤

举报
Tiamo_T 发表于 2021/12/14 08:06:37 2021/12/14
【摘要】 Nagios 是最好的开源服务器和网络监控解决方案之一。使用灵活的 nagios 框架,您可以监控几乎所有内容(包括数据库和自定义应用程序)。本文使用 4 个简单的步骤,解释了如何设置在主机或服务出现任何问题时会收到通知的联系人定义。

Nagios 是最好的开源服务器和网络监控解决方案之一。使用灵活的 nagios 框架,您可以监控几乎所有内容(包括数据库和自定义应用程序)。本文使用 4 个简单的步骤,解释了如何设置在主机或服务出现任何问题时会收到通知的联系人定义。
 
1.在templates.cfg中定义通用联系人模板

Nagios 安装提供了一个默认的通用联系人模板,可用作构建联系人的参考。请注意,下面通用联系模板中提到的所有指令都是强制性的。因此,如果您决定不在您的联系人中使用通用联系人模板定义,您应该自己在您的联系人中定义所有这些强制性定义。
 
以下通用联系人已在 /usr/local/nagios/etc/objects/templates.cfg 下可用。此外,默认情况下,templates.cfg 包含在 nagios.cfg 中,如下所示。
 
请注意,当您使用此通用模板定义真实联系人时,templates.cfg 中提到的任何这些指令都可以被覆盖。

# grep templates /usr/local/nagios/etc/nagios.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg

Note: generic-contact is available under
      /usr/local/nagios/etc/objects/templates.cfg

define contact{
        name                            generic-contact
        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
        host_notification_commands      notify-host-by-email
        register                        0
        }

 

  • 名称- 这定义了联系人模板的名称(generic-contact)。
  • service_notification_period – 这定义了 nagios 何时可以发送有关服务问题的通知(例如,Apache 关闭)。默认情况下,这是 24×7 时间段,在 /usr/local/nagios/etc/objects/timeperiods.cfg 下定义
  • host_notification_period – 这定义了 nagios 何时可以发送有关主机问题的通知(例如,服务器崩溃)。默认情况下,这是 24×7 时间段。
  • service_notification_options – 这定义了可以发出的服务通知的类型。默认情况下,这定义了所有可能的服务状态,包括摆动事件。这也包括预定的服务停机活动。
  • host_notification_options – 这定义了可以发送的主机通知的类型。默认情况下,这定义了所有可能的主机状态,包括摆动事件。这还包括计划的主机停机活动。
  • service_notification_commands – 默认情况下,这定义了联系人应通过电子邮件获取有关服务问题(例如,数据库关闭)的通知。您还可以定义其他命令并将其添加到该指令中。例如,您可以定义自己的 notify-service-by-sms 命令。
  • host_notification_commands – 默认情况下,这定义了联系人应通过电子邮件获取有关主机问题(例如,主机关闭)的通知。您还可以定义其他命令并将其添加到该指令中。例如,您可以定义自己的 notify-host-by-sms 命令。

2.在contacts.cfg中定义个人联系人

如果您已确认通用联系人模板已正确定义,则可以开始为组织中从 nagios 收到任何通知的所有人员定义个人联系人定义。请注意,仅通过定义联系人并不意味着他们会收到通知。稍后您必须将此联系人与服务或主机定义相关联,如下面的后面部分所示。因此,请随意在此处定义所有可能的联系人。(例如,开发人员、DBA、系统管理员、IT 经理、客户服务经理、高层管理人员等)
 

Note: Define these contacts in /usr/local/nagios/etc/objects/contacts.cfg
define contact{
        contact_name                    sgupta
        use                             generic-contact
        alias                           tiamo (Developer)
        email                           tiamo@hgst.com.cn
        pager                           1234567@hgst.com.cn
        }
define contact{
        contact_name                    jbourne
        use                             generic-contact
        alias                           tiamo (Sysadmin)
        email                           tiamo@hgst.com.cn

3.在contacts.cfg中定义具有多个联系人的联系人组

定义了各个联系人后,您还可以将它们组合在一起以发送相应的通知。例如,只有 DBA 需要收到有关数据库停机服务定义的通知。因此,可能需要一个 db-admins 组。此外,可能只有 Unix 系统管理员需要在 Apache 宕机时得到通知。因此,可能需要一个 unix-admins 组。随意定义您认为需要的多个组。稍后您可以在单独的服务和主机定义中使用这些组。
 

Note: Define contact groups in /usr/local/nagios/etc/objects/contacts.cfg

define contactgroup{
contactgroup_name          db-admins
alias                      Database Administrators
members                    jsmith, jdoe, mraj
}

define contactgroup{
contactgroup_name          unix-admins
alias                      Linux System Administrator
members                    jbourne, dpatel, mshankar
}

4. 将联系人组或个人联系人附加到服务和主机定义

一旦您定义了各个联系人和联系人组,就可以开始将它们附加到特定的主机或服务定义,如下所示。
 

Note: Following host is defined under
     /usr/local/nagios/etc/objects/servers/email-server.cfg.
     This can be any host definition file.

define host{
use                     linux-server
host_name               email-server
alias                   Corporate Email Server
address                 192.168.1.14
contact_groups          unix-admins
}

Note: Following is defined under
      /usr/local/nagios/etc/objects/servers/db-server.cfg.
      This can be any host definition file.

define service{
use                             generic-service
host_name                       prod-db
service_description             CPU Load
contact_groups                  unix-admins
check_command                   check_nrpe!check_load
}

define service{
use                             generic-service
host_name                       prod-db
service_description             MySQL Database Status
contact_groups                  db-admins
check_command                   check_mysql_db
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。