Nagios之邮件报警

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 *****nnNotification Type: $NOTIFICATIONTYPE$nnService: $SERVICEDESC$nHost: $HOSTALIAS$nAddress: $HOSTADDRESS$nState: $SERVICESTATE$nnDate/Time: $LONGDATETIME$nnAdditional Info:nn$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 *****nnNotification Type: $NOTIFICATIONTYPE$nHost: $HOSTNAME$nState: $HOSTSTATE$nAddress: $HOSTADDRESS$nInfo: $HOSTOUTPUT$nnDate/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
        }