nagios邮件发送次数限制于nginx服务监控报警
ip | 主机名 | 备注 |
---|---|---|
172.16.121.236 | nagios | 服务端 |
172.16.121.237 | client1 | 客户端 |
1.设置限制邮件告警发送次数
这里我的服务是安装在了客户端,服务端就是监控端。
这里需改监控端的配置hosts.cfg,此文件是从localhost.cfg中复制出来的效果等于localhost.cfg配置文件
vi /usr/local/nagios/etc/objects/hosts.cfg
define service {
use local-service
host_name client
service_description Nginx
check_command check_nrpe!check_nginx
max_check_attempts 1
normal_check_interval 0
contact_groups admins
}
这里normal_check_interval 0 定义为0,报警只发送一次,不重发
max_check_attempts 1 定义为1,检测到问题后立即报警,不重试
2.配置nginx监控报警
在nginx安装端编写监控脚本wjh.sh
[root@client1 ~]# vi /usr/local/nagios/libexec/wjh.sh
CRITICAL=2
ok=1
b=`netstat -ntpl |grep nginx|wc -l`
if [ $b == 0 ];then
echo "0"
exit $CRITICAL
else
echo "nginx:$b"
exit $ok
fi
进入vi /usr/local/nagios/etc/nrpe.cfg定义调用监控脚本服务端与客户端都要添加
command[check_nginx]=/usr/local/nagios/libexec/wjh.sh -c 2
在监控端也就是服务端的hosts.cfg文件下添加监控服务nginx
vi /usr/local/nagios/etc/objects/hosts.cfg
define service {
use local-service
host_name client
service_description Nginx
check_command check_nrpe!check_nginx
max_check_attempts 1
normal_check_interval 0
contact_groups admins
}
到这里监控nginx和nginx邮件告警配置基本完成,还有一些模板的配置在我的博客:https://blog.csdn.net/miss_miss6/article/details/105109151都有写出大家的以去查看一下。
两端重启nrpe和nagios服务
systemctl restart nrpe //这里我是添加了nrpe的启动脚本大家可以看一下我之前的博客有写
service nagios restart
测试:
[root@client1 ~]# pkill nginx
[root@client1 ~]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 102133/php-fpm: mas
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 101720/mysqld
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1471/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 4178/sendmail: acce
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 25223/nrpe
tcp6 0 0 :::8080 :::* LISTEN 26678/httpd
tcp6 0 0 :::22 :::* LISTEN 1471/sshd
tcp6 0 0 :::5666 :::* LISTEN 25223/nrpe
[root@client1 ~]#
查看邮件