4 Zabbixの概要

アーキテクチャ

Zabbix は、いくつかの主要なソフトウェアコンポーネントで構成されています。 それぞれの役割を以下に示します。

サーバー

Zabbix server は、エージェントが可用性と整合性の情報および統計を報告する中心的なコンポーネントです。 サーバーは、すべての設定データ、統計データ、および運用データが保存される中央リポジトリです。

データベースストレージ

Zabbix によって収集されたデータと同様に、すべての設定情報はデータベースに保存されます。

Webインターフェース

どこからでも、またどのプラットフォームからでも Zabbix に簡単にアクセスできるように、Web ベースのインターフェースが提供されています。 このインターフェースは Zabbix サーバーの一部であり、通常は(必ずしもそうではありませんが)サーバーを実行しているのと同じ物理マシン上で動作します。

プロキシ

Zabbix proxy は、Zabbix サーバーの代わりにパフォーマンスおよび可用性データを収集できます。 プロキシは Zabbix 構成の任意の要素ですが、単一の Zabbix サーバーの負荷分散に非常に有効な場合があります。

エージェント

Zabbix エージェントは、監視対象に導入され、ローカルリソースやアプリケーションを能動的に監視し、収集したデータを Zabbix サーバーに報告します。 Zabbix 4.4 以降では、2 種類のエージェントが利用できます。Zabbix agent(軽量で、多くのプラットフォームでサポートされ、C で記述)と Zabbix agent 2(非常に柔軟で、プラグインによる拡張が容易、Go で記述)です。

データフロー

さらに一歩引いて、Zabbix全体におけるデータフローを確認することも重要です。 データを収集するアイテムを作成するには、まずホストを作成する必要があります。 Zabbixのもう一方の側面では、トリガーを作成するにはまずアイテムが必要です。 アクションを作成するにはトリガーが必要です。 したがって、Server X のCPU負荷が高すぎるというアラートを受け取りたい場合は、まず Server X のホストエントリを作成し、次にCPUを監視するアイテムを作成し、その後CPUが高すぎる場合に有効になるトリガーを作成し、最後にメールを送信するアクションを作成する必要があります。 これだけ多くの手順が必要に見えるかもしれませんが、テンプレートを活用すれば実際にはそれほどでもありません。 ただし、この設計により、非常に柔軟な構成を作成することが可能です。