ookkl 发表于 2017-2-20 09:31:17

Nagios之邮件报警

Nagios是一款开源的计算机系统和网络监视工具,能有效监控Windows、Linux主机的服务和状态,并且在系统异常时进行邮件报警,本文主要讲述实现邮件报警的操作过程,其它内容请参阅官方文档。Nagios邮件报警的实现方式有很多种,在此仅以sendEmail为例(个人认为sendEmail是一款非常方便实用的免费软件,推荐大家使用)。
sendEmail下载地址:http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
备注:以下所有操作均在监控服务器上进行。
一 安装sendEmail:
tar -zxf sendEmail-v1.56.tar.gz
cd sendEmail-v1.56
mv sendEmail /usr/local/bin
chown nagios:nagios /usr/local/bin/sendEmail (nagios是安装nagios程序的用户)

邮件测试:
/usr/local/bin/sendEmail -f abc@sina.com -t 111111111@qq.com -s smtp.sina.com -u "ab" -xu abc -xp abcdefg -m abcdefgaaaaa
说明:
-f:指定邮件的发件人
-t:指定收件人
-s:指定邮件服务器
-u:发送邮件的主题
-xu:发件人的用户名
-xp:发件人的密码
-m:邮件要发送的内容(此项的内容在nagios配置文件通常被指定)

二 修改命令配置文件:
vim commands.cfg
define command{
      command_name    notify-service-by-email
      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$\n" | /usr/local/bin/sendEmail -o fqdn=FQDN -f abc@sina.com -t 111111111@qq.com -s smtp.sina.com -u "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" -xu abc -xp abcdefg
      }
以上配置当服务异常时会发邮件

define command{
      command_name    notify-host-by-email
      command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/local/bin/sendEmail -o fqdn=FQDN -f abc@sina.com -t 111111111@qq.com -s smtp.sina.com -u "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" -xu abc -xp abcdefg
      }
以上配置当主机宕机时发邮件

三 修改主机配置文件(我为每台被监控端单独设置了配置文件,如有其它主机或服务要实现邮件报警,可按如下模板配置,其优先级会高于templates.cfg文件)
define service{
      use                           generic-service
      host_name                     www
      service_description             Mysql
      check_command                   check_nrpe!check_my
      notifications_enabled         1
      contact_groups                  admins
      max_check_attempts            3
      normal_check_interval         2
      retry_check_interval            2
      check_period                  24x7
      notification_interval         3
      notification_period             24x7
      notification_options            w,u,c,r

      }

页: [1]
查看完整版本: Nagios之邮件报警