赞
踩
早晨到公司,习惯性的打开监控看看有无异常
打开zabbix后看见下方提示zabbix server is not running: the information displayed may not be current,这种状态是zabbix已经处于假死状态了,进程有几个活着呢,但是访问是提示没有运行,强刷也不行,重启zabbix会解决,但是只是临时性解决问题,要找问题的根源,查看日志是必不可缺的,/var/log/zabbix/zabbix_server.log 这个是zabbix服务端的日志,
vi /var/log/zabbix/zabbix_server.log查看日志,直接G,到最后一行,看最后输出的信息是什么
根据日志输出我们可以确定问题,是数据库连不上了,进程数过多,导致的zabbix进程exiting..... ,既然发现了问题,那我们就去查看数据库的存活状态和进程数大小
数据库是存活状态,再看看数据库配置的进程数大小
vi /etc/my.cnf
我们可以看到,进程数设置的是100,有点小,因为上面zabbix日志中提到了,进程数过多,连接不上,所以我们可以调整一下,因为zabbix的数据都是来自数据库的,所以有时候很多服务器一同发送监控数据给服务端的时候,可能会出现阻塞状态,当这个sql卡住的时候,另一个又来了,导致100个进程数占满了,连不上然后一直连接,而mysql_connect_errors 是指定允许连接不成功的最大尝试次数,我们设置的是200,也就是再来一百个进程,每个人连2次失败就给这个数占满了,那么服务器将不再允许新的连接,所以会出现数据库连接不上的情况,所以我们需要调整这两个参数
我根据我的zabbix情况设置的是最大1000个进程数,最大不成功尝试次数是2w,这样就没问题了,改完后重启了数据库和zabbix,之后的几天没在出现过这个问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。