- 重要な情報
- はじめに
- 用語集
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
Agent は、タグを作成し、ラベルまたはアノテーションに基づいてポッドが発行するすべてのメトリクス、トレース、ログに割り当てることができます。
ホスト上で Agent をバイナリとして実行している場合は、Agent タブの手順を使用してタグ抽出を構成します。Kubernetes クラスターで Agent をコンテナとして実行している場合は、コンテナ化された Agent タブの手順でタグ抽出を構成します。
Agent は、タグを自動検出して、ポッド全体またはこのポッド内の個別のコンテナにより送信されたすべてのデータにアタッチします。自動的にアタッチされるタグのリストは、Agent のカーディナリティコンフィギュレーションに基づきます。
タグ | 粒度 | ソース | 要件 |
---|---|---|---|
container_id | 高 | ポッドステータス | N/A |
display_container_name | 高 | ポッドステータス | N/A |
pod_name | オーケストレーター | ポッドメタデータ | N/A |
oshift_deployment | オーケストレーター | ポッドアノテーション openshift.io/deployment.name | OpenShift 環境およびポッドアノテーションが必要 |
kube_ownerref_name | オーケストレーター | ポッド ownerref | ポッドにオーナーが必要 |
kube_job | オーケストレーター | ポッド ownerref | ポッドはジョブにアタッチされていることが必要 |
kube_job | 低 | ポッド ownerref | |
ポッドは cronjob にアタッチされていることが必要 | |||
kube_replica_set | 低 | ポッド ownerref | ポッドはレプリカセットにアタッチされていることが必要 |
kube_service | 低 | Kubernetes サービスディスカバリー | ポッドは Kubernetes サービスの後方にあることが必要 |
kube_daemon_set | 低 | ポッド ownerref | ポッドは DaemonSet セットにアタッチされていることが必要 |
kube_container_name | 低 | ポッドステータス | N/A |
kube_namespace | 低 | ポッドメタデータ | N/A |
kube_app_name | 低 | ポッドラベル app.kubernetes.io/name | ポッドラベルが必要 |
kube_app_instance | 低 | ポッドラベル app.kubernetes.io/instance | ポッドラベルが必要 |
kube_app_version | 低 | ポッドラベル app.kubernetes.io/version | ポッドラベルが必要 |
kube_app_component | 低 | ポッドラベル app.kubernetes.io/component | ポッドラベルが必要 |
kube_app_part_of | 低 | ポッドラベル app.kubernetes.io/part-of | ポッドラベルが必要 |
kube_app_managed_by | 低 | ポッドラベル app.kubernetes.io/managed-by | ポッドラベルが必要 |
env | 低 | ポッドラベル tags.datadoghq.com/env またはコンテナ envvar DD_ENV | 統合サービスタグ付け有効 |
version | 低 | ポッドラベル tags.datadoghq.com/version or container envvar DD_VERSION | 統合サービスタグ付け有効 |
service | 低 | ポッドラベル tags.datadoghq.com/service or container envvar DD_SERVICE | 統合サービスタグ付け有効 |
pod_phase | 低 | ポッドステータス | N/A |
oshift_deployment_config | 低 | ポッドアノテーション openshift.io/deployment-config.name | OpenShift 環境およびポッドアノテーションが必要 |
kube_ownerref_kind | 低 | ポッド ownerref | ポッドにオーナーが必要 |
kube_deployment | 低 | ポッド ownerref | ポッドはデプロイにアタッチされていることが必要 |
kube_replication_controller | 低 | ポッド ownerref | ポッドはレプリケーションコントローラーにアタッチされていることが必要 |
kube_stateful_set | 低 | ポッド ownerref | ポッドは statefulset にアタッチされていることが必要 |
persistentvolumeclaim | 低 | ポッド仕様 | PVC がポッドにアタッチされていることが必要 |
kube_cronjob | 低 | ポッド ownerref | ポッドは cronjob にアタッチされていることが必要 |
image_name | 低 | ポッド仕様 | N/A |
short_image | 低 | ポッド仕様 | N/A |
image_tag | 低 | ポッド仕様 | N/A |
eks_fargate_node | 低 | ポッド仕様 | |
EKS Fargate 環境 |
Agent は Kubernetes 環境情報を “host tags” としてアタッチできます。
タグ | 粒度 | ソース | 要件 |
---|---|---|---|
kube_cluster_name | 低 | DD_CLUSTER_NAME envvar またはクラウドプロバイダーインテグレーション | DD_CLUSTER_NAME envvar またはクラウドプロバイダー有効 |
kube_node_role | 低 | ノードラベル node-role.kubernetes.io/<role> | ノードラベルが必要 |
Agent v6.10 以降では、Agent はポッドアノテーションからタグを自動検出できます。これにより、Agent は、ポッド全体またはこのポッド内の個々のコンテナから発行されるすべてのデータにタグを関連付けることができます。
Datadog では、コンテナ化環境のベストプラクティスとして、統合サービスタグ付けを使用してタグを統合することをおすすめしています。統合サービスタグ付けは、env
、service
、version
の 3 つの標準タグを使用して Datadog テレメトリーと結合します。ご使用環境で統合タグ付けを構成する方法に関する詳細は、統合サービスタグ付けドキュメントをご参照ください。
<タグキー>:<タグ値>
タグを特定のポッドから発行され、Agent によって収集されたすべてのデータに適用するには、ポッドで次のアノテーションを使用します。
annotations:
ad.datadoghq.com/tags: '{"<タグキー>": "<タグ値>","<タグキー_1>": "<タグ値_1>"}'
ポッド内の個々のコンテナ <CONTAINER_IDENTIFIER>
に <TAG_KEY>:<TAG_VALUE>
タグを適用する場合は、ポッドで次のアノテーションを使用します。
annotations:
ad.datadoghq.com/<コンテナ識別子>.tags: '{"<タグキー>": "<タグ値>","<タグキー_1>": "<タグ値_1>"}'
Agent v7.17 以降では、Agent は Docker ラベルからタグを自動検出できます。このプロセスにより、Agent は、Agent の datadog.yaml
ファイルを変更することなく、コンテナによって発行されたすべてのデータにカスタムタグを関連付けることができます。
com.datadoghq.ad.tags: '["<タグキー>:タグ値", "<タグキー_1>:<タグ値_1>"]'
Agent v6.0 以降、Agent は特定のノードのラベルを収集し、それらをタグとして使用して、このノード上のすべてのポッドが発行するすべてのメトリクスにアタッチできます。
特定のノードラベル <ノードラベル>
を抽出し、Datadog 内のタグキー <タグキー>
として変換するには、次の環境変数を Datadog Agent に追加します。
DD_KUBERNETES_NODE_LABELS_AS_TAGS='{"<ノードラベル>": "<タグキー>"}'
たとえば、次のように設定できます。
DD_KUBERNETES_NODE_LABELS_AS_TAGS='{"app":"kube_app"}'
Agent v7.24.0 以降の場合、次の環境変数構成を使用して、すべてのノードラベルをタグとしてメトリクスに追加します。この例では、タグ名の前に <プレフィックス>_
が付いています。
DD_KUBERNETES_NODE_LABELS_AS_TAGS='{"*":"<PREFIX>_%%label%%"}'
注: カスタムメトリクスは請求に影響を与える可能性があります。詳細については、カスタムメトリクスの請求ページを参照してください。
特定のノードラベル <ノードラベル>
を抽出し、Datadog 内のタグキー <タグキー>
として変換するには、Agent datadog.yaml
構成ファイルに次の構成ブロックを追加します。
kubernetes_node_labels_as_tags:
<ノードラベル>: <タグキー>
たとえば、次のように設定できます。
kubernetes_node_labels_as_tags:
app: kube_app
Agent v6.0 以降、Agent は特定のポッドのラベルを収集し、それらをタグとして使用して、このポッドが発行するすべてのメトリクスにアタッチできます。
特定のポッドラベル <ポッドラベル>
を抽出し、Datadog 内のタグキー <タグキー>
として変換するには、次の環境変数を Datadog Agent に追加します。
DD_KUBERNETES_POD_LABELS_AS_TAGS='{"<ポッドラベル>": "<タグキー>"}'
たとえば、次のように設定できます。
DD_KUBERNETES_POD_LABELS_AS_TAGS='{"app":"kube_app"}'
Agent v6.8.0 以降の場合、次の環境変数構成を使用して、すべてのポッドラベルをタグとしてメトリクスに追加します。この例では、タグ名の前に <プレフィックス>_
が付いています。
DD_KUBERNETES_POD_LABELS_AS_TAGS='{"*":"<プレフィックス>_%%label%%"}'
注: カスタムメトリクスは請求に影響を与える可能性があります。詳細については、カスタムメトリクスの請求ページを参照してください。
特定のポッドラベル <ポッドラベル>
を抽出し、Datadog 内のタグキー <タグキー>
として変換するには、Agent datadog.yaml
構成ファイルに次の構成ブロックを追加します。
kubernetes_pod_labels_as_tags:
<ポッドラベル>: <タグキー>
たとえば、次のように設定できます。
kubernetes_pod_labels_as_tags:
app: kube_app
Agent v6.8.0 以降の場合、次の環境変数構成を使用して、すべてのポッドラベルをタグとしてメトリクスに追加します。この例では、タグ名の前に <プレフィックス>_
が付いています。
kubernetes_pod_labels_as_tags:
*: <プレフィックス>_%%label%%
注: カスタムメトリクスは請求に影響を与える可能性があります。詳細については、[カスタムメトリクスの請求ページ][3]を参照してください。
Agent v6.0 以降、Agent は特定のポッドのアノテーションを収集し、それらをタグとして使用して、このポッドが発行するすべてのメトリクスにアタッチできます。
特定のポッドラベル <ポッドアノテーション>
を抽出し、Datadog 内のタグキー <タグキー>
として変換するには、次の環境変数を Datadog Agent に追加します。
DD_KUBERNETES_POD_ANNOTATIONS_AS_TAGS='{"<ポッドアノテーション>": "<タグキー>"}'
たとえば、次のように設定できます。
DD_KUBERNETES_POD_ANNOTATIONS_AS_TAGS='{"app":"kube_app"}'
Agent v7.24.0 以降の場合、次の環境変数構成を使用して、すべてのポッドアノテーションをタグとしてメトリクスに追加します。この例では、タグ名の前に <プレフィックス>_
が付いています。
DD_KUBERNETES_POD_ANNOTATIONS_AS_TAGS='{"*":"<PREFIX>_%%annotation%%"}'
注: カスタムメトリクスは請求に影響を与える可能性があります。詳細については、カスタムメトリクスの請求ページを参照してください。
特定のポッドアノテーション <ポッドアノテーション>
を抽出し、Datadog 内のタグキー <タグキー>
として変換するには、Agent datadog.yaml
構成ファイルに次の構成ブロックを追加します。
kubernetes_pod_annotations_as_tags:
<ポッドアノテーション>: <タグキー>
たとえば、次のように設定できます。
kubernetes_pod_annotations_as_tags:
app: kube_app
Agent 7.27 以降、Agent は特定のネームスペースのラベルを収集し、それらをタグとして使用して、このネームスペースのすべてのポッドが発行するすべてのメトリクスにアタッチできます。
特定のネームスペースラベル <NAMESPACE_LABEL>
を抽出し、Datadog 内のタグキー <TAG_KEY>
として変換するには、次の環境変数を Datadog Agent に追加します。
DD_KUBERNETES_NAMESPACE_LABELS_AS_TAGS='{"<NAMESPACE_LABEL>": "<TAG_KEY>"}'
たとえば、次のように設定できます。
DD_KUBERNETES_NAMESPACE_LABELS_AS_TAGS='{"app":"kube_app"}'
次の環境変数コンフィギュレーションを使用して、すべてのポッドラベルをタグとしてメトリクスに追加します。この例では、タグ名の前に <PREFIX>_
が付いています。
DD_KUBERNETES_NAMESPACE_LABELS_AS_TAGS='{"*":"<PREFIX>_%%label%%"}'
注: カスタムメトリクスは請求に影響を与える可能性があります。詳細については、カスタムメトリクスの請求ページを参照してください。
特定のネームスペースラベル <NAMESPACE_LABEL>
を抽出し、Datadog 内のタグキー <TAG_KEY>
として変換するには、Agent datadog.yaml
構成ファイルに次の構成ブロックを追加します。
kubernetes_namespace_labels_as_tags:
<NAMESPACE_LABEL>: <TAG_KEY>
たとえば、次のように設定できます。
kubernetes_namespace_labels_as_tags:
app: kube_app
Agent v7.32+ から、Agent はコンテナ環境変数を収集し、コンテナに対応するすべてのメトリクスにアタッチするタグとして使用することができます。docker
と containerd
の両方のコンテナがサポートされています。
特定の環境変数 <ENV_VAR>
を抽出し、Datadog 内のタグキー <TAG_KEY>
として変換するには、次の環境変数を Datadog Agent に追加します。
DD_CONTAINER_ENV_AS_TAGS='{"<ENV_VAR>": "<TAG_KEY>"}'
例:
DD_CONTAINER_ENV_AS_TAGS='{"app":"kube_app"}'
注: カスタムメトリクスは請求に影響を与える可能性があります。詳細については、カスタムメトリクスの請求を参照してください。
特定の環境変数 <ENV_VAR>
を抽出し、Datadog 内のタグキー <TAG_KEY>
として変換するには、Agent datadog.yaml
構成ファイルに次の構成ブロックを追加します。
container_env_as_tags:
<ENV_VAR>: <TAG_KEY>
例:
container_env_as_tags:
app: kube_app
Agent v7.33+ から、Agent はコンテナラベルを収集し、タグとして使用することができます。Agent は、コンテナに関連するすべてのメトリクスにタグを付けます。
Agent は、docker
と containerd
の両方のコンテナラベルからタグを生成することができます。containerd
の場合は、v1.5.6 が最低限サポートされるバージョンです。
特定のコンテナラベル <CONTAINER_LABEL>
を抽出し、タグキー <TAG_KEY>
に変換するには、次の環境変数を Datadog Agent に追加します。
DD_CONTAINER_LABELS_AS_TAGS='{"<CONTAINER_LABEL>":"<TAG_KEY>"}'
例:
DD_CONTAINER_LABELS_AS_TAGS='{"app":"kube_app"}'
注: カスタムメトリクスは請求に影響を与える可能性があります。詳細については、カスタムメトリクスの請求を参照してください。
特定のコンテナラベル <CONTAINER_LABEL>
を抽出し、タグキー <TAG_KEY>
に変換するには、Agent datadog.yaml
構成ファイルに次の構成ブロックを追加します。
container_labels_as_tags:
<CONTAINER_LABEL>: <TAG_KEY>
例:
container_labels_as_tags:
app: kube_app
お役に立つドキュメント、リンクや記事: