Zabbixは、複数の有名なソフトウェアコンポーネントから構成されています。各コンポーネントの役割を以下に示します。
これはZabbixソフトウェアの中核です。簡単なサービスチェック機能を使用して、ネットワーク経由で利用するサービス(ウェブサーバやメールサーバなど)をリモートからチェックしたり、エージェントから可用性や整合性に関する情報や統計情報を受信します。設定データ、統計データ、および運用データは全てサーバに保存されます。監視対象システムで問題が発生したときに、能動的に管理者にアラートを送信するのもサーバの役割です。
Zabbixは、エージェントレスで監視したり、SNMPエージェントでネットワークデバイスを監視することもできます。
プロキシは、Zabbixのオプションとして使用します。プロキシは、ZabbixXサーバの代わりにパフォーマンスおよび可用性データが収集されます。収集された全てのデータをローカルのバッファに格納し、プロキシが属するZabbixサーバに転送します。
Zabbixプロキシは、ローカル管理者のいないリモートの場所、支店、ネットワークを集中監視するための理想的なソリューションとなります。
また、Zabbixプロキシを使用して、単一のZabbixサーバの負荷を分散することもできます。この場合、プロキシのみでデータが収集されるため、サーバの処理に対するCPUとディスクI/Oの使用量が軽減されます。
ネットワークに接続されたシステムのローカルのリソースやアプリケーション(ハードドライブ、メモリ、プロセッサの統計情報など)を能動的に監視するには、そのシステムでZabbixエージェントを実行する必要があります。エージェントは、動作するシステムの稼働情報を収集し、Zabbixサーバで処理するためにそれらのデータを送信します。障害(ハードディスク満杯、サービスプロセスのクラッシュなど)が発生した場合、Zabbixサーバは、障害が発生したマシンに関するアラートを能動的に管理者に送信します。
Zabbixエージェントは統計情報を収集する際にネイティブのシステムコールを使用するので、非常に効率的に動作します。
監視データやZabbixの設定データに、プラットフォームを選ばずにどこからでも簡単にアクセスできるように、ウェブインタフェースが用意されています。このインタフェースはZabbixサーバに組み込まれており、通常はZabbixサーバが動作するのと同じ物理マシン上で動作しますが、別マシン上で動作させることもできます。
SQLiteを使用する場合は、SQLiteが動作するのと同じ物理マシン上でWebインターフェースを実行する必要があります。