Este documento ilustra como enviar métricas diretamente de aplicativos
para o endpoint OTLP usando um SDK e o exportador gRPC, que é
o exportador recomendado para uso com SDKs.
O endpoint OTLP é compatível com todos os protocolos OTLP, incluindo
http/proto, http/json e grpc. Para mais informações, consulte
Suporte a protocolo.
Quando você envia métricas de aplicativos diretamente para o endpoint OTLP, o Coletor do OpenTelemetry não processa a autenticação e o enriquecimento para você. Ao usar SDKs para enviar métricas de aplicativos, faça o seguinte:
- Configure as credenciais para o exportador gRPC do OTLP para usar o Application Default Credentials do Google, conforme descrito em Receber credenciais de autenticação.
- Detecte Google Cloud e recursos do Kubernetes no aplicativo. A maneira de fazer isso depende do aplicativo que você está executando.
Antes de começar
Para executar os exemplos, é necessário ativar as APIs necessárias e adquirir credenciais de autenticação.
Ativar APIs
Ative a API Cloud Monitoring e a API Telemetry no seu projetoGoogle Cloud executando o seguinte comando:
gcloud services enable monitoring.googleapis.com telemetry.googleapis.com
Receber credenciais de autenticação
Configure as credenciais para o exportador gRPC OTLP usar as Credenciais padrão do aplicativo do Google executando o seguinte comando:
gcloud auth application-default login
Exemplos específicos de linguagem
Esta seção oferece uma seleção de exemplos específicos de linguagem que criam e gravam uma métrica de contador. Selecione uma guia para informações sobre como executar a amostra e ver o código.
Go
Para informações sobre como configurar e executar este exemplo, consulte o arquivo
README da
amostra em Go.
Java
Para informações sobre como configurar e executar este exemplo, consulte o arquivo
README da
amostra em Java.
NodeJS
Para informações sobre como configurar e executar este exemplo, consulte o arquivo
README para a
amostra do NodeJS.
Python
Para informações sobre como executar este exemplo, consulte o arquivo README para o
arquivo README para o
exemplo em Python.
Usar a API downward para aplicativos executados como pods
Se você estiver executando o aplicativo como um pod no Kubernetes e não estiver enviando pelo coletor do OpenTelemetry, use a API downward para definir atributos de recursos do Kubernetes:
env:
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: NAMESPACE_NAME
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: CONTAINER_NAME
value: my-container-name
- name: OTEL_RESOURCE_ATTRIBUTES
value: k8s.pod.name=$(POD_NAME),k8s.namespace.name=$(NAMESPACE_NAME),k8s.container.name=$(CONTAINER_NAME)
A seguir
- Para informações sobre como usar um coletor do OpenTelemetry e a API Telemetry com a instrumentação sem código do OpenTelemetry, consulte Usar a instrumentação sem código do OpenTelemetry para Java.
- Para informações sobre como migrar para o exportador
otlphttpde outro exportador, consulte Migrar para o exportador OTLP. - Para saber mais sobre a API Telemetry, consulte Visão geral da API Telemetry (OTLP).