OpenTelemetry のセマンティック規則と Datadog の規則
OpenTelemetry は、さまざまな種類のデータの名前を指定するための セマンティック規約を使用します。このページでは、OpenTelemetry のセマンティック規約から Datadog のセマンティック規約へのマッピングを一覧表示しています。
deployment.environment.name * | env | Unified service tagging |
service.name | service | Unified service tagging |
service.version | version | Unified service tagging |
container.id | container_id | Containers |
container.name | container_name | Containers |
container.image.name | image_name | Containers |
container.image.tag | image_tag | Containers |
cloud.provider | cloud_provider | Cloud |
cloud.region | region | Cloud |
cloud.availability_zone | zone | Cloud |
aws.ecs.task.family | task_family | ECS |
aws.ecs.task.arn | task_arn | ECS |
aws.ecs.cluster.arn | ecs_cluster_name | ECS |
aws.ecs.task.revision | task_version | ECS |
aws.ecs.container.arn | ecs_container_name | ECS |
k8s.container.name | kube_container_name | Kubernetes |
k8s.cluster.name | kube_cluster_name | Kubernetes |
k8s.deployment.name | kube_deployment | Kubernetes |
k8s.replicaset.name | kube_replica_set | Kubernetes |
k8s.statefulset.name | kube_stateful_set | Kubernetes |
k8s.daemonset.name | kube_daemon_set | Kubernetes |
k8s.job.name | kube_job | Kubernetes |
k8s.cronjob.name | kube_cronjob | Kubernetes |
k8s.namespace.name | kube_namespace | Kubernetes |
k8s.pod.name | pod_name | Kubernetes |
app.kubernetes.io/name | kube_app_name | Kubernetes labels |
app.kubernetes.io/instance | kube_app_instance | Kubernetes labels |
app.kubernetes.io/version | kube_app_version | Kubernetes labels |
app.kubernetes.io/component | kube_app_component | Kubernetes labels |
app.kubernetes.io/part-of | kube_app_part_of | Kubernetes labels |
app.kubernetes.io/managed-by | kube_app_managed_by | Kubernetes labels |
client.address | http.client_ip | HTTP |
http.response.body.size | http.response.content_length | HTTP |
http.response.header.<header-name> | http.response.headers.<header-name> | HTTP |
http.response.status_code | http.status_code | HTTP |
http.request.body.size | http.request.content_length | HTTP |
http.request.header.referrer | http.referrer | HTTP |
http.request.header.<header-name> | http.request.headers.<header-name> | HTTP |
http.request.method | http.method | HTTP |
http.route | http.route | HTTP |
network.protocol.version | http.version | HTTP |
server.address | http.server_name | HTTP |
url.full | http.url | HTTP |
user_agent.original | http.useragent | HTTP |
*非推奨の 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 スパンタイプにマッピングする
次の表は、スパンタイプのマッピングロジックを示しています。この表は、優先順位に従ってマッピングを一覧表示しています。
OpenTelemetry データベースシステムタイプから Datadog スパンタイプへのマッピング
上記のテーブルにおいて、スパンが[スパンの種類 client]であり、db.system 属性を含む場合、Datadog のスパンタイプには以下のマッピングが適用されます。スパンに span.type 属性を設定すると、このロジックが上書きされます。
db.system | Datadog span.type |
|---|
| SQL タイプ DBMS (以下に記載) | sql |
adabas | sql |
cache | sql |
clickhouse | sql |
cloudscape | sql |
cockroachdb | sql |
coldfusion | sql |
db2 | sql |
derby | sql |
edb | sql |
firebird | sql |
firstsql | sql |
filemaker | sql |
hanadb | sql |
h2 | sql |
hsqldb | sql |
informix | sql |
ingres | sql |
instantdb | sql |
interbase | sql |
mariadb | sql |
maxdb | sql |
mssql | sql |
mysql | sql |
netezza | sql |
oracle | sql |
other_sql | sql |
pervasive | sql |
pointbase | sql |
postgresql | sql |
progress | sql |
redshift | sql |
sqlite | sql |
sybase | sql |
teradata | sql |
vertica | sql |
| その他の DB タイプ | 以下を参照 |
cassandra | cassandra |
couchbase | db |
couchdb | db |
cosmosdb | db |
dynamodb | db |
elasticsearch | elasticsearch |
geode | db |
hive | db |
memcached | memcached |
mongodb | mongodb |
opensearch | opensearch |
redis | redis |
上記に記載されていない 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 セマンティック規約の両方がメトリクスタグに追加されます。
参考資料