誰でも ZABBIX

Zabbixの使い方、役に立つ情報、等々

3. Zabbixインターナル監視のグラフ (3) - プロセス負荷、キュー

Zabbix Shareに公開したテンプレートで、Zabbixの状態を把握するための様々なグラフを一つのスクリーンで同時に確認することができます。

今回はこのスクリーンの中から、Zabbixの処理性能に関連するグラフを紹介します。

今回紹介するグラフの配置です。
f:id:Unam:20180311112933p:plain

キュー

Zabbixの各プロセスの数が適切に設定されていないと、処理が追いつかず、データ収集の間隔が設定どおりにできなくなります。こうなると処理すべきデータがどんどん内部で滞留していきます。Zabbix queueは、そのような内部で滞留している(待ち行列の中にある)監視データを、滞留時間別に確認することができます。

f:id:Unam:20180311111043p:plain

Zabbix preprocessing queueは、(名前がややこしいですが)データ収集後、DBに格納する前に行われる処理(計算や正規表現によるデータの加工、JSON/XMLによる切り出し、等々)の待ち行列の数です。

f:id:Unam:20180311111107p:plain

プロセス負荷

キューに大量にデータが存在している場合、データ収集プロセスが高負荷状態になっている可能性が高いです。Zabbix data gethering process busy % でデータ収集用プロセスの負荷を確認できます。キューに大量にデータが溜まっている場合、以下のようにプロセスの稼働率が100%になっている可能性が大です。

f:id:Unam:20180311110746p:plain

各プロセスをいくつ起動しているかはZabbixサーバのコンフィグファイルで設定しますが、Zabbix number of process - data gathering process で確認できます(以下のグラフは、高負荷状況を作るために、意図的にプロセス数を減らしている時のグラフです)。

f:id:Unam:20180311111447p:plain

その他の内部処理用プロセスの負荷、プロセス数も同様に確認するためのグラフがあります。

Zabbix intenral process busy %

f:id:Unam:20180311111719p:plain

Zabbix number of process - internal process

f:id:Unam:20180311111947p:plain

キューにデータが溜まっている場合は、プロセスの数を増やすことが問題を回避する対応の一つです。プロセスをどの程度増やすべきか、また、増やした効果はどの程度か、といった確認をこのテンプレートのスクリーンで効率的に行うことが可能です。