Recursos
Introdução
Um recurso representa a entidade que está gerando telemetria como atributos do recurso. Por exemplo, um processo que está gerando telemetria e que está sendo executado em um container no Kubernetes tem o nome de um processo, um nome de pod, um namespace e possivelmente um nome de deployment. Todos esses quatro atributos podem ser incluídos em um recurso.
No seu backend de observabilidade, você pode usar as informações de um recurso para refinar a investigação de comportamentos relevantes. Por exemplo, se seus dados de rastros ou métricas indicarem latência no seu sistema, você pode restringir a investigação para um determinado container, pod ou deployment do Kubernetes.
Se você usar Jaeger como seu backend de observabilidade, os atributos do recurso são agrupados na guia Process:
Um recurso é adicionado ao TraceProvider
ou MetricProvider
quando eles são
criados durante a inicialização. Esta associação não pode ser alterada
posteriormente. Após um recurso ser adicionado, todos os trechos e métricas
produzidos a partir de um Tracer
ou Meter
do provider terão o recurso
associado a eles.
Atributos semânticos com valores padrões fornecidos pelo SDK
Existem atributos fornecidos pelo SDK do OpenTelemetry. Um deles é o
service.name
, que representa o nome lógico do serviço. Por padrão, os SDKs
atribuirão o valor unknown_service
para este valor, então é recomendado
defini-lo explicitamente, seja no código ou definindo um valor para a variável
de ambiente OTEL_SERVICE_NAME
.
Além disso, o SDK também fornecerá os seguintes atributos do recurso para se
autoidentificar: telemetry.sdk.name
, telemetry.sdk.language
e
telemetry.sdk.version
.
Detectores de recursos
A maioria dos SDKs específicos de linguagem fornece um conjunto de detectores de recursos que podem ser usados para detectar automaticamente informações de recursos do ambiente. Os detectores de recursos mais comuns incluem:
- Sistema Operacional
- Host
- Processos e tempo de execução de processos
- Container
- Kubernetes
- Atributos específicos do provedor de nuvem
- e mais
Recursos personalizados
Você também pode fornecer seus próprios atributos do recurso. Você pode
fornecê-los em código ou definindo um valor para a variável de ambiente
OTEL_RESOURCE_ATTRIBUTES
. Se aplicável, utilize
convenções semânticas para seus atributos do recurso.
Por exemplo, você pode fornecer o nome do seu
ambiente de execução
usando deployment.environment
:
env OTEL_RESOURCE_ATTRIBUTES=deployment.environment=production yourApp
Feedback
Was this page helpful?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!