Este documento ilustra como enviar métricas diretamente de aplicativos para o endpoint OTLP usando um SDK e o exportador gRPC, que é o recomendado para uso com SDKs.
O endpoint OTLP oferece suporte a todos os protocolos OTLP, incluindo http/proto, http/json e grpc. Para mais informações, consulte
Suporte a protocolo.
Ao enviar 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 do exportador gRPC OTLP para usar as credenciais padrão do aplicativo do Google Application Default Credentials, conforme descrito em Receber credenciais de autenticação credentials.
- Detecte recursos do Kubernetes no aplicativo. Google Cloud A maneira de fazer isso depende do aplicativo que você está executando.
Antes de começar
Para executar os exemplos, ative as APIs necessárias e adquira credenciais de autenticação.
Ativar APIs
Ative a API Cloud Monitoring e a API Telemetry no seu Google Cloud projeto executando o seguinte comando:
gcloud services enable monitoring.googleapis.com telemetry.googleapis.com
Receber credenciais de autenticação
Configure as credenciais do exportador gRPC OTLP para usar as credenciais padrão do aplicativo do Google Application Default Credentials executando o seguinte comando:
gcloud auth application-default login
Exemplos específicos da linguagem
Esta seção oferece uma seleção de exemplos específicos da linguagem que criam e gravam uma métrica de contador. Selecione uma guia para informações sobre como executar o exemplo e visualizar o código.
Go
Para informações sobre como configurar e executar esse exemplo, consulte o
README arquivo do
exemplo do Go.
Java
Para informações sobre como configurar e executar esse exemplo, consulte o
README arquivo para o
exemplo do Java.
NodeJS
Para informações sobre como configurar e executar esse exemplo, consulte o
README arquivo do
exemplo do NodeJS.
Python
Para informações sobre como executar esse exemplo, consulte o arquivo README para o
README arquivo para o
exemplo do 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 de código zero do OpenTelemetry, consulte Usar a instrumentação de código zero 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).