Supported OS
![Mac OS]()
注: Docker Daemon チェックのメンテナンスは継続されていますが、Agent v5 でのみ動作します。

概要
この Agent チェックを構成して Docker_daemon サービスからリアルタイムにメトリクスを取得することで、以下のことが可能です。
- Docker_daemon の状態を視覚化および監視できます。
- Docker_daemon のフェイルオーバーとイベントの通知を受けることができます。
セットアップ
インストール
すべてのコンテナに関する Docker メトリクスを収集するには、ホストごとに 1 つの Datadog Agent を実行します。各ホストで直接 Agent を実行する方法と、1 つの docker-dd-agent コンテナ内で実行する方法 (推奨) の 2 つがあります。
どちらのオプションでも、Docker チェックが成功するには、ホストで cgroup メモリ管理が有効になっている必要があります。これを有効にする方法については、docker-dd-agent リポジトリを参照してください。
ホストのインストール
- ホストで Docker が実行されていることを確認します。
- ホスト OS に対応する Agent のインストール手順に従って、Agent をインストールします。
- アプリケーションで Docker インテグレーションタイルを有効にします。
usermod -a -G docker dd-agent
を使用して、Docker グループに Agent ユーザーを追加します。- Agent の conf.d ディレクトリにあるサンプルファイルをコピーして、
docker_daemon.yaml
ファイルを作成します。ホストの Docker が標準インストールの場合は、何も変更しなくてもインテグレーションは動作します。 - その他のインテグレーションを有効にするには、
docker ps
を使用して、対応するアプリケーションが使用するポートを識別します。

