码迷,mamicode.com
首页 > 其他好文 > 详细

记一次zabbix server挂掉的事件

时间:2017-12-22 21:48:22      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:运维   ima   软件   问题   没有   fan   web   短信   hot   

zabbix:3.0版本,采用一个server,多个proxy的模式(别人装的,我刚入职,接手不久)

系统:Linux X86_64

配置:4 core 8G内存

经过:

上午11点,上完厕所回来发现dashboard上有大量告警,都是zabbix agent has no data for 15 min on hostname。

第一反应是不是某人批量改了hotname导致的(hostname和zabbix上web端配置的主机名不一样会有这个告警,agent配置文件里面没有指明hostname的话;之前常有个别运维这样干)

但是一想也不对,主机设备都不是一个业务的,不可能出现批量更改主机名的情况,随机打开几台的配置,发现都是一个proxy,怀疑是这个proxy出问题。这时候发现点击web页面有些卡(server配置低,WiFi网,之前也会卡的)

发现这台proxy是之前就挂的机器很多,平时就很卡。所以怀疑是proxy死了。

登录proxy机器,看负载没问题,proxy状态也正常,不过还是重启了下;

再回来看dashboard,发现告警的设备越来越多,而且告警的短信和邮件都没再收到,感觉是server出问题了

赶快登录server服务器,发现processor load的三个值都破60了(设备配置是4核),内存即将满了(8G)。前台web页面也卡的不行了。

首先先用重启大法吧,同时看zabbix_server.log。发现起来后有个日志报内存不够,接着有一行报请增加historyindexcachesize配置参数

技术分享图片

接着server就死掉了。

一方面请系统运维帮忙扩下资源(后扩到8核16G),自己更改下zabbix_server.conf的参数配置,当时调高了包括上面在内的多个参数

再重启,发现每次都是同步到历史数据的时候又死了

技术分享图片

赶紧找DBA看看怎么回事(我们的mysql数据库是DBA维护的)

DBA看后没有什么问题,只是负载有点高,找他清理下历史数据,只保留最近一个月的(之前设置的是90天,趋势数据是720天,我的天啊,保留这么长服务器性能数据有啥用,对我们一个高速增长的公司来说)

我这边再重启,发现比之前好多了,server起来了,同时赶快把发送告警的action关掉,以防告警泛滥

但是十几分钟后又挂了,妈的。发现是之前积压的告警队列太多了,action不停的调发送邮件,短信,钉钉的脚本导致server负载很高

这怎么办呢,不知道怎么清理告警队列,有人说清理alert的数据表,这绝对不可能啊。。后来查到个办法,把发送告警的几个脚本内容都情况,这样action调用就很快了。

真管用了,看到积压的告警在一直减少。

but,最后还400多个没恢复,看zabbix 队列,发现基本都是最上面说的那台proxy上面的

去这台proxy上,改了下zabbix_proxy.conf的那几个参数,调低了向server同步的数据的时间间隔,调高了HistoryCacheSize的值

重启proxy,很快就好了。

别忘了把action都开启,把告警的脚本都恢复回去

这时候zabbix server有个告警:Zabbix value cache working in low memory mode 一直没恢复。感觉是我刚才把CacheSize调的太高了导致的,把它再调低点,重启告警恢复了。具体原因待研究。

具体参考:

http://blog.csdn.net/zhs2014150551/article/details/48975931

http://www.ttlsa.com/zabbix/zabbix_server-conf-detail/  (这个建议,汉语解释较多)

http://www.xiaomastack.com/2014/10/10/zabbix02/(推荐)

http://www.ixdba.net/archives/2017/11/873.htm(后面看很全面)

 

从中可以看出一个开源的监控软件也有很多要学习的地方,路漫漫其修远兮,静下心来看看官方文档

 补充:事后查原因,发现告警大约是11点开始的,看zabbix server的load,processor load的值在10点半的时候开始飙升,大约涨了4-5倍。但是那个时间点并没有做什么操作。

但是我们的zabbix有很多的api接口供外部调用,做数据展示什么的,当时某部门在频繁的拉去数据,还有很多的grafana展示要用,怀疑是查询数据库太多导致了数据库负载升高,zabbix server连接数据库变慢,负载增加。

后面一方面减少历史数据的保留时间,一方面增加系统资源,一方面调整api接口,不再查询主库,查询备库。

记一次zabbix server挂掉的事件

标签:运维   ima   软件   问题   没有   fan   web   短信   hot   

原文地址:http://www.cnblogs.com/cq90/p/8087576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!