- 重要な情報
- はじめに
- 用語集
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
Agent がログを収集する方法には、Docker ソケットから収集する方法と、Kubernetes ログファイルから収集する方法 (Kubernetes によって自動的に処理されます) の 2 つがあります。次の場合にログファイル収集を使用します。
Docker API は、一度に 1 つのコンテナからログを取得するように最適化されています。同じノードに多数のコンテナがある場合、Docker ソケットからのログ収集は、ファイルからの収集よりはるかに多くのリソースを消費する可能性があります。
Docker ソケットを Datadog Agent にマウントします。
# (...)
env:
- {name: "DD_CRI_SOCKET_PATH", value: "/host/var/run/docker.sock"}
- {name: "DOCKER_HOST", value: "unix:///host/var/run/docker.sock"}
# (...)
volumeMounts:
# (...)
- name: dockersocketdir
mountPath: /host/var/run
# (...)
volumes:
# (...)
- hostPath:
path: /var/run
name: dockersocketdir
# (...)
注: Docker デーモンの再起動後、ソケットが含まれるディレクトリ全体ではなく、docker.sock
ソケットのみをマウントすると、Agent が回復できなくなります。
Docker 環境では、Agent は Docker イベントによりコンテナのアップデートをリアルタイムに受け取ります。Agent は 1 秒ごとにコンテナラベル(オートディスカバリー)からコンフィギュレーションを抽出しアップデートします。 Agent v6.14 以降、Agent はすべてのコンテナ(実行中かは問わず)のログを収集します。つまり、直近の 1 秒間に開始し停止した存続期間の短いコンテナのログは、削除されるまで収集されます。