|
Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official. |
Configuração do exportador
Todos os SDKs, independentemente da linguagem, utilizam a mesma configuração básica para definir o nome do serviço e o endpoint do exportador (ou seja, onde a telemetria é enviada).
Esses podem ser configurados definindo variáveis de ambiente para seu aplicativo instrumentado.
No Kubernetes, defina essas variáveis de ambiente no manifesto para sua carga de trabalho (substitua <the-service-name> por um nome para o serviço do seu aplicativo):
...
spec:
containers:
- env:
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://opentelemetry-collector.open-telemetry.svc.cluster.local:4317
- name: OTEL_SERVICE_NAME
value: <the-service-name>
- name: OTEL_EXPORTER_OTLP_PROTOCOL
value: grpc
...
O endpoint especificado no exemplo assume que o coletor foi instalado usando as configurações padrão do guia de instalação. Ele utiliza a porta 4317, que usa a versão gRPC do protocolo OTLP. Algumas instrumentações suportam apenas HTTP; nesse caso, utilize a porta 4318.
O nome do serviço também pode ser derivado de rótulos do Kubernetes que já podem estar presentes. Por exemplo, assim:
spec:
containers:
- env:
- name: OTEL_SERVICE_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.labels['app.kubernetes.io/component']
gRPC vs HTTP
OTLP, o Protocolo Open Telemetry, suporta gRPC e protobuf sobre HTTP. Alguns SDKs também suportam JSON sobre HTTP. Na seção anterior, o protocolo do exportador está definido como gRPC, isso geralmente oferece o melhor desempenho e é o padrão para muitos SDKs. No entanto, em alguns casos, isso pode ser problemático:
-
Alguns gateways de segurança não estão configurados para lidar com gRPC.
-
(proxies reversos) e balanceadores de carga podem não suportar gRPC sem configuração adicional
-
As conexões de longa duração do gRPC podem causar problemas ao balancear carga.
Para mudar para HTTP em vez de gRPC, altere o protocolo para http e utilize a porta 4318.
Para resumir, utilize HTTP caso o gRPC apresente problemas:
-
O protocolo
grpcutiliza a porta4317 -
O protocolo
httputiliza a porta4318