如何配置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