Nagios邮件报警

准备

yum - y install ntp        ntpdate time.windows.com   同步时间,否则无法发送邮件

yum - y remove postfix                                  由于系统默认安装了postfix 所以先卸载掉 

安装sendmail

yum -y install sendmail mail          安装sendmail 和mail

service sendmail start                       启动sendmail

echo "Hello World" | /bin/mail -s test

编辑sendmail权限

sendmail 默认一般只让root使用,非root用户无法访问 /var/spool/mqueue

chmod 2755 /usr/sbin/sendmail.sendmail           

chmod a+rwx /var/spool/mqueue

service sendmail restart                                 重启sendmail

nagios配置文件

vim /usr/local/nagios/etc/objects/contacts.cfg

修改email为自己的邮箱  可以空格后添加多个邮箱



/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

service nagios restart

然后测试nagios配置文件是否正常,重启nagios


service httpd stop                停止被监控端Web服务


邮箱报警


163和139同时收到了Mysql服务down掉


Mysql恢复后会发送邮件通知

其他参数

vim /usr/local/nagios/etc/objects/templates.cfg                 编辑模版


normal_check_interval

此选项是用来设置服务检查时间间隔,也就是说,nagios这一次检查和下一次检查之间所隔的时间,这里是10分钟。  一般设置为5分钟

notification_interval      60#在服务出现异常后,故障一直没有解决,nagios再次对使用者发出通知的时间。单位是分钟。如果你认为,所有的事件只需要一次通知就够了,可以把这里的选项设为0。         一般设置10分钟



报警延迟是由于host or service状态不稳定,nagios称之为flapping state

在nagios的主配置文件nagios.cfg中,有如下内容:

enable_flap_detection=0#虽然文档里说默认是0,但实际为1.改为0之后就解决了flapping state,并且解决了临时suppress notifications的问题