Docker タグの抽出

Docker タグの抽出

概要

Datadog Agent は、タグを作成し、ラベルまたは環境変数に基づいてコンテナが発行するすべてのメトリクス、トレース、ログに割り当てることができます。

ホスト上で Agent をバイナリとして実行している場合は、Agent タブの手順を使用してタグ抽出を構成します。Agent をコンテナとして実行している場合は、コンテナ化された Agent タブの手順でタグ抽出を構成します。

すぐに使えるタグ付け

Agent は、タグを自動検出し、コンテナにより送信されたすべてのデータにアタッチします。アタッチされるタグのリストは、Agent のカーディナリティコンフィギュレーションに基づきます。

タグカーディナリティ要件
container_nameN/A
container_idN/A
rancher_containerRancher 環境
mesos_taskオーケストレーターMesos 環境
docker_imageN/A
image_nameN/A
short_imageN/A
image_tagN/A
swarm_serviceSwarm 環境
swarm_namespaceSwarm 環境
rancher_stackRancher 環境
rancher_serviceRancher 環境
env統合サービスタグ付け有効
version統合サービスタグ付け有効
service統合サービスタグ付け有効
marathon_appMarathon 環境
chronos_jobMesos 環境
chronos_job_ownerMesos 環境
nomad_taskNomad 環境
nomad_jobNomad 環境
nomad_groupNomad 環境

統合サービスタグ付け

Datadog では、コンテナ化環境のベストプラクティスとして、タグを付ける際に統合サービスタグ付けを使用することをおすすめしています。統合サービスタグ付けは、envserviceversion の 3 つの標準タグを使用して Datadog テレメトリーと結合します。ご使用環境で統合タグ付けを構成する方法に関する詳細は、専用の統合サービスタグ付けドキュメントをご参照ください。

ラベルをタグとして抽出

Agent v6.0 以降、Agent は特定のコンテナのラベルを収集し、それらをタグとして使用して、このコンテナが発行するすべてのデータにアタッチできます。

特定の Docker ラベル <ラベル名> を抽出し、Datadog 内のタグキー <タグキー> として変換するには、次の環境変数を Datadog Agent に追加します。

DD_DOCKER_LABELS_AS_TAGS='{"<ラベル名>": "<タグキー>"}'

たとえば、次のように設定できます。

DD_DOCKER_LABELS_AS_TAGS='{"com.docker.compose.service":"service_name"}'

: <ラベル名> は、大文字と小文字を区別しません。つまり、fooFOO のラベルを使用していて、DD_DOCKER_LABELS_AS_TAGS='{"foo": "bar"}' を設定すると、foo および FOO の両方が bar にマッピングされます。

特定の Docker ラベル <ラベル名> を抽出し、Datadog 内のタグキー <タグキー> として変換するには、Agent datadog.yaml 構成ファイルに次の構成ブロックを追加します。

docker_labels_as_tags:
  <ラベル名>: <タグキー>

たとえば、次のように設定できます。

docker_labels_as_tags:
  com.docker.compose.service: service_name

環境変数をタグとして抽出

Datadog は Docker、Kubernetes、ECS、Swarm、Mesos、Nomad、Rancher から一般的なタグを自動的に収集します。さらに多くのタグを抽出するには、次のオプションを使用します。

環境変数説明
DD_DOCKER_LABELS_AS_TAGSdocker コンテナラベルを抽出します
DD_DOCKER_ENV_AS_TAGSdocker コンテナー環境変数を抽出します
DD_KUBERNETES_POD_LABELS_AS_TAGSポッドラベルを抽出します
DD_CHECKS_TAG_CARDINALITYタグをチェックメトリクスに追加します
DD_DOGSTATSD_TAG_CARDINALITYタグをカスタムメトリクスに追加します

Agent v7.20 以降では、コンテナ化された Agent は Docker ラベルからタグを自動検出できます。このプロセスにより、Agent は、Agent の datadog.yaml ファイルを変更することなく、コンテナによって発行されたすべてのデータにカスタムタグを関連付けることができます。

タグは次の形式で追加する必要があります。

com.datadoghq.ad.tags: '["<TAG_KEY_1>:<TAG_VALUE_1>", "<TAG_KEY_2>:<TAG_VALUE_2>"]'

Agent v6.0 以降、Agent は特定のコンテナの環境変数を収集し、それらをタグとして使用して、このコンテナが発行するすべてのデータにアタッチできます。

特定の Docker 環境変数 <環境変数名> を抽出し、Datadog 内のタグキー <タグキー> として変換するには、次の環境変数を Datadog Agent に追加します。

DD_DOCKER_ENV_AS_TAGS='{"<環境変数名>": "<タグキー>"}'

たとえば、次のように設定できます。

DD_DOCKER_ENV_AS_TAGS='{"ENVIRONMENT":"env"}'

特定の Docker 環境変数 <環境変数名> を抽出し、Datadog 内のタグキー <タグキー> として変換するには、Agent datadog.yaml 構成ファイルに次の構成ブロックを追加します。

docker_env_as_tags:
  <環境変数>: <タグキー>

たとえば、次のように設定できます。

docker_env_as_tags:
  ENVIRONMENT: env

その他の参考資料