Convenciones semánticas de OpenTelemetry y convenciones de Datadog

OpenTelemetry hace uso de una serie de convenciones semánticas que especifican los nombres de los diferentes tipos de datos. Esta página enumera las asignaciones de las convenciones semánticas de OpenTelemetry con las convenciones semánticas de Datadog.

Etiquetado de servicios unificado

Convención de OpenTelemetryConvención de Datadog
deployment.environmentenv
service.nameservice
service.versionversion

Para más información, consulta etiquetado de servicios unificado.

Contenedores

Convención de OpenTelemetryConvención de Datadog
container.idcontainer_id
container.namecontainer_name
container.image.nameimage_name
container.image.tagimage_tag

Más información sobre las Convenciones semánticas de los contenedores en la documentación de OpenTelemetry.

También se asignan atributos adicionales específicos del proveedor de la nube.

Nube

Convención de OpenTelemetryConvención de Datadog
cloud.providercloud_provider
cloud.regionregion
cloud.availability_zonezone

ECS

Convención de OpenTelemetryConvención de Datadog
aws.ecs.task.familytask_family
aws.ecs.task.arntask_arn
aws.ecs.cluster.arnecs_cluster_name
aws.ecs.task.revisiontask_version
aws.ecs.container.arnecs_container_name

Kubernetes

Convención de OpenTelemetryConvención de Datadog
k8s.container.namekube_container_name
k8s.cluster.namekube_cluster_name
k8s.deployment.namekube_deployment
k8s.replicaset.namekube_replica_set
k8s.statefulset.namekube_stateful_set
k8s.daemonset.namekube_daemon_set
k8s.job.namekube_job
k8s.cronjob.namekube_cronjob
k8s.namespace.namekube_namespace
k8s.pod.namepod_name

Etiquetas de Kubernetes

Convención de KubernetesConvención de Datadog
app.kubernetes.io/namekube_app_name
app.kubernetes.io/instancekube_app_instance
app.kubernetes.io/versionkube_app_version
app.kuberenetes.io/componentkube_app_component
app.kubernetes.io/part-ofkube_app_part_of
app.kubernetes.io/managed-bykube_app_managed_by

HTTP

Convención de OpenTelemetryConvención de Datadog
client.addresshttp.client_ip
http.response.body.sizehttp.response.content_length
http.response.header.<header-name>http.response.headers.<header-name>
http.response.status_codehttp.status_code
http.request.body.sizehttp.request.content_length
http.request.header.referrerhttp.referrer
http.request.header.<header-name>http.request.headers.<header-name>
http.request.methodhttp.method
http.routehttp.route
network.protocol.versionhttp.version
server.addresshttp.server_name
url.fullhttp.url
user_agent.originalhttp.useragent

Asignación de atributos de métricas

Para las métricas, por defecto, Datadog solo asigna los atributos de recursos de OpenTelemetry enumerados en las secciones anteriores a etiquetas (tags) de métrica de Datadog. Para asignar todos los atributos de recursos a etiquetas, activa el ajuste metrics::resource_attributes_as_tags:

exporters:
  datadog:
    # Aquí va otra configuración...
    metrics:
      # Añade todos los atributos de recurso como etiquetas para métricas
      resource_attributes_as_tags: true
otlp_config:
  # Aquí va otra configuración...
  metrics:
    # Añade todos los atributos de recurso como etiquetas para métricas
    resource_attributes_as_tags: true

Al activar esta opción, se añaden tanto los atributos de recursos de OpenTelemetry como las convenciones semánticas de Datadog a las etiquetas de métrica.

Referencias adicionales