事象
以下の事象が発生します。
ZabbixServerまたはZabbixAgentを停止しても、ZabbixServer/Agentの
プロセスが残り、正常に起動停止できていないことがあります。
・停止に失敗した場合
→一部のプロセスが残り、正常に停止できない
Zabbixプロセスを停止した状態で、プロセスが残っていないか確認してください
#ps -ef | grep zabbix
・起動に失敗した場合
→Zabbixプロセスを正常に停止できていないことが原因でZabbixプロセスが残って
いるため、正常に起動できない
確認方法
systemctlでステータス確認をすると以下のようなエラーが出力されています
[Zabbix-serverの場合]
#systemctl status zabbix-server
zabbix-server.service: Supervising process XXXX which is not our child.
We'll most likely not notice when it exits.
[Zabbix-agentの場合]
#systemctl status zabbix-agent
zabbix-agentd.service: Supervising process XXXX which is not our child.
We'll most likely not notice when it exits.
対象バージョン
以下のOS上のMIRACLE ZBX(バージョン:2.0, 2.2, 3.0)が導入されている
ZabbixServerおよびZabbixAgentのサーバで事象が発生します。
OS:RHEL7、CentOS7
ZABBIX:MIRACLE ZBX 2.0.x , 2.2.x , 3.0.x
復旧方法
残ったプロセスをkillして再度起動すると、正常に起動します。
[Zabbix-serverの場合]
1.Zabbixのプロセスを停止
#systemctl stop zabbix-server.service
2.プロセスが残っていないことを確認
#ps -ef | grep zabbix
表示例)
PID PPID CMD
6388 4740 grep zabbix
以下のようにプロセスが残っている場合には、PIDを確認します
表示例)
PID PPID CMD
26342 1 zabbix_server -c /etc/zabbix/zabbix_server.conf
26345 26342 zabbix_server: configuration syncer
26346 26342 zabbix_server: db watchdog
26347 26342 zabbix_server: poller #1
26348 26342 zabbix_server: poller #2
例)PID:26342をkillしてください
#kill -9 26342
3.Zabbixのプロセスを起動
#systemctl start zabbix-server.service
[Zabbix-agentの場合]
1.Zabbixのプロセスを停止
#systemctl stop zabbix-agentd.service
2.プロセスが残っていないことを確認
#ps -ef | grep zabbix
表示例)
PID PPID CMD
6388 4740 grep zabbix
以下のようにプロセスが残っている場合には、PIDを確認します
表示例)
PID PPID CMD
26080 1 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
26081 26080 /usr/sbin/zabbix_agentd: collector
26082 26080 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
26083 26080 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
26084 26080 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
26085 26080 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
例)PID: 26080をkillしてください
#kill -9 26080
3.Zabbixのプロセスを起動
#systemctl start zabbix-agentd.service
対策
ZabbixServer/Agentのサービスファイルの「KillMode」を以下のように
それぞれ修正してください。
修正後はZabbixServer/Agentサービスの再起動が必要です。
設定ファイル:/usr/lib/systemd/system/zabbix-server.service
/usr/lib/systemd/system/zabbix-agentd.service
[変更前]
KillMode=process
[変更後]
KillMode=mixed