Zabbix busy timer processesの頻発について
いつも参考にさせて頂いております。
最近、Zabbix busy timer processが記録されるようになりましたので
こちらについて相談させて頂きたく思います。
◯環境
Zabbix Serverバージョン:2.04
ノード構成:ノード数は1台
ホスト数:562
アイテム数:25523
トリガー数:8387
1秒あたりの監視項目数:320
6月頃から、timer process busyの値が上昇し始め、最近は頻繁に100%を記録しています。
当時から監視対象は徐々に増加しておりますが、大きな変更は無いと認識しています。
zabbix_server.logを確認すると、slow queryが1時間に30回程度記録されている以外は特に異常や警告を示すログは有りませんでした。
※debug levelは3
本事象の解決のヒントなどを頂ければ、助かります。
- zabbix_internal_process.jpg (90.42 KB)
TNK - 投稿数: 4769
Timerプロセスは、nodata()などの時間関数の処理で利用されます。
トリガーで時間関数を利用している場合は、トリガーの数が増えれ
ば、それらの条件式の評価処理のためにbusy率が上がってしまいま
す。
Zabbix 2.0系では、Timerプロセスは確か1プロセスしかないため、
busy率を下げるには、時間関数の利用を減らさなければならないと
思います。
つまり、時間関数を利用しているトリガーの数を減らさなければな
りません。
Zabbix 2.2からは、Timerプロセスを複数起動できるようになって
います。複数起動することで、Timerプロセスのbusy率が下がるこ
とが期待できます。
設定方法としては、zabbix_server.conf内のStartTimersでTimerプ
ロセスの起動数を指定することができます。
データベースのチューニングで、多少は改善できる可能性もありま
すが、Zabbix 2.0系ではTimerプロセスのプロセス数を変更できな
いので、今後、さらに時間関数を利用するトリガーが増加した場合
に、またすぐにbusy率が100%になってしまうのではないでしょうか。
そこで、Timerプロセスを増加できるZabbix 2.2系か3.0系へのバー
ジョンアップも検討してみてはいかがでしょうか?
Chiesa - 投稿数: 6
TNK様
早速のご回答ありがとうございます。
まずはnodata関数を使ったトリガーの利用数の確認ならびに削減を行います。
それでも改善しない場合は、ノード構成のため、Zabbix3.0では無く、Zabbix2.2へのアップグレードを検討します。
大変参考になりました。ありがとうございました。