yesn 发表于 2019-1-12 13:59:55

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之邮件报警