2216609207 发表于 2015-11-23 08:09:16

nagios发邮件-sendmail

1 安装sendmail组件
首先要确保sendmail相关组件的完整安装,我们可以使用如下的命令来完成sendmail的安装:
# yum install -y sendmail*
然后重新启动sendmail服务:
# service sendmail restart
然后发送测试邮件,验证sendmail的可用性:
  # echo "Hello World" | mail abc@abc.com(这里qq邮箱不行)
  
2、配置nagios中报警邮箱


vi /usr/local/nagios/etc/objects/contacts.cfg


define contact{
      contact_name                  nagiosadmin             ; Short name of user
      use                           generic-contact         ; Inherit default values from generic-contact template (defined above)
      alias                           Nagios Admin            ; Full name of user
      email                           lihuipeng007@163.com; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
      }
在email那里加上自己的邮箱,如果有多个可以用逗号隔开

3、设置报警方式:


vi /usr/local/nagios/etc/objects/templates.cfg



define contact{
      name                            generic-contact         ; The name of this contact template
      service_notification_period   24x7                  ; service notifications can be sent anytime
      host_notification_period      24x7                  ; host notifications can be sent anytime
      service_notification_options    w,u,c,r,f,s             ; send notifications for all service states, flapping events, and scheduled downtime events
      host_notification_options       d,u,r,f,s               ; send notifications for all host states, flapping events, and scheduled downtime events
      service_notification_commands   notify-service-by-email ; send service notifications via email
      host_notification_commands      notify-host-by-email    ; send host notifications via email
      register                        0                     ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL CONTACT, JUST A TEMPLATE!
      }这两个notify-service-by-email 和notify-host-by-email    是在command.cfg那里定义的,看看是怎么定义的:
# 'notify-host-by-email' command definition
define command{
      command_name    notify-host-by-email
      command_line    /usr/bin/printf &quot;%b&quot; &quot;***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n&quot; | /bin/mail -s &quot;** $NOTIFICATIONTYPE$Host Alert: $HOSTNAME$ is $HOSTSTATE$ **&quot; $CONTACTEMAIL$
      }
# 'notify-service-by-email' command definition
define command{
      command_name    notify-service-by-email
      command_line    /usr/bin/printf &quot;%b&quot; &quot;***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n&quot;| /bin/mail -s &quot;** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **&quot; $CONTACTEMAIL$
      }
这里已经默认配置好,我们不用修改直接调用就是了
最后重启服务:


service nagios retart
页: [1]
查看完整版本: nagios发邮件-sendmail