Nagios邮件报警配置

一、安装sendmail组件

首先要确保sendmail相关组件的完整安装,我们可以使用如下的命令来完成sendmail的安装:

# yum install -y sendmail*

然后重新启动sendmail服务:

# service sendmail restart

二、邮件报警的配置

下面是我的邮件报警的配置过程:

1、开启系统自带的sendmail邮件系统

#service sendmail start

测试发送邮件:

echo "test" | mail wuwenhui@*******.cn

我系统在关掉iptables和selinux前提下是正常的

2、配置nagios中报警邮箱

vi /var/www/html/nagios/etc/objects/contacts.cfg

  1. define contact{
  2.         contact_name                    nagiosadmin             ; Short name of user
  3.         use                             generic-contact         ; Inherit default values from generic-contact template (defined above)
  4.         alias                           Nagios Admin            ; Full name of user
  5.         email                           nagios@localhost        ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
  6.         }

修改nagios@localhost为接收邮件地址,如果有多个可以用逗号隔开!

3、设置报警方式

#vi /var/www/html/nagios/etc/objects/templates.cfg

  1. define contact{
  2.         name                            generic-contact         ; The name of this contact template
  3.         service_notification_period     24x7                    ; service notifications can be sent anytime
  4.         host_notification_period        24x7                    ; host notifications can be sent anytime
  5.         service_notification_options    w,u,c,r,f,s             ; send notifications for all service states, flapping events, and scheduled downtime events
  6.         host_notification_options       d,u,r,f,s               ; send notifications for all host states, flapping events, and scheduled downtime events
  7.         service_notification_commands   notify-service-by-email ; send service notifications via email
  8.         host_notification_commands      notify-host-by-email    ; send host notifications via email
  9.         register                        0                       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT, JUST A TEMPLATE!
  10.         }

这两个 notify-service-by-email 和 notify-host-by-email 是在commands.cfg那里定义的,看看是怎么定义的:

#vi /var/www/html/nagios/etc/objects/commands.cfg

  1. # 'notify-host-by-email' command definition
  2. define command{
  3.         command_name    notify-host-by-email
  4.         command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
  5.         }
  6. # 'notify-service-by-email' command definition
  7. define command{
  8.         command_name    notify-service-by-email
  9.         command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
  10.         }

这里已经默认配置好,我们不用修改直接调用就是了

4、最后重启服务

#service nagios restart

然后随便关掉一些服务测试一下效果!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: