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

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


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

前回は Zabbix の構成要素と、その一つであるWebインターフェースについて確認しました。
今回は Zabbix の構成要素の中でも監視や通知機能を担っている Zabbixサーバー について確認していきたいと思います。

Zabbixを知ろう -設定ファイル編:Zabbixサーバー

ZabbixサーバーはC言語で開発されており、Windows を除く Linux、Unix 系のOS上で動作する監視マネージャーです。Zabbixサーバーに関する設定ファイルは以下があります。

/etc/zabbix/zabbix_server.conf

こちらは、内部プロセスの起動数や、ロギング、データベースの接続先など Zabbixサーバー に関する様々な設定が記載されています。

とってもたくさんのパラメーターがありますね!
初期構築時のセットアップや監視機能の拡張、パフォーマンスチューニングと様々なシーンで編集する機会がある設定ファイルです。

バージョンが進むにつれて、パラメーターも増加しており、LTS(長期サポート)バージョンでは3.0から新たに通信暗号化に関連するパラメーターが追加されています。

Zabbixサーバー のことをもっとよく知るために、続いて設定ファイルにも記載がある各内部プロセスについて確認していきます。

Zabbixを知ろう -Zabbixサーバー編:内部プロセス その①

Zabbix の構成要素の一つである Zabbixサーバー ですが、内部では役割に応じて様々な内部プロセスが動作しています。今回は監視機能を担う内部プロセスを中心に確認していきます。

Poller

Poller は、Zabbixエージェント や SNMP、シンプルチェックの一部などのポーリング系の監視を行います。
Zabbix における監視項目の多くは Poller が実行を担うこととなるため、監視のパフォーマンスに大きく関連する内部プロセスです。

Poller の Busy 率が高い値で推移し続けたり、上記ポーリング系の監視 Queue の滞留などパフォーマンスに問題が生じた場合、Poller の起動数を増やすことでそれらの問題に対処します。

Poller に限った話ではないですが、各内部プロセスはデータベースへコネクションを張るため、起動数を増やした場合、データベース上の接続上限数が超過しないよう注意が必要です。

ICMP Pinger

ICMP Pinger は、fping を用いて ICMP Ping 監視を行います。
ICMP Pinger は監視対象機器が存在する Network レスポンスの影響を受けやすく、レイテンシが大きい場合、ICMP Pinger の Busy 率も上昇します。

Busy 率が高い値で推移し続けたり、Ping 監視の Queue の滞留が生じた場合は起動数を増やすことで対処します。
ICMP による死活監視は多くの監視対象で実施すると思いますので、監視対象を追加時には ICMP Pinger の Busy 率に対して注視が必要です。

HTTP Poller

HTTP Poller は、HTTP や HTTPS によるWEB監視を行います。
HTTP Poller は、監視対象となるWebシステムのレスポンスの影響を受けやすく、レスポンスが悪い場合 HTTP Poller の Busy 率が上昇します。

Busy 率が高い値で推移し続けたり、WEB監視の Queue の滞留が生じた場合は、起動数を増やしたり、WEB監視設定上の TimeOut 設定を縮めることで対処します。

IPMI Poller

IPMI Poller は、IPMI によるHW監視を行います。
デフォルト設定では無効(起動数0)となっているため、HW監視を行う場合は起動数を増やし、有効化する必要があります。

IPMI Poller は監視対象のHW管理モジュールへコネクションを張ります。起動数を増やすとそれに応じてHW管理モジュールへの接続数も増加しますので、起動数を増やす場合にはHW管理モジュールのセッション数の上限値を超えないよう注意が必要です。

(私はZabbix触りたての頃、軽率に IPMI Poller の起動数を増やしてしまい、セッション上限超えの接続エラーを多発させ、監視通知の滞留を引き起こしてしまった苦い思い出があります。。。)

Java Poller

Java Poller は、 JMX(Java Management Extensions) 監視を行います。
JMX監視を行うためには、Zabbix の構成要素の一つである Zabbix Java Gateway の導入及び起動が必要となります。
Java Poller は上記 Zabbix Java Gateway を介して、TOMCAT などのAPサーバーからスレッドやヒープに関する値を取得します。

起動数を変更する際には、Zabbix Java Gateway の START_POLLERS の値を上回らないよう注意が必要です。

Proxy Poller

Proxy Poller は Zabbix の構成要素の一つであるZabbixプロキシをパッシブモードで動作させている場合、それを介して監視を行います。

他の内部プロセス同様、Busy 率が上昇した場合は、起動数を増やすことで対処します。

Unreachable Poller

Unreachable Poller はネットワークエラー等で監視が行えなかった監視項目の再監視を行います。
ネットワークや監視対象の高負荷、障害発生時など監視が行えない状態が生じるとBusy率が急激に上昇するため比較的注視が必要な内部プロセスです。

Busy 率が上昇している場合は、上記障害や負荷の解消、リリース前の監視不能な監視対象のメンテナンスモード適用などの対応と併せて、起動数を増やすことで対処します。

まとめ

今回は、Zabbixサーバーの設定ファイルと、Zabbixサーバーの監視実行を主に担う内部プロセスについて、確認しました。

考慮点は多々あるものの・・・Zabbixサーバーのチューニングは

  • 内部プロセスの起動数を増やす!※不用意に増やしすぎない!
  • 各内部プロセスのBusy率は平常時30%以下になるように調整する。

が大切ですね!

次回は、通知処理やデータベースへの書き込みなどを担う内部プロセスについて一緒に勉強しましょう!


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


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


 

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

最新情報をお届けします

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

【わたしに♥おまかせ Zabbix②】Zabbixサーバーと内部プロセスについてhttps://devlog.arksystems.co.jp/wp-content/uploads/2017/04/1-1-1200x630.pnghttps://devlog.arksystems.co.jp/wp-content/uploads/2017/04/1-1-150x150.pngsachi-saitoまるごとおまかせZabbix製品紹介システム運用・保守保守,Zabbix,システム監視本連載では「まるごとおまかせZabbix」をより便利で有用なサービスとするために日々奮闘中の齊藤(沙)がアークシステム ザビ家の一員として、Zabbix に関する日々の取り組みやナレッジをご紹介していきます!【わたしに♥おまかせ Zabbix①】Zabbixの構成要素とパラメーターについて 【わたしに♥おまかせ Zabbix②】Zabbixサーバーと内部プロセスについて(本記事) 【わたしに♥おまかせ Zabbix 号外】Interop Tokyo 2017 Zabbixブースに出展!本サービスの詳細や、Zabbixを活用したソリューションにご興味をお持ちの方がいらっしゃいましたら サービス紹介ページ からお気軽にお問合わせ下さい。こんにちは!プラットフォーム技術部の齊藤(沙)です。 前回は Zabbix の構成要素と、その一つであるWebインターフェースについて確認しました。 今回は Zabbix の構成要素の中でも監視や通知機能を担っている Zabbixサーバー について確認していきたいと思います。 Zabbixを知ろう -設定ファイル編:Zabbixサーバー ZabbixサーバーはC言語で開発されており、Windows を除く Linux、Unix 系のOS上で動作する監視マネージャーです。Zabbixサーバーに関する設定ファイルは以下があります。 /etc/zabbix/zabbix_server.conf こちらは、内部プロセスの起動数や、ロギング、データベースの接続先など Zabbixサーバー に関する様々な設定が記載されています。とってもたくさんのパラメーターがありますね! 初期構築時のセットアップや監視機能の拡張、パフォーマンスチューニングと様々なシーンで編集する機会がある設定ファイルです。 バージョンが進むにつれて、パラメーターも増加しており、LTS(長期サポート)バージョンでは3.0から新たに通信暗号化に関連するパラメーターが追加されています。 Zabbixサーバー のことをもっとよく知るために、続いて設定ファイルにも記載がある各内部プロセスについて確認していきます。 Zabbixを知ろう -Zabbixサーバー編:内部プロセス その① Zabbix の構成要素の一つである Zabbixサーバー ですが、内部では役割に応じて様々な内部プロセスが動作しています。今回は監視機能を担う内部プロセスを中心に確認していきます。 Poller Poller は、Zabbixエージェント や SNMP、シンプルチェックの一部などのポーリング系の監視を行います。 Zabbix における監視項目の多くは Poller が実行を担うこととなるため、監視のパフォーマンスに大きく関連する内部プロセスです。 Poller の Busy 率が高い値で推移し続けたり、上記ポーリング系の監視 Queue の滞留などパフォーマンスに問題が生じた場合、Poller の起動数を増やすことでそれらの問題に対処します。 Poller に限った話ではないですが、各内部プロセスはデータベースへコネクションを張るため、起動数を増やした場合、データベース上の接続上限数が超過しないよう注意が必要です。 ICMP Pinger ICMP Pinger は、fping を用いて ICMP...ARK Solution Development Division Developers Blog.