OpenTelemetry のセマンティック規則と Datadog の規則

OpenTelemetry は、さまざまな種類のデータの名前を指定するための セマンティック規約を使用します。このページでは、OpenTelemetry のセマンティック規約から Datadog のセマンティック規約へのマッピングを一覧表示しています。

OpenTelemetry 規則Datadog 規則タイプ
deployment.environment.name *envUnified service tagging
service.nameserviceUnified service tagging
service.versionversionUnified service tagging
container.idcontainer_idContainers
container.namecontainer_nameContainers
container.image.nameimage_nameContainers
container.image.tagimage_tagContainers
cloud.providercloud_providerCloud
cloud.regionregionCloud
cloud.availability_zonezoneCloud
aws.ecs.task.familytask_familyECS
aws.ecs.task.arntask_arnECS
aws.ecs.cluster.arnecs_cluster_nameECS
aws.ecs.task.revisiontask_versionECS
aws.ecs.container.arnecs_container_nameECS
k8s.container.namekube_container_nameKubernetes
k8s.cluster.namekube_cluster_nameKubernetes
k8s.deployment.namekube_deploymentKubernetes
k8s.replicaset.namekube_replica_setKubernetes
k8s.statefulset.namekube_stateful_setKubernetes
k8s.daemonset.namekube_daemon_setKubernetes
k8s.job.namekube_jobKubernetes
k8s.cronjob.namekube_cronjobKubernetes
k8s.namespace.namekube_namespaceKubernetes
k8s.pod.namepod_nameKubernetes
app.kubernetes.io/namekube_app_nameKubernetes labels
app.kubernetes.io/instancekube_app_instanceKubernetes labels
app.kubernetes.io/versionkube_app_versionKubernetes labels
app.kubernetes.io/componentkube_app_componentKubernetes labels
app.kubernetes.io/part-ofkube_app_part_ofKubernetes labels
app.kubernetes.io/managed-bykube_app_managed_byKubernetes labels
client.addresshttp.client_ipHTTP
http.response.body.sizehttp.response.content_lengthHTTP
http.response.header.<header-name>http.response.headers.<header-name>HTTP
http.response.status_codehttp.status_codeHTTP
http.request.body.sizehttp.request.content_lengthHTTP
http.request.header.referrerhttp.referrerHTTP
http.request.header.<header-name>http.request.headers.<header-name>HTTP
http.request.methodhttp.methodHTTP
http.routehttp.routeHTTP
network.protocol.versionhttp.versionHTTP
server.addresshttp.server_nameHTTP
url.fullhttp.urlHTTP
user_agent.originalhttp.useragentHTTP

*非推奨の deployment.environment 規約を置き換えます。Datadog Agent 7.58.0 以降、Datadog Exporter v0.110.0 以降、または Datadog OTLP intake が必要です。

スパンタイプのマッピング

Datadog には、span.type 属性で表される「スパンタイプ」というベンダー固有の規約があります。

スパンに含まれる属性に基づいて、Datadog Agent および Datadog OpenTelemetry コンポーネントは、他の Datadog サービスとの互換性を高めるために、適切なスパンタイプを推測しようとします。attributes プロセッサーや transform プロセッサーを使用したり、OpenTelemetry SDK で適切な設定値を指定したりすることで、任意のスパンに span.type 属性を明示的に設定し、このロジックを上書きすることもできます。

OpenTelemetry スパン属性を Datadog スパンタイプにマッピングする

次の表は、スパンタイプのマッピングロジックを示しています。この表は、優先順位に従ってマッピングを一覧表示しています。

#スパン属性Datadog span.type
1span.typespan.type属性値
2スパンの種類 serverweb
3スパンの種類 client3a/b を参照
3a[スパンの種類 client]、db.system属性が見つかりませんhttp
3b[スパンの種類 client]、db.system属性が見つかりましたOpenTelemetry データベースシステムタイプから Datadog スパンタイプへのマッピングの表を参照してください
4上記の条件がいずれも満たされませんでしたcustom

OpenTelemetry データベースシステムタイプから Datadog スパンタイプへのマッピング

上記のテーブルにおいて、スパンが[スパンの種類 client]であり、db.system 属性を含む場合、Datadog のスパンタイプには以下のマッピングが適用されます。スパンに span.type 属性を設定すると、このロジックが上書きされます。

db.systemDatadog span.type
SQL タイプ DBMS (以下に記載)sql
adabassql
cachesql
clickhousesql
cloudscapesql
cockroachdbsql
coldfusionsql
db2sql
derbysql
edbsql
firebirdsql
firstsqlsql
filemakersql
hanadbsql
h2sql
hsqldbsql
informixsql
ingressql
instantdbsql
interbasesql
mariadbsql
maxdbsql
mssqlsql
mysqlsql
netezzasql
oraclesql
other_sqlsql
pervasivesql
pointbasesql
postgresqlsql
progresssql
redshiftsql
sqlitesql
sybasesql
teradatasql
verticasql
その他の DB タイプ以下を参照
cassandracassandra
couchbasedb
couchdbdb
cosmosdbdb
dynamodbdb
elasticsearchelasticsearch
geodedb
hivedb
memcachedmemcached
mongodbmongodb
opensearchopensearch
redisredis
上記に記載されていない db.system 値db

メトリクス属性マッピング

デフォルトでは、Datadog は上記のセマンティック規約テーブルに記載されている OpenTelemetry リソース属性のみを Datadog メトリクスタグにマッピングします。

OTLP メトリックペイロードのすべてのリソース属性をタグとして付与するには、metrics::resource_attributes_as_tags 設定を有効にします。 この設定を有効にすると、上記のテーブルに示されているマッピングされたセマンティック規約タグに加えて、すべてのリソース属性 key:value ペアが Datadog タグとして追加されます。

注: このオプションを有効にすると、タグのカーディナリティが大幅に増加する可能性があります。追加されているタグを確認するには、Metrics Explorer でメトリクスを調査してください。

exporters:
    datadog:
        # Other configuration goes here...
        metrics:
            # Add all resource attributes as tags for metrics
            resource_attributes_as_tags: true
otlp_config:
    # Other configuration goes here...
    metrics:
        # Add all resource attributes as tags for metrics
        resource_attributes_as_tags: true

このオプションを有効にすると、OpenTelemetry リソース属性と Datadog セマンティック規約の両方がメトリクスタグに追加されます。

参考資料