Zabbixエージェントをコンテナで導入する際の注意点
前提条件
- ZabbixエージェントはDockerイメージ
zabbix/zabbix-agent2:alpine-7.0
を使用 - 設定は
docker-compose.yaml
によって管理
Zabbix-Agent2でDockerコンテナを監視する場合
Zabbixエージェント2を用いてコンテナの状態を監視するには、エージェントコンテナからDockerソケットへのアクセスが必要です。これにより、エージェントはDocker APIにアクセスし、コンテナの状態を取得できます。
volumes: - /var/run/docker.sock:/var/run/docker.sock:ro # Dockerのソケットを読み取り専用でマウント
ホスト側ログの監視設定
ホスト側のログファイルをDockerのAgentで監視する場合、以下が必要です。
- アクティブチェックの設定(共通)
ログ監視にはエージェントによるアクティブチェックが必要です。このため、Zabbixサーバ側のインバウンドポート10051
を開放し、エージェントからの送信を受け付けられるようにします。 - ホスト側のログをマウント(Docker固有)
コンテナ内からホスト側のログにアクセスするためには、ホストのログファイルやディレクトリをバインドマウントでコンテナに提供します。下記のようにdocker-compose.yaml
で設定できます。
volumes: - ./softether-vpn/server_log:/etc/log/softether-vpn/server_log:ro
結論
ホスト側のログ監視や、コンテナ監視を可能にする設定は、エージェントのコンテナ化に手間を伴います。特にシステムロギングやファイルのリアルタイム監視が必要な場合、ホストにエージェントを直接インストールする方が管理が容易なこともあります。