zabbix-server 갑자기 다운 처리 과정

참조 문서
https://blog.51cto.com/seekerwolf/2357220
https://www.centos.bz/2017/08/zabbix-zbx_mem_malloc-out-of-memory/

환경
CentOS 7.5.1804
Zabbix 3.4.15

현상 zabbix 웹 그래픽 인터페이스 표시 zabbix server is not running, zabbix 서버 시스템 ctlstatus zabbix-server 표시 서비스 다운에 들어가기
조사zabbix-server를 다시 시작합니다. 시작이 실패했습니다. 2.로그 보기/var/log/zabbix/zabbix_server.log
먼저 다음과 같은 오류를 발견하다
zabbix_server [7988]: cannot open log: cannot create semaphore set: [28] No space left on device
zabbix_server [8008]: cannot open log: cannot create semaphore set: [28] No space left on device
zabbix_server [8022]: cannot open log: cannot create semaphore set: [28] No space left on device

인터넷 자료에 근거하여kernel을 수정하다.sem 매개 변수, 기본값은 다음과 같습니다.
[root@zabbix zabbix]# 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          

직접 1 배 증가 및 적용
[root@zabbix zabbix]# echo 'kernel.sem = 500 64000 64 256' >> /etc/sysctl.conf
[root@zabbix zabbix]# sysctl -p
kernel.sem = 500 64000 64 256

마지막으로zabbix가 차지하는 공유 채널을 죽입니다.
[root@zabbix zabbix]# ipcs -s|wc -l
143
[root@zabbix zabbix]# ipcs -s | grep zabbix | awk '{print $2}' | xargs -n 1 ipcrm -s
[root@zabbix zabbix]# ipcs -s|wc -l
10

3. zabbix-server를 두 번째로 시작하면 다음과 같은 오류가 발생합니다.
8599:20200401:140301.791 using configuration file: /etc/zabbix/zabbix_server.conf
8599:20200401:140301.798 current database version (mandatory/optional): 03040000/03040007
8599:20200401:140301.799 required mandatory version: 03040000
8599:20200401:140302.063 __mem_malloc: skipped 0 asked 120 skip_min 4294967295 skip_max 0
8599:20200401:140302.063 [file:dbconfig.c,line:90] zbx_mem_malloc(): out of memory (requested 120 bytes)
8599:20200401:140302.063 [file:dbconfig.c,line:90] zbx_mem_malloc(): please increase CacheSize configuration parameter

오류가 발생했을 때 zabbix가 메모리를 분배할 때 oom이 나타났습니다. 기본 zabbix 서버 메모리는 충분합니다. 다행히도 힌트가 있습니다. Cache Size를 추가해 주십시오. 자료를 보니 프로필에 이 값을 추가할 수 있습니다. 기본 8M에서 1024M으로 증가했습니다. 세 번째 시작 zabbix-server는 마침내 정상적으로 시작할 수 있습니다.
[root@zabbix zabbix]# grep CacheSize /etc/zabbix/zabbix_server.conf 
### Option: VMwareCacheSize
# VMwareCacheSize=8M
### Option: CacheSize
CacheSize=1024M
### Option: HistoryCacheSize
# HistoryCacheSize=16M
### Option: HistoryIndexCacheSize
# HistoryIndexCacheSize=4M
### Option: TrendCacheSize
# TrendCacheSize=4M
### Option: ValueCacheSize
# ValueCacheSize=8M

좋은 웹페이지 즐겨찾기