BLOG
2018 年 03 月 26 日
MIRACLE ZBX 独自機能 : MIRACLE ZBX サービスの強制停止時間の設定方法
本ドキュメントでは、MIRACLE ZBX 3.0.14-1 でサイバートラストが実装した、MIRACLE ZBX Server、MIRACLE ZBX Proxy、MIRACLE ZBX Java Gateway のサービスの強制停止時間の設定する方法を解説します。
概要
本ドキュメントでは、MIRACLE ZBX 3.0.14-1 でサイバートラストが実装した、MIRACLE ZBX Server、 MIRACLE ZBX Proxy、MIRACLE ZBX Java Gateway のサービスの強制停止時間の設定する方法を解説します。また、これらの実装は MIRACLE ZBX 2.2 にも実装されています。
"KILL_DELAY" パラメータ解説
"KILL_DELAY" パラメータは、サービスの停止完了まで待機する時間を設定するために、 MIRACLE ZBX で導入したパラメータです。
これはサービス停止時のデータのロストをしたくないとか、停止に時間を要したくないといったことを設定できるパラメータです。
パラメータに設定した時間内にサービスが停止しなかった場合、強制停止を行います。
この設定をすることにより、エージェントから取得したデータを、データベースに格納する作業を設定した時間 ( デフォルトでは 300 秒 ) だけ待ち、データの格納が終わればその時点でサービスを停止します。
もし終わらなければサービスを強制停止します。
この場合、まだ格納されていないデータは失われます。
もし、データをロストしてもいいのでサービスをより早く停止させたいのであれば、時間を短めに設定します。
使用方法
ML6、RHEL6、CentOS6、Amazon Linux の場合
以下のように KILL_DELAY 環境変数に任意の秒数を設定してください。
# export KILL_DELAY=5000
./bashrc や、./bash_profile に上記のような分を書いていればログインするたびに手入力する必要はありません。
これで設定完了です。
以下のコマンドで停止すると強制停止時間 KILL_DELAY が反映されます。
# /etc/init.d/zabbix-server stop
なお service コマンドは環境変数を保持できないため使用できません。
実装は以下の通りです。
46 # checking $KILL_DELAY environment variable 47 if [[ $KILL_DELAY ]]; then 48 re='^[1-9][0-9]*$' 49 if ! [[ $KILL_DELAY =~ $re ]]; then 50 KILL_DELAY=300 51 fi 52 else 53 KILL_DELAY=300 54 fi
ML7, RHEL7, CentOS7 の場合
パラメータを上書きするための以下のユニットファイルを作成してください
# mkdir /etc/systemd/system/zabbix-server.service.d # cat /etc/systemd/system/zabbix-server.service.d/extend.conf [Service] TimeoutStopSec=300s
上記で設定した内容を反映させるために以下のコマンドを実行してください。
# systemctl daemon-reload
注意事項
- 本ドキュメントの内容は、予告なしに変更される場合があります。
- 本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。
- 本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、当社はその損害についての責任を負いません。あくまでお客さまのご判断にてご使用ください。