如何配置nagios邮件提醒

时间:2019-08-20 17:58:20  来源:igfitidea点击:

在本教程中,我们将学习如何使用Gmail发送nagios的电子邮件提醒。

准备工作

(1):创建一个gmail邮箱[email protected],用于从nagios服务器发送邮件

(2):使用ssmtp包。根据ssmtp的手册页,ssmtp是一个只发送sendmail模拟器,适用于通常从集中的mailhub(通过pop、imap、nfs挂载或者其他方式)接收邮件的机器。它提供了人类和程序通过标准或者/usr/bin/mail用户代理发送邮件所需的功能。

为什么要使用gmail来发送?

因为nagios服务器本身也可以直接从服务器发送邮件。
但这些电子邮件有可能会被当作垃圾邮件。
Gmail,Yahoo,AOL,Hotmail等大公司,针对垃圾邮件的安全措施更加严格。
对于非垃圾邮件,我们的邮件服务器必须遵循dkim,spf,反向dns等要求。

使用gmail电子邮件发送nagios警报的步骤

创建一个gmail邮箱 [email protected]

登录Nagios服务器,安装ssmtp和sendmail

在 CentOS 和 RedHat 中
 
yum install ssmtp sendmail

在 Debian 和 Ubuntu 中

sudo apt-get install ssmtp sendmail

停止sendmail服务,以后将改用ssmtp发送邮件。

在 CentOS 和 RedHat 中

/etc/init.d/sendmail stop ; chkconfig sendmail off

在 Debian 和 Ubuntu 中

sudo /etc/init.d/sendmail stop ; sudo update-rc.d -f sendmail disable

现在备份ssmtp.conf文件并配置。

cp -p  /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp.conf.orig.`date +%F`

> /etc/ssmtp/ssmtp.conf 

编辑ssmtp.conf文件

vi /etc/ssmtp/ssmtp.conf 

[email protected]
AuthPass=password
FromLineOverride=YES
mailhub=smtp.gmail.com:587
UseSTARTTLS=YES

备份sendmail脚本。

使用 which命令可以找到sendmail脚本的确切路径。在这个例子中,它位于 /usr/sbin/sendmail

获取sendmail的路径
# which sendmail

获取ssmtp的路径
# which ssmtp 

备份sendmail脚本
cp -p /usr/sbin/sendmail /usr/sbin/sendmail.orig.`date +%F`

rm /usr/sbin/sendmail

cd /usr/sbin

ln -s /usr/sbin/ssmtp sendmail

发送测试邮件

echo "testing for nagios alerts"|mail -s "test nagiosalerts" [email protected]

检查你的收件箱电子邮件应该来自[email protected]

在/etc/nagios中找到nagios的文件contacts.cfg

编辑contacts.cfg文件,修改contact_name和email。

define contact{
        contact_name                    YourName
        alias                           YourName
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    c,r
        host_notification_options       d,r
        service_notification_commands   notify-by-email
        host_notification_commands      host-notify-by-email
        email                           [email protected]
        }

重启nagios

在 CentOS 和 RedHat 中
/etc/init.d/nagios restart

在 Debian 和 Ubuntu 中
/etc/init.d/nagios3 restart