首页 > 代码库 > nagios通过邮件发送报警

nagios通过邮件发送报警

nagios除了丰富的监控功能外,报警功能相当的强大。对于报警而言,常用的无非就是邮件和短信报警两种方式,本文中主要是写的nagios的邮件报警的功。

邮件报警的配置
我们只需要编辑/usr/local/nagios/etc/object下的contact.cfg文件,在email后添加管理员的邮箱即可。一般而言,如果监控项目的分工不是太细的话就是管理员可以负责所有的监控、并对其进行处理的话,可以直接将一个或者多个管理员的邮件地址写上,使用空格或者逗号隔开。

技术分享
但是如果监控的内容中服务器有单独的管理员,网络有单独的管理员的话,我们就可以定义多个contact(联系人),然后再用contactgroup(联系组)对各contact进行分组。
例如管理网络的有两人,管理服务器的有两个人,我们就可以定义两个contactgroup,然后定义四个管理员的contact,如下例是当前我正在使用的contact.cfg,服务器管理员有两名,网络管理员有两名

contact.cfg的配置
define contact{
        contact_name                        zhang1
        use                                        generic-contact
        alias                                       zhang1
        service_notification_period     24x7
        host_notification_period         24x7
        service_notification_options    w,u,c,r
        host_notification_options        d,u,r
        service_notification_commands   notify-service-by-email                            
        host_notification_commands        notify-host-by-email 
       email                                         zhang1@text.com
        }

define contact{
        contact_name                        zhang2
        use                                        generic-contact
        alias                                       zhang2
        service_notification_period     24x7
        host_notification_period         24x7
        service_notification_options    w,u,c,r
        host_notification_options        d,u,r
        service_notification_commands   notify-service-by-email
        host_notification_commands      notify-host-by-email
        email                                       zhang2@test.com
        }

define contact{
        contact_name                        li1
        use                                        generic-contact
        alias                                       li1
        service_notification_period     24x7
        host_notification_period          24x7
        service_notification_options    w,u,c,r
        host_notification_options         d,u,r
        service_notification_commands   notify-service-by-email
        host_notification_commands      notify-host-by-email
        email                                       li1@test.com
        }

define contact{
        contact_name                           li2
        use                                          generic-contact
        alias                                         li2
        service_notification_period      24x7
        host_notification_period          24x7
        service_notification_options     w,u,c,r
        host_notification_options         d,u,r
        service_notification_commands   notify-service-by-email
        host_notification_commands      notify-host-by-email
        email                                          li2@test.com
        }

define contactgroup{
        contactgroup_name           network
        alias                                  network
        members                           zhang1,zhang2
        }

define contactgroup{
        contactgroup_name              system
        alias                                     system
        members                              li1,li2
        }

注:

1、在commands.cfg文件中要定义发邮件的命令(默认就存在)

2、在hosts.cfg和services.cfg文件添加有关发通知的联系人信息和间隔等。

技术分享

3、nagios是利用本地的邮件服务器发送邮件(sendmail或postfix),只要确保sendmail或postfix启动就可以。

 

nagios通过邮件发送报警