一次线上zabbix server 挂掉的思考

作者 : 开心源码 本文共1764个字,预计阅读时间需要5分钟 发布时间: 2022-05-12 共203人阅读

忽然间发现zabbix 挂了,咋发现的呢?报警的世界忽然安静了,你就会觉得不妥了。这是运维人员的通病,有报警嫌烦,没报警心里会不安。

1,图形界面上的确显示zabbix server is not running

2,排查zabbix server 日志

tail /var/log/zabbix/zabbix_server.log

发现有如下报警:

? zabbix_server [22890]: cannot open log: cannot create semaphore set: [28] No space left on device

? zabbix_server [22894]: cannot open log: cannot create semaphore set: [28] No space left on device

? zabbix_server [22898]: cannot open log: cannot create semaphore set: [28] No space left on device

? zabbix_server [22902]: cannot open log: cannot create semaphore set: [28] No space left on device

? zabbix_server [22907]: cannot open log: cannot create semaphore set: [28] No space left on device

3, 搜索一下发现是由于给系统配置的共享内存值不够,如何处理这个问题呢?需要分两步处理。

第一步:优化系统的kernel.sem 的配置参数怎样查看及四个对应参数的代表着个啥?

cat /proc/sys/kernel/sem

? ? 250? ? 32000? 32? ? ? 128

250? ? ? SEMMSL? ? max semaphores per array? ? 信号集容纳最大信号数量?

32000? ? SEMMNS? ? max semaphores system wide? 所有信号的最大数量

32? ? ? ? SEMOPM? ? max ops per semop call? ? 调用单个信号集中最大信号数量

128? ? ? SEMMNI? ? max number of arrays? ? ? ? 信号集的最大值

信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设备,它负责协调各个线程, 以保证它们能够正确、正当的使用公共资源。Semaphore就像可以容纳N人的房间,假如人不满即可以进去,假如人满了,就要等待有人出来。Semaphore的属性如下:

SEMMSL

含义:每个信号量set中信号量最大个数 设置:最小250;对于processes参数设置较大的系统建议设置为processes+10

SEMMNI

含义:linux系统信号量set最大个数 设置:最少128

SEMMNS

含义:linux系统中信号量最大个数 设置:至少32000;SEMMSL * SEMMNI

SEMOPM

含义:semop系统调用允许的信号量最大个数设置:至少100;或者者等于SEMMSL

4,目前系统的默认值是一定不够了,不然zabbix 也不可能就挂了,所以先优化这个值。

echo “kernel.sem = 5010 641280 5010 128” >> /etc/sysctl.conf

而后执行 sysctl -p /etc/sysctl.conf

之后通过 sysctl -a |grep kernel.sem 的确修改能否成功

这个参数优化完成之后你是不是觉得zabbix server 可以正常启动了?我告诉你不可以的,你再次启动还是会报一开始抛的错。你问我为啥,由于zabbix 占用的共享信号量还没有释放,所以还是会报错,需要把共享信号量释放出来。

通过 ipcs 命名来查看zabbix 占用的共享信号量,如下图:

一次线上zabbix server 挂掉的思考

而后通过如下命令把这些共享信号量通通干掉;

ipcs -s | grep zabbix | awk ‘{print $2}’ | xargs -n 1 ipcrm -s

干掉之后即可以正常启动zabbix server了。

5,总结

问题是处理了,但是需要思考为啥会有这样的问题产生,还是由于自己工作中没有能够防患于未然,该做的优化没有做,给自己留下了坑,最终还是要自己来填,所以工作要尽量能够提前把该做的做好,不然就会应了《无间道》那句台词“出来混,早晚要还的!”

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 一次线上zabbix server 挂掉的思考

发表回复