nagios监控远程主机并设置自动发送邮件告警
-
安装sendmail
yum install -y sendmail* mailx
-
添加25端口到防火墙
firewall-cmd --zone=public --add-port=25/tcp firewall-cmd --zone=public --add-port=25/tcp --permanent
-
重启sendmail服务
systemctl restart sendmail
-
测试邮件功能能否正常发送
echo "I am a mail wroten by yourself" | mail -s "Alert" csujianzhu@163.com
建议使用163邮箱,因为仅测试了163邮箱
-
修改 nagios.cfg 插件
enable_notifications=1 //开启后也就是nagios装的所有插件,出现问题都会报警
-
修改contracts.cfg的警告邮件发送人
email csujianzhu@163.com ;
将libexec下的check_http 文件修改名字,nagios会因无法执行check而报警。
-
其他配置
如果按上述配置无法接收到邮件,而测试邮件能正常接收,则继续查看以下配置:
配置 /usr/local/nagios/objects/localhost.cfg service定义的该值改为1: notifications_enabled 1
如此有可能还是收不到邮件,因为nagios为了快速启动,通常设置了缓存配置:
precached_object_file=/usr/local/nagios/var/objects.precache
可以注释掉该配置再重启试试。
还要注意notification_interval通知发送时间间隔的配置,单位为min。
收到的邮件截图:
[图片上传失败...(image-75de76-1534665672204)]
图中显示404,是因为默认的监控http命令参数没有设置正确。
配置check_http命令监控民生健康保护项目的web页面
-
修改commands.cfg
define command { command_name check_http command_line $USER1$/check_http -I $HOSTADDRESS$ $ARG1$ $ARG2$ }
-
修改172.16.10.125.cfg中的http service块
define service{ use generic-service host_name 172.16.10.125 service_description check_http check_command check_http!-u http://172.16.10.125/csfy/index.do max_check_attempts 5 normal_check_interval 1 notifications_enabled 1 }
-
说明
nagios依靠libexec下的check_http程序进行监控
./check_http -h #查看详细信息
网友评论