- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
Supported OS
注: Docker Daemon チェックのメンテナンスは継続されていますが、Agent v5 でのみ動作します。
この Agent チェックを構成して Docker_daemon サービスからリアルタイムにメトリクスを取得することで、以下のことが可能です。
すべてのコンテナに関する Docker メトリクスを収集するには、ホストごとに 1 つの Datadog Agent を実行します。各ホストで直接 Agent を実行する方法と、1 つの docker-dd-agent コンテナ内で実行する方法 (推奨) の 2 つがあります。
どちらのオプションでも、Docker チェックが成功するには、ホストで cgroup メモリ管理が有効になっている必要があります。これを有効にする方法については、docker-dd-agent リポジトリを参照してください。
usermod -a -G docker dd-agent
を使用して、Docker グループに Agent ユーザーを追加します。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
を追加します。
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
標準の 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
を探します。
最新の 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 つのオプションに分割されました。exclude_pause_container
が追加されました (デフォルトは true)。これは、それらが誤って除外リストから漏れることを防ぎます。その他の変更
TAGS
環境変数は DD_TAGS
という名前に変更されました。import
コマンドは、古い docker_daemon.yaml
を新しい docker.yaml
に変換します。また、このコマンドは、必要な設定を docker_daemon.yaml
から datadog.yaml
に移動します。
docker.cpu.limit (gauge) | Limit on CPU available to the container, expressed as percentage of a core Shown as percent |
docker.cpu.system (gauge) | The percent of time the CPU is executing system calls on behalf of processes of this container, unnormalized Shown as percent |
docker.cpu.system.95percentile (gauge) | 95th percentile of docker.cpu.system [deprecated in agent 6.0] Shown as percent |
docker.cpu.system.avg (gauge) | Average value of docker.cpu.system [deprecated in agent 6.0] Shown as percent |
docker.cpu.system.count (rate) | The rate that the value of docker.cpu.system was sampled [deprecated in agent 6.0] Shown as sample |
docker.cpu.system.max (gauge) | Max value of docker.cpu.system Shown as percent |
docker.cpu.system.median (gauge) | Median value of docker.cpu.system [deprecated in agent 6.0] Shown as percent |
docker.cpu.user (gauge) | The percent of time the CPU is under direct control of processes of this container, unnormalized Shown as percent |
docker.cpu.user.95percentile (gauge) | 95th percentile of docker.cpu.user [deprecated in agent 6.0] Shown as percent |
docker.cpu.user.avg (gauge) | Average value of docker.cpu.user [deprecated in agent 6.0] Shown as percent |
docker.cpu.user.count (rate) | The rate that the value of docker.cpu.user was sampled [deprecated in agent 6.0] Shown as sample |
docker.cpu.user.max (gauge) | Max value of docker.cpu.user [deprecated in agent 6.0] Shown as percent |
docker.cpu.user.median (gauge) | Median value of docker.cpu.user [deprecated in agent 6.0] Shown as percent |
docker.cpu.usage (gauge) | The percent of CPU time obtained by this container Shown as percent |
docker.cpu.throttled (gauge) | Number of times the cgroup has been throttled |
docker.cpu.shares (gauge) | Shares of CPU usage allocated to the container |
docker.kmem.usage (gauge) | The amount of kernel memory that belongs to the container's processes. Shown as byte |
docker.mem.cache (gauge) | The amount of memory that is being used to cache data from disk (e.g. memory contents that can be associated precisely with a block on a block device) Shown as byte |
docker.mem.cache.95percentile (gauge) | 95th percentile value of docker.mem.cache [deprecated in agent 6.0] Shown as byte |
docker.mem.cache.avg (gauge) | Average value of docker.mem.cache [deprecated in agent 6.0] Shown as byte |
docker.mem.cache.count (rate) | The rate that the value of docker.mem.cache was sampled [deprecated in agent 6.0] Shown as sample |
docker.mem.cache.max (gauge) | Max value of docker.mem.cache [deprecated in agent 6.0] Shown as byte |
docker.mem.cache.median (gauge) | Median value of docker.mem.cache [deprecated in agent 6.0] Shown as byte |
docker.mem.rss (gauge) | The amount of non-cache memory that belongs to the container's processes. Used for stacks, heaps, etc. Shown as byte |
docker.mem.rss.95percentile (gauge) | 95th percentile value of docker.mem.rss [deprecated in agent 6.0] Shown as byte |
docker.mem.rss.avg (gauge) | Average value of docker.mem.rss [deprecated in agent 6.0] Shown as byte |
docker.mem.rss.count (rate) | The rate that the value of docker.mem.rss was sampled [deprecated in agent 6.0] Shown as sample |
docker.mem.rss.max (gauge) | Max value of docker.mem.rss [deprecated in agent 6.0] Shown as byte |
docker.mem.rss.median (gauge) | Median value of docker.mem.rss [deprecated in agent 6.0] Shown as byte |
docker.mem.swap (gauge) | The amount of swap currently used by the container Shown as byte |
docker.mem.swap.95percentile (gauge) | 95th percentile value of docker.mem.swap [deprecated in agent 6.0] Shown as byte |
docker.mem.swap.avg (gauge) | Average value of docker.mem.swap [deprecated in agent 6.0] Shown as byte |
docker.mem.swap.count (rate) | The rate that the value of docker.mem.swap was sampled [deprecated in agent 6.0] Shown as sample |
docker.mem.swap.max (gauge) | Max value of docker.mem.swap [deprecated in agent 6.0] Shown as byte |
docker.mem.swap.median (gauge) | Median value of docker.mem.swap [deprecated in agent 6.0] Shown as byte |
docker.container.open_fds (gauge) | The number of open file descriptors Shown as file |
docker.container.size_rw (gauge) | Total size of all the files in the container which have been created or changed by processes running in the container Shown as byte |
docker.container.size_rw.95percentile (gauge) | 95th percentile of docker.container.size_rw Shown as byte |
docker.container.size_rw.avg (gauge) | Average value of docker.container.size_rw Shown as byte |
docker.container.size_rw.count (rate) | The rate that the value of docker.container.size_rw was sampled Shown as sample |
docker.container.size_rw.max (gauge) | Max value of docker.container.size_rw Shown as byte |
docker.container.size_rw.median (gauge) | Median value of docker.container.size_rw Shown as byte |
docker.container.size_rootfs (gauge) | Total size of all the files in the container Shown as byte |
docker.container.size_rootfs.95percentile (gauge) | 95th percentile of docker.container.size_rootfs Shown as byte |
docker.container.size_rootfs.avg (gauge) | Average value of docker.container.size_rootfs Shown as byte |
docker.container.size_rootfs.count (rate) | The rate that the value of docker.container.size_rw was sampled Shown as sample |
docker.container.size_rootfs.max (gauge) | Max value of docker.container.size_rootfs Shown as byte |
docker.container.size_rootfs.median (gauge) | Median value of docker.container.size_rootfs Shown as byte |
docker.containers.running (gauge) | The number of containers running on this host tagged by image |
docker.containers.stopped (gauge) | The number of containers stopped on this host tagged by image |
docker.containers.running.total (gauge) | The total number of containers running on this host |
docker.containers.stopped.total (gauge) | The total number of containers stopped on this host |
docker.images.available (gauge) | The number of top-level images |
docker.images.intermediate (gauge) | The number of intermediate images, which are intermediate layers that make up other images |
docker.mem.limit (gauge) | The memory limit for the container, if set Shown as byte |
docker.mem.limit.95percentile (gauge) | 95th percentile of docker.mem.limit. Ordinarily this value will not change [deprecated in agent 6.0] Shown as byte |
docker.mem.limit.avg (gauge) | Average value of docker.mem.limit. Ordinarily this value will not change [deprecated in agent 6.0] Shown as byte |
docker.mem.limit.count (rate) | The rate that the value of docker.mem.limit was sampled [deprecated in agent 6.0] Shown as sample |
docker.mem.limit.max (gauge) | Max value of docker.mem.limit. Ordinarily this value will not change [deprecated in agent 6.0] Shown as byte |
docker.mem.limit.median (gauge) | Median value of docker.mem.limit. Ordinarily this value will not change [deprecated in agent 6.0] Shown as byte |
docker.mem.sw_limit (gauge) | The swap + memory limit for the container, if set Shown as byte |
docker.mem.sw_limit.95percentile (gauge) | 95th percentile of docker.mem.sw_limit. Ordinarily this value will not change [deprecated in agent 6.0] Shown as byte |
docker.mem.sw_limit.avg (gauge) | Average value of docker.mem.sw_limit. Ordinarily this value will not change [deprecated in agent 6.0] Shown as byte |
docker.mem.sw_limit.count (rate) | The rate that the value of docker.mem.sw_limit was sampled [deprecated in agent 6.0] Shown as sample |
docker.mem.sw_limit.max (gauge) | Max value of docker.mem.sw_limit. Ordinarily this value will not change [deprecated in agent 6.0] Shown as byte |
docker.mem.sw_limit.median (gauge) | Median value of docker.mem.sw_limit. Ordinarily this value will not change [deprecated in agent 6.0] Shown as byte |
docker.mem.soft_limit (gauge) | The memory reservation limit for the container, if set Shown as byte |
docker.mem.soft_limit.95percentile (gauge) | 95th percentile of docker.mem.soft_limit. Ordinarily this value will not change Shown as byte |
docker.mem.soft_limit.avg (gauge) | Average value of docker.mem.soft_limit. Ordinarily this value will not change Shown as byte |
docker.mem.soft_limit.count (rate) | The rate that the value of docker.mem.soft_limit was sampled Shown as sample |
docker.mem.soft_limit.max (gauge) | Max value of docker.mem.soft_limit. Ordinarily this value will not change Shown as byte |
docker.mem.soft_limit.median (gauge) | Median value of docker.mem.soft_limit. Ordinarily this value will not change Shown as byte |
docker.mem.in_use (gauge) | The fraction of used memory to available memory, IF THE LIMIT IS SET Shown as fraction |
docker.mem.in_use.95percentile (gauge) | 95th percentile of docker.mem.in_use [deprecated in agent 6.0] Shown as fraction |
docker.mem.in_use.avg (gauge) | Average value of docker.mem.in_use [deprecated in agent 6.0] Shown as fraction |
docker.mem.in_use.count (rate) | The rate that the value of docker.mem.in_use was sampled [deprecated in agent 6.0] Shown as sample |
docker.mem.in_use.max (gauge) | Max value of docker.container.mem.in_use [deprecated in agent 6.0] Shown as fraction |
docker.mem.in_use.median (gauge) | Median value of docker.container.mem.in_use [deprecated in agent 6.0] Shown as fraction |
docker.mem.sw_in_use (gauge) | The fraction of used swap + memory to available swap + memory, if the limit is set Shown as fraction |
docker.mem.sw_in_use.95percentile (gauge) | 95th percentile of docker.mem.swinuse [deprecated in agent 6.0] Shown as fraction |
docker.mem.sw_in_use.avg (gauge) | Average value of docker.mem.swinuse [deprecated in agent 6.0] Shown as fraction |
docker.mem.sw_in_use.count (rate) | The rate that the value of docker.mem.swinuse was sampled [deprecated in agent 6.0] Shown as sample |
docker.mem.sw_in_use.max (gauge) | Max value of docker.container.mem.swinuse [deprecated in agent 6.0] Shown as fraction |
docker.mem.sw_in_use.median (gauge) | Median value of docker.container.mem.swinuse [deprecated in agent 6.0] Shown as fraction |
docker.io.read_bytes (gauge) | Bytes read per second from disk by the processes of the container Shown as byte |
docker.io.read_bytes.95percentile (gauge) | 95th percentile of docker.io.read_bytes [deprecated in agent 6.0] Shown as byte |
docker.io.read_bytes.avg (gauge) | Average value of docker.io.read_bytes [deprecated in agent 6.0] Shown as byte |
docker.io.read_bytes.count (rate) | The rate that the value of docker.io.read_bytes was sampled [deprecated in agent 6.0] Shown as sample |
docker.io.read_bytes.max (gauge) | Max value of docker.container.io.read_bytes [deprecated in agent 6.0] Shown as byte |
docker.io.read_bytes.median (gauge) | Median value of docker.container.io.read_bytes [deprecated in agent 6.0] Shown as byte |
docker.io.write_bytes (gauge) | Bytes written per second to disk by the processes of the container Shown as byte |
docker.io.write_bytes.95percentile (gauge) | 95th percentile of docker.io.write_bytes [deprecated in agent 6.0] Shown as byte |
docker.io.write_bytes.avg (gauge) | Average value of docker.io.write_bytes [deprecated in agent 6.0] Shown as byte |
docker.io.write_bytes.count (rate) | The rate that the value of docker.io.write_bytes was sampled [deprecated in agent 6.0] Shown as sample |
docker.io.write_bytes.max (gauge) | Max value of docker.container.io.write_bytes [deprecated in agent 6.0] Shown as byte |
docker.io.write_bytes.median (gauge) | Median value of docker.container.io.write_bytes [deprecated in agent 6.0] Shown as byte |
docker.image.virtual_size (gauge) | Size of all layers of the image on disk Shown as byte |
docker.image.size (gauge) | Size of all layers of the image on disk Shown as byte |
docker.net.bytes_rcvd (gauge) | Bytes received per second from the network Shown as byte |
docker.net.bytes_rcvd.95percentile (gauge) | 95th percentile of docker.net.bytes_rcvd [deprecated in agent 6.0] Shown as byte |
docker.net.bytes_rcvd.avg (gauge) | Average value of docker.net.bytes_rcvd [deprecated in agent 6.0] Shown as byte |
docker.net.bytes_rcvd.count (rate) | The rate that the value of docker.net.bytes_rcvd was sampled [deprecated in agent 6.0] Shown as sample |
docker.net.bytes_rcvd.max (gauge) | Max value of docker.container.net.bytes_rcvd [deprecated in agent 6.0] Shown as byte |
docker.net.bytes_rcvd.median (gauge) | Median value of docker.container.net.bytes_rcvd [deprecated in agent 6.0] Shown as byte |
docker.net.bytes_sent (gauge) | Bytes sent per second to the network Shown as byte |
docker.net.bytes_sent_bytes.95percentile (gauge) | 95th percentile of docker.net.bytessentbytes [deprecated in agent 6.0] Shown as byte |
docker.net.bytes_sent_bytes.avg (gauge) | Average value of docker.net.bytessentbytes [deprecated in agent 6.0] Shown as byte |
docker.net.bytes_sent_bytes.count (rate) | The rate that the value of docker.net.bytessentbytes was sampled [deprecated in agent 6.0] Shown as sample |
docker.net.bytes_sent_bytes.max (gauge) | Max value of docker.container.net.bytessentbytes [deprecated in agent 6.0] Shown as byte |
docker.net.bytes_sent_bytes.median (gauge) | Median value of docker.container.net.bytessentbytes [deprecated in agent 6.0] Shown as byte |
docker.data.used (gauge) | Storage pool disk space used Shown as byte |
docker.data.free (gauge) | Storage pool disk space free Shown as byte |
docker.data.total (gauge) | Storage pool disk space total Shown as byte |
docker.data.percent (gauge) | The percent of storage pool used Shown as percent |
docker.metadata.used (gauge) | Storage pool metadata space used Shown as byte |
docker.metadata.free (gauge) | Storage pool metadata space free Shown as byte |
docker.metadata.total (gauge) | Storage pool metadata space total Shown as byte |
docker.metadata.percent (gauge) | The percent of storage pool metadata used Shown as percent |
docker.thread.count (gauge) | Current thread count for the container Shown as thread |
docker.thread.limit (gauge) | Thread count limit for the container, if set Shown as thread |
docker.uptime (gauge) | Time since the container was started Shown as second |
Docker インテグレーションは以下のイベントを生成します。
docker.service_up
Returns CRITICAL
if the Agent is unable to collect the list of containers from the Docker daemon. Returns OK
otherwise.
Statuses: ok, critical
docker.container_health
Returns CRITICAL
if a container is unhealthy. Returns OK
otherwise or UNKNOWN
if the health is unknown.
Statuses: ok, critical, unknown
docker.exit
Returns CRITICAL
if a container exited with a non-zero exit code. Returns OK
otherwise.
Statuses: ok, critical
注: docker.exit
を使用するには、Docker YAML ファイルに collect_exit_codes: true
を追加し、Agent を再起動します。
ご不明な点は、Datadog のサポートチームまでお問い合わせください。