Docker タグの抽出
Dash が新機能を発表!インシデントマネジメント、Continuous Profiler など多数の機能が追加されました! Dash イベントで発表された新機能!

Docker タグの抽出

概要

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

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

統合サービスタグ付け

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

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

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

その他の参考資料