このドキュメントでは、特定のコンテナに オートディスカバリー 構成テンプレートを適用する方法を説明します。ad_identifiers
パラメーターは、コンテナ イメージ名またはカスタム識別子と一致させることができます。
コンテナ イメージ名
次のオートディスカバリー構成テンプレートを特定のコンテナに適用するには、<AUTODISCOVERY_IDENTIFIER>
を 短い コンテナ イメージ名に置き換えてください:
ad_identifiers:
<AUTODISCOVERY_IDENTIFIER>
init_config:
<INIT_CONFIG>
instances:
<INSTANCES_CONFIG>
例: 次の Apache オートディスカバリー構成テンプレートは、httpd
という名前のコンテナ イメージに適用されます:
ad_identifiers:
- httpd
init_config:
instances:
- apache_status_url: http://%%host%%/server-status?auto
logs:
source: apache
service: webapp
これは、ホスト上の すべての httpd
コンテナ イメージに一致します。foo/httpd:latest
を実行しているコンテナと bar/httpd:v2
を実行しているコンテナがある場合でも、Agent は上記のテンプレートを両方のコンテナに適用します。
短いイメージ名をオートディスカバリーのコンテナ識別子として使用する場合、Agent は異なるソースやタグで同じ名前のイメージを区別できません。
複数の識別子
ad_identifiers
に次のように追加することで、複数のイメージ名を指定できます。
ad_identifiers:
- httpd
- my-custom-httpd-image
これは、ホスト上で httpd
または my-custom-httpd-image
に一致する すべての コンテナ イメージに適用されます。
カスタムなオートディスカバリーコンテナ識別子
同じイメージを実行するコンテナに別々の構成テンプレートを適用したい場合は、カスタム コンテナ識別子を使用してください。
Docker ラベルまたは Kubernetes アノテーションを使用して、コンテナにカスタム コンテナ識別子を付与します。
例:
foo
としてコンテナを識別する Docker ラベルまたは Kubernetes アノテーションを適用します:
LABEL com.datadoghq.ad.check.id="foo"
注: com.datadoghq.ad.check.id
ラベルはイメージ名より優先されます。
ad.datadoghq.com/<CONTAINER_NAME>.check.id: 'foo'
<CONTAINER_NAME>
をポッド内のコンテナ名に置き換えてください。
注: Datadog Agent v6.25+ および v7.25 でサポートされています。ad.datadoghq.com/<CONTAINER_NAME>.check.id
ラベルはイメージ名より優先されます。
このカスタム値をオートディスカバリー構成テンプレート内で参照します。
例:
次の Apache オートディスカバリー構成テンプレートは、foo
というカスタム名のコンテナ イメージを指定します:
ad_identifiers:
- foo
init_config:
instances:
- apache_status_url: http://%%host%%/server-status?auto
logs:
source: apache
service: webapp
その他の参考資料