zabbix5.0で監視ホストを追加するとzabbix-serverが止まる問題の対処法

問題

以下の環境でZabbix5.0を本格的に使い始めたら、Zabbixの管理画面で、Zabbixサーバーの起動:いいえとなってしまった。
直近の操作としては、ホストを60台ほど追加した後であった。
Zabbix5.0整備直後にも同じような表示となった事があったが、このときは# vim /etc/zabbix/web/zabbix.conf.phpの$ZBX_SERVER= 'hoge.hoge.jp';で指定しているホスト名を追記したところ改善した。
これとは、原因が違うようである。

環境
# cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)
# zabbix_server -V
zabbix_server (Zabbix) 5.0.2
# mysql -V
mysql  Ver 8.0.17 for Linux on x86_64 (Source distribution)
原因の調査
# systemctl status zabbix-server.service
● zabbix-server.service - Zabbix Server
   Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)
   Active: activating (auto-restart) (Result: exit-code) since Tue 2020-08-11 09:37:08 JST; 3s ago
  Process: 364563 ExecStop=/bin/kill -SIGTERM $MAINPID (code=exited, status=1/FAILURE)
  Process: 364558 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)
Main PID: 364560 (code=exited, status=0/SUCCESS)

# tail /var/log/messages |grep zabbix
Aug 11 13:14:15 hoge-zabbix systemd[1]: zabbix-server.service: Failed with result 'exit-code'.
Aug 11 13:14:25 hoge-zabbix systemd[1]: zabbix-server.service: Service RestartSec=10s expired, scheduling restart.
Aug 11 13:14:25 hoge-zabbix systemd[1]: zabbix-server.service: Scheduled restart job, restart counter is at 39857.
Aug 11 13:14:25 hoge-zabbix systemd[1]: Stopped Zabbix Server.
Aug 11 13:14:25 hoge-zabbix systemd[1]: Starting Zabbix Server...
Aug 11 13:14:25 hoge-zabbix systemd[1]: zabbix-server.service: Supervising process 375418 which is not our child. We'll most likely not notice when it exits.
Aug 11 13:14:25 hoge-zabbix systemd[1]: Started Zabbix Server.
Aug 11 13:14:25 hoge-zabbix kill[375420]: kill: 十分な引数がありません
Aug 11 13:14:25 hoge-zabbix systemd[1]: zabbix-server.service: Control process exited, code=exited status=1
Aug 11 13:14:25 hoge-zabbix systemd[1]: zabbix-server.service: Failed with result 'exit-code'.

再起動しようとしたらコケるみたい。

解決策

ググるとキャッシュを増やしてやるといいらしい。監視対象が増えるとキャッシュが多く必要になるが、デフォルトの設定値だと60台監視するには足りないようだ。

vim /etc/zabbix/zabbix_server.conf
### Option: CacheSize
#       Size of configuration cache, in bytes.
#       Shared memory size for storing host, item and trigger data.
#
# Mandatory: no
# Range: 128K-64G
# Default:
# CacheSize=8M
CacheSize=1024M

デフォルトでは8Mだったので、深く考えずに1024M割り当ててみた。

# systemctl restart zabbix-server.service

以上で問題解決した。