Recursos
Introducción
Un recurso representa la entidad que produce telemetría como atributos de recurso. Por ejemplo, un proceso que produce telemetría y que se está ejecutando en un contenedor en Kubernetes tiene un nombre de un proceso, un nombre de pod, un namespace y, posiblemente, un nombre de despliegue. Los cuatro atributos pueden incluirse en el recurso.
En tu backend de observabilidad, puedes usar la información del recurso para investigar mejor un comportamiento interesante. Por ejemplo, si tus datos de trazas o métricas indican latencia en tu sistema, puedes reducirla a un contenedor, pod o despliegue de Kubernetes específico.
Si utilizas Jaeger como tu backend de observabilidad, los atributos de recurso se agrupan en la pestaña Process:

Un recurso se añade al TracerProvider
o MetricProvider
cuando son creados
durante la inicialización. Esta asociación no se puede cambiar posteriormente.
Una vez que se añade un recurso, todos los spans y métricas producidos por un
Tracer
o Meter
del proveedor tendrán el recurso asociado a ellos.
Atributos semánticos con valor predeterminado proporcionado por el SDK
Existen atributos proporcionados por el SDK de OpenTelemetry. Uno de ellos es
service.name
, que representa el nombre lógico del servicio. De forma
predeterminada, los SDK asignarán el valor unknown_service
para este atributo,
por lo que se recomienda establecerlo explícitamente, ya sea en el código o
configurando la variable de entorno OTEL_SERVICE_NAME
.
Además, el SDK también proporciona los siguientes atributos de recurso para
identificarse: telemetry.sdk.name
, telemetry.sdk.language
y
telemetry.sdk.version
.
Detectores de recursos
La mayoría de los SDK específicos de cada lenguaje proporcionan un conjunto de detectores de recursos que pueden usarse para detectar automáticamente información de recursos desde el entorno. Algunos detectores de recursos comunes incluyen:
- Sistema Operativo
- Host
- Proceso y tiempo de ejecución del proceso
- Contenedor
- Kubernetes
- Atributos específicos del proveedor de la nube
- y más
Recursos personalizados
También puedes proporcionar tus propios atributos de recurso. Puedes hacerlo en
el código o configurando la variable de entorno OTEL_RESOURCE_ATTRIBUTES
. Si
corresponde, utiliza las
convenciones semánticas para tus atributos de recurso.
Por ejemplo, puedes proporcionar el nombre de tu
entorno de despliegue
utilizando deployment.environment.name
:
env OTEL_RESOURCE_ATTRIBUTES=deployment.environment.name=production yourApp
Comentarios
¿Fue útil esta página?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!