このドキュメントでは、特定のコンテナに オートディスカバリー 構成テンプレートを適用する方法を説明します。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
その他の参考資料