採用情報

お問い合わせ

BLOG

Zabbix テック・ラウンジ

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

注意事項

  • 本ドキュメントの内容は、予告なしに変更される場合があります。
  • 本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。
  • 本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、当社はその損害についての責任を負いません。あくまでお客さまのご判断にてご使用ください。
CentOS 7 延長サポートサービス
デジタルトランスフォーメーションのための電子認証基盤 iTrust
SSL/TLS サーバー証明書 SureServer Prime