Zabbixエージェントの使い分け(パッシブ、アクティブ、Zabbixエージェント)

MSP部 小藏です。
さて、最近Zabbixエージェントについて調べなおした機会があったので、記録としてブログを残そうと思います。
Zabbixで監視を行う際、パッシブエージェント、アクティブエージェント、これら両方の機能を備えたZabbixエージェントの3種類があります。

それぞれの特徴を理解し、使い分けることでより効率的に監視をすることができます。

1. Zabbixエージェントの種類と特徴

パッシブエージェント

Zabbixサーバから定期的にポーリングされ、要求された情報を返すタイプのエージェントです。

特徴

  • Zabbixサーバが主体的に情報を取得するため、エージェント側の負荷が少ない。
  • シンプルな仕組みのため、リアルタイムな監視に適している。
  • 一般的なシステムリソースの監視に適している。

例: CPU使用率、メモリ使用量、ディスク空き容量

アクティブエージェント

  • エージェントが自ら情報を収集し、Zabbixサーバに送信するタイプのエージェントです。

特徴

  • イベントドリブンな監視に適している。
  • Zabbixサーバの負荷を分散できる。
  • 特定のイベント発生時や、頻繁に変化する情報を監視したい場合に有効。

例: ログファイルの監視、特定のサービスのステータス確認

Zabbixエージェント

パッシブとアクティブの両方の機能を備えたエージェントです。

特徴

  • 状況に応じて、パッシブとアクティブを使い分けることができる。
  • 柔軟性が高く、様々な監視シナリオに対応できる。

2. それぞれのメリット・デメリット

メリットデメリット
パッシブエージェントZabbixサーバーがデータ収集を制御するため、集中管理が可能。サーバーからの問い合わせが多いと、負荷が高くなる可能性がある。
設定が比較的シンプルで、エージェントの設定変更が少ない。サーバーの障害時にデータ収集が停止する。
アクティブエージェントエージェントがデータをサーバーに送信するため、サーバーの負荷が軽減される。エージェント側での設定が必要で、設定が複雑になることがある。
サーバーの障害時でも、エージェントがデータを保持できる。エージェントがサーバーに到達できない場合、データ収集が滞る可能性がある。
Zabbixエージェント多様なプラットフォームで動作可能(Windows, Linux, etc.)。エージェントのインストールと管理が必要。
豊富な監視項目をサポートし、カスタマイズが可能。ネットワークの設定やファイアウォールの調整が必要な場合がある。
ローカルでのデータ収集により、詳細な監視が可能。大規模な環境では、エージェントの管理が複雑になる可能性がある。

3. 具体的な活用例


リソース監視

目的: サーバーのCPU使用率の監視

方法: Zabbixサーバから定期的にパッシブエージェントに問い合わせCPU使用率の値を監視する。

例: CPU使用率を監視し、使用率が90%を超えたら障害として通知する。

ポート監視

目的: 特定のポートが開いているか、閉じているかを監視し、サービスの稼働状況を確認する。

方法: アクティブエージェントで、netstatコマンドなどを利用してポートの状態を定期的にチェックする。

例: HTTPポート(80番)やSSHポート(22番)が閉じているかを確認し、閉じていれば障害として通知する。

プロセス監視

目的: 特定のプロセスが正常に稼働しているか、異常終了していないかを監視する。

方法: Zabbixエージェントで、プロセスID、プロセス数などの情報を取得し、異常を検知した場合にアラートを出す。

例: Webサーバプロセス(Apache等)が稼働しているかを監視し、プロセスが落ちた時に通知する。

4. まとめ

Zabbixエージェントは、パッシブ、アクティブ、Zabbixエージェントの3種類があり、使い分けることで効率的な監視ができます。

パッシブエージェント: 一般的なシステムリソースの監視

アクティブエージェント: イベントドリブンな監視、ログ監視

Zabbixエージェント: 柔軟な監視、カスタムスクリプトによる監視

補足

Zabbixのバージョン: Zabbixのバージョンによって、利用できる機能や設定項目が異なる場合があります。

OS: 監視対象のOSによっても、利用できる機能が異なります。