本連載では「まるごとおまかせZabbix」をより便利で有用なサービスとするために日々奮闘中の齊藤(沙)がアークシステム ザビ家の一員として、Zabbix に関する日々の取り組みやナレッジをご紹介していきます!

本サービスの詳細や、Zabbixを活用したソリューションにご興味をお持ちの方がいらっしゃいましたら サービス紹介ページ からお気軽にお問合わせ下さい。


こんにちは!プラットフォーム技術部の齊藤(沙)です。

前回は Zabbix の構成要素の中でも監視や通知機能を担っている Zabbixサーバーと、その内部プロセスの一部について確認しましたね。今回は監視以外の機能を担う内部プロセスを中心に確認していきます。

Zabbixを知ろう -Zabbixサーバー編:内部プロセス -続き

Trapper

Trapper は、Zabbixサーバーに対するPUTデータを受け取る役割を担う内部プロセスです。

Zabbixサーバーに対するデータのPUTは、ログ監視等のエージェントアクティブチェック監視や、Zabbix_Sender を用いた値の連携、アクティブモードで動作しているZabbixプロキシの監視値の連携時などに行われます。
監視対象ログの大量出力など、Zabbixサーバに対するPUTデータの増加具合に比例して Traapper のBusy率も上昇します。

Trapper のBusy率が高い値で推移していたり、データの受け取りに遅延が見られた場合は他の内部プロセスと同様 Trapper の起動数を増やすことで対応します。

Timer

Timer はメンテナンスやトリガー関数における時間系の評価や制御を担う内部プロセスです。

nodata()、Time()、dayofweek()など周期的に評価を行う時間系のトリガー関数の多用により Timer のBusy率が高い値で推移した場合はこちらも起動数を増やすことで対応します。

Timer はVersion2.2以降で起動数の変更が可能になったため、2.0以前のVersionでは起動数を変更することが出来ないので注意が必要です。

Escalator

Escalator はアクションにおけるエスカレーション処理を担う内部プロセスです。

アクションにおけるエスカレーション処理の実行数に応じてEscalatorのBusy率も上昇します。Escalator のBusy率が高い値で推移した場合は、起動数を増やすことで対応します。

Escalator はVersion3.0以降で起動数の変更が可能になったため、3.0以前のVersionでは起動数を変更することが出来ないので注意が必要です。

Alerter

Alerter はアクションの実行を担う内部プロセスです。Alerter は起動数の変更はできず単一プロセスとして動作します。(ver3.4から起動数を変更できるようになりました!)

アクションの実行数に応じて Alerter のBusy率も上昇します。起動数の変更ができないため、Busy率が高い値で推移している場合は、アラートスクリプトやメールサーバーのレスポンスの改善や、アイテムやトリガーなどの監視設定を見直すことで不要なアクション実行を削減することで対応します。

Housekeeper

Housekeeper はデータベース内に保存されたデータの中から保持期間外のデータを削除する処理を担う内部プロセスです。

Housekeeper も、起動数の変更はできず単一プロセスとして動作します。保持期間外データの削除処理は削除対象のデータ量に依存するものの非常に高負荷な処理のため、Zabbixサーバー全体のパフォーマンスに影響を及ぼす可能性があります。

Housekeeper 動作中に各内部プロセスのBusy率の上昇や、監視Queueの滞留などが見られる場合は、Housekeeper による保持期間外データの削除処理を停止し、データベースのパーティション化とパーティション削除を行うことで削除処理のパフォーマンス向上及び負荷の軽減を検討します。

また、Version3.0以降ではコマンドによる手動実行もサポートされているため、不定期での保持期間外データ削除を行うことが可能になりました。

History Syncer

History Syncer は監視によって収集された値をメモリ上からデータベースへ書き込む処理を担う内部プロセスです。

データベースへ書き込むデータ量の増加に伴い、Busy率が上昇します。
History Syncer のBusy率が高い値で推移している場合は、DBSyncerの起動数を増やすか、データベースのチューニングを行い書き込み性能を向上させることで対応します。

Configuration Syncer

Configuration Syncer は、定期的に監視設定データをデータベースからメモリ上へ読み込む処理を担う内部プロセスです。

Configuration Syncer としてのチューニングポイントは特にありません。

まとめ

今回は監視以外の機能を担う内部プロセスを中心に確認しました。
監視の実行以外にも様々な役割が存在していて、機能やパフォーマンスを担保するためにそれぞれ重要な役割を担っているのだなと感じました。

そんな様々な内部プロセスに支えられて動いているZabbixサーバーを健全な状態で利用するためには、

  • Zabbixサーバーに「Template App Zabbix Server」テンプレートを適用して内部プロセスの状態を監視。
  • 各内部プロセスのBusy率を30%以下になるように、起動数を調整。

することが大切ですね!
※バージョンによっては起動数を変更できないものもあるため、要注意。

もっとZabbixのことを知るために次回以降はZabbixのデータが格納されるデータベースについて確認していきたいと思います。


アークシステムでは、Zabbixの環境構築や保守サポートを低価格・短納期で実現する「まるごとおまかせZabbix」を提供しています。 本サービスの詳細や、Zabbixを活用したソリューションにご興味をお持ちの方がいらっしゃいましたら サービス紹介ページ からお気軽にお問合わせ下さい。


わたしに♥おまかせ Zabbix 連載一覧


 

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

Twitter で「株式会社アークシステム」をフォローしよう!

【わたしに♥おまかせ Zabbix③】Zabbixの内部プロセスについて-続きhttps://devlog.arksystems.co.jp/wp-content/uploads/2017/09/moz-04_ec-1200x630.jpghttps://devlog.arksystems.co.jp/wp-content/uploads/2017/09/moz-04_ec-150x150.jpgsachi-saitoまるごとおまかせZabbixプラットフォーム技術部製品紹介システム運用・保守保守,Zabbix,システム監視本連載では「まるごとおまかせZabbix」をより便利で有用なサービスとするために日々奮闘中の齊藤(沙)がアークシステム ザビ家の一員として、Zabbix に関する日々の取り組みやナレッジをご紹介していきます!【わたしに♥おまかせ Zabbix①】Zabbixの構成要素とパラメーターについて 【わたしに♥おまかせ Zabbix②】Zabbixサーバーと内部プロセスについて 【わたしに♥おまかせ Zabbix 号外】Interop Tokyo 2017 Zabbixブースに出展! 【わたしに♥おまかせ Zabbix③】Zabbixの内部プロセスについて-続き(本記事) 【わたしに♥おまかせ Zabbix④】Zabbixのデータベースについて 【わたしに♥おまかせ Zabbix⑤】Zabbixのデータベースについて – アイテム編 【わたしに♥おまかせ Zabbix⑥】Zabbixのデータベースについて – トリガー編 【わたしに♥おまかせ Zabbix 号外】Interop Tokyo 2018 Zabbixブースに連続出展!本サービスの詳細や、Zabbixを活用したソリューションにご興味をお持ちの方がいらっしゃいましたら サービス紹介ページ からお気軽にお問合わせ下さい。こんにちは!プラットフォーム技術部の齊藤(沙)です。 前回は Zabbix の構成要素の中でも監視や通知機能を担っている Zabbixサーバーと、その内部プロセスの一部について確認しましたね。今回は監視以外の機能を担う内部プロセスを中心に確認していきます。 Zabbixを知ろう -Zabbixサーバー編:内部プロセス -続き Trapper Trapper は、Zabbixサーバーに対するPUTデータを受け取る役割を担う内部プロセスです。 Zabbixサーバーに対するデータのPUTは、ログ監視等のエージェントアクティブチェック監視や、Zabbix_Sender を用いた値の連携、アクティブモードで動作しているZabbixプロキシの監視値の連携時などに行われます。 監視対象ログの大量出力など、Zabbixサーバに対するPUTデータの増加具合に比例して Traapper のBusy率も上昇します。 Trapper のBusy率が高い値で推移していたり、データの受け取りに遅延が見られた場合は他の内部プロセスと同様 Trapper の起動数を増やすことで対応します。 Timer Timer はメンテナンスやトリガー関数における時間系の評価や制御を担う内部プロセスです。 nodata()、Time()、dayofweek()など周期的に評価を行う時間系のトリガー関数の多用により Timer のBusy率が高い値で推移した場合はこちらも起動数を増やすことで対応します。 Timer はVersion2.2以降で起動数の変更が可能になったため、2.0以前のVersionでは起動数を変更することが出来ないので注意が必要です。 Escalator Escalator はアクションにおけるエスカレーション処理を担う内部プロセスです。 アクションにおけるエスカレーション処理の実行数に応じてEscalatorのBusy率も上昇します。Escalator のBusy率が高い値で推移した場合は、起動数を増やすことで対応します。 Escalator はVersion3.0以降で起動数の変更が可能になったため、3.0以前のVersionでは起動数を変更することが出来ないので注意が必要です。 Alerter Alerter はアクションの実行を担う内部プロセスです。Alerter は起動数の変更はできず単一プロセスとして動作します。(ver3.4から起動数を変更できるようになりました!) アクションの実行数に応じて Alerter のBusy率も上昇します。起動数の変更ができないため、Busy率が高い値で推移している場合は、アラートスクリプトやメールサーバーのレスポンスの改善や、アイテムやトリガーなどの監視設定を見直すことで不要なアクション実行を削減することで対応します。 Housekeeper Housekeeper はデータベース内に保存されたデータの中から保持期間外のデータを削除する処理を担う内部プロセスです。Housekeeper...ARK Solution Development Division Developers Blog.