コンテナのインストール
ホストで Docker が実行されていることを確認します。
Docker コンテナのインストール手順に従って、以下を実行します。
docker run -d --name dd-agent \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /proc/:/host/proc/:ro \
-v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
-e API_KEY={YOUR_DD_API_KEY} \
datadog/docker-dd-agent:latest
上のコマンドで、Docker の -e
環境変数フラグを使用して、Datadog Agent に API キーを渡すことができます。そのほかに以下の変数があります。
変数 | 説明 |
---|
API_KEY | Datadog API キーを設定します。 |
DD_HOSTNAME | Agent コンテナの datadog.conf ファイル内にホスト名を設定します。この変数が設定されない場合、Agent コンテナは、デフォルトで (docker info コマンドで報告される) Name フィールドを Agent コンテナホスト名として使用します。 |
DD_URL | Agent がデータを送信する Datadog インテークサーバー URL を設定します。これは、Agent をプロキシとして使用する際に役立ちます。 |
LOG_LEVEL | ログの詳細度を設定します (CRITICAL、ERROR、WARNING、INFO、DEBUG)。たとえば、-e LOG_LEVEL=DEBUG は、ログをデバッグモードに設定します。 |
TAGS | ホストタグをカンマ区切りの文字列として設定します。-e TAGS="simple-tag, tag-key:tag-value" のように、シンプルなタグとキー/値形式のタグの両方を使用できます。 |
EC2_TAGS | この機能を有効にすると、Agent はスタートアップ時に EC2 API を使用して設定されたカスタムタグを問い合わせたり、キャプチャしたりすることができます。有効にするには、-e EC2_TAGS=yes を使用します。注: この機能には、インスタンスに関連付けられた IAM ロールが必要です。 |
NON_LOCAL_TRAFFIC | この機能を有効にすると、外部の IP から報告する StatsD が許可されます。有効にするには、-e NON_LOCAL_TRAFFIC=yes を使用します。これは、別のコンテナまたはシステムからメトリクスを報告するために使用されます。詳細については、ネットワーク構成を参照してください。 |
PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASSWORD | プロキシ構成の詳細を設定します。注: 認証パスワードを渡すには PROXY_PASSWORD が必要です。名前の変更はできません。詳細については、Agent プロキシに関するドキュメントを参照してください。 |
SD_BACKEND, SD_CONFIG_BACKEND, SD_BACKEND_HOST, SD_BACKEND_PORT, SD_TEMPLATE_DIR, SD_CONSUL_TOKEN | オートディスカバリーを有効化および構成します。詳細については、オートディスカバリーのガイドを参照してください。 |
注: Agent に再起動に対する耐性を持たせるには、--restart=unless-stopped
を追加します。
Agent コンテナを Amazon Linux で実行
Datadog Agent コンテナを Amazon Linux で実行するには、cgroup
ボリュームマウントロケーションに以下の変更を行います。
docker run -d --name dd-agent \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /proc/:/host/proc/:ro \
-v /cgroup/:/host/sys/fs/cgroup:ro \
-e API_KEY={YOUR API KEY} \
datadog/docker-dd-agent:latest
Alpine Linux ベースのコンテナ
標準の Docker イメージは Debian Linux に基づいていますが、Datadog Agent v5.7 では Alpine Linux ベースのイメージがあります。Alpine Linux イメージは、従来の Debian ベースのイメージに比べてサイズが大幅に小さくなっています。また、Alpine のセキュリティ指向の設計も継承しています。
Alpine Linux イメージを使用するには、バージョンタグに -alpine
を追加します。たとえば、以下のとおりです。
docker run -d --name dd-agent \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v /proc/:/host/proc/:ro \
-v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
-e API_KEY={YOUR API KEY} \
datadog/docker-dd-agent:latest-alpine
イメージのバージョン管理
Datadog Agent のバージョン 5.5.0 から、Docker イメージのバージョンパターンが新しくなりました。これにより、Agent のバージョンは同じまま、Datadog Agent の Docker イメージに対する変更をリリースできるようになりました。
Docker イメージバージョンは、X.Y.Z というパターンです。ここで、X は Docker イメージのメジャーバージョン、Y はマイナーバージョン、Z は Agent のバージョンを表します。
たとえば、Datadog Agent 5.5.0 をバンドルした Docker イメージの最初のバージョンは 10.0.550
です。
カスタムコンテナと追加情報
Datadog Agent を使用したカスタム Docker コンテナの構築、Alpine Linux ベースのイメージ、バージョン管理などについては、Github の docker-dd-agent プロジェクトを参照してください。
検証
Agent の status サブコマンドを実行し、Checks セクションで docker_daemon
を探します。
Agent v6
最新の Docker チェックの名前は docker
です。これは、新しい内部アーキテクチャを利用するために Go で記述されています。v6.0 以降の Agent は、docker_daemon
チェックをロードしません。ただし、Agent v5 では引き続き使用でき、メンテナンスも継続されます。以下の非推奨の機能以外のすべての機能は、バージョン >6.0 に移植されます。
url
、api_version
、および tags*
オプションは非推奨です。標準の Docker 環境変数を直接使用することをお勧めします。ecs_tags
、performance_tags
、および container_tags
オプションは非推奨です。関連するタグはそれぞれデフォルトで収集されます。docker.container.count
メトリクスを有効にする collect_container_count
オプションはサポートされません。docker.containers.running
と .stopped
を使用してください。
一部のオプションは docker_daemon.yaml
からメインの datadog.yaml
に移動しました。
collect_labels_as_tags
は docker_labels_as_tags
という名前に変更され、カーディナリティの高いタグをサポートします。詳細は、datadog.yaml.example
を参照してください。exclude
リストと include
リストは、ac_include
と ac_exclude
という名前に変更されました。Agent のすべてのコンポーネントで一貫性のある絞り込みを行うために、任意のタグの絞り込みは削除されました。サポートされる絞り込みタグは、image
(イメージ名) と name
(コンテナ名) だけです。正規表現絞り込みは引き続き使用できます。例については、datadog.yaml.example
を参照してください。docker_root
オプションは、container_cgroup_root
と container_proc_root
の 2 つのオプションに分割されました。- Kubernetes と Openshift で一時停止中のコンテナを除外する
exclude_pause_container
が追加されました (デフォルトは true)。これは、それらが誤って除外リストから漏れることを防ぎます。
その他の変更
import
コマンドは、古い docker_daemon.yaml
を新しい docker.yaml
に変換します。また、このコマンドは、必要な設定を docker_daemon.yaml
から datadog.yaml
に移動します。
収集データ
メトリクス
イベント
Docker インテグレーションは以下のイベントを生成します。
- Delete Image
- Die
- Error
- Fail
- Kill
- Out of memory (oom)
- Pause
- Restart container
- Restart Daemon
- Update
サービスチェック
注: docker.exit
を使用するには、Docker YAML ファイルに collect_exit_codes: true
を追加し、Agent を再起動します。
トラブルシューティング
ご不明な点は、Datadog のサポートチームまでお問い合わせください。
その他の参考資料