|
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. |
Introdução ao Open Telemetry
Aqui está a configuração que estaremos criando, para um aplicativo que precisa ser monitorado:
-
O aplicativo / carga de trabalho monitorado rodando em um host Linux
-
O coletor Open Telemetry rodando no mesmo host Linux
-
SUSE Observability ou SUSE Cloud Observability
Instale o coletor Open Telemetry
|
Para uma configuração de produção, é fortemente recomendado instalar o coletor, pois ele permite que seu serviço descarregue dados rapidamente e o coletor pode cuidar de manuseios adicionais como tentativas, agrupamento, criptografia ou até mesmo filtragem de dados sensíveis. |
Primeiro, vamos instalar o coletor. Nós o configuramos para:
-
Receber dados de, potencialmente, muitos aplicativos instrumentados
-
Enriquecer os dados coletados com atributos do host
-
Gerar métricas para rastreamentos
-
Encaminhar os dados para o SUSE Observability, incluindo autenticação usando a chave da API
Além disso, ele também tentará reenviar dados quando houver problemas de conexão.
Criar um Token de Serviço
Há duas maneiras de criar um token de serviço:
-
SUSE Observability UI - abra o menu principal clicando no canto superior esquerdo da tela e vá para
StackPacks>Open Telemetry. Se você ainda não fez isso, clique no botãoINSTALL. Clique no botãoCREATE NEW SERVICE TOKENe copie o valor para a sua área de transferência. -
SUSE Observability CLI - veja Gerenciar tokens de serviço
O valor do token de serviço deve ser usado onde as instruções abaixo mencionam <SERVICE_TOKEN>.
Instale e configure o coletor
O coletor fornece pacotes (apk, deb e rpm) para a maioria das versões e arquiteturas do Linux e utiliza systemd para configuração automática do serviço. Para instalá-lo, encontre a última versão no Github e atualize a URL no exemplo para usar a versão mais recente:
-
DEB AMD64
-
DEB ARM64
-
RPM AMD64
-
RPM ARM64
wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.123.1/otelcol-contrib_0.123.1_linux_amd64.deb
sudo dpkg -i otelcol-contrib_0.123.1_linux_amd64.deb
wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.123.1/otelcol-contrib_0.123.1_linux_arm64.deb
sudo dpkg -i otelcol-contrib_0.123.1_linux_arm64.deb
wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.123.1/otelcol-contrib_0.123.1_linux_amd64.rpm
sudo rpm -iv1 otelcol-contrib_0.123.1_linux_amd64.rpm
wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.123.1/otelcol-contrib_0.123.1_linux_arm64.rpm
sudo rpm -iv1 otelcol-contrib_0.123.1_linux_arm64.rpm
Para outras opções de instalação, use as instruções do Open Telemetry.
Após a instalação, modifique a configuração do coletor editando /etc/otelcol-contrib/config.yaml. Altere o arquivo para que ele fique parecido com o exemplo config.yaml aqui, substitua <otlp-suse-observability-endpoint:port> pelo seu endpoint OTLP (veja OTLP API para seu endpoint) e insira seu token de serviço para <SERVICE_TOKEN>:
receivers:
otlp:
protocols:
# Only bind to localhost to keep the collector secure, see https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/security-best-practices.md#safeguards-against-denial-of-service-attacks
grpc:
endpoint: 127.0.0.1:4317
http:
endpoint: 127.0.0.1:4318
# Collect own metrics
prometheus:
config:
scrape_configs:
- job_name: 'otel-collector'
scrape_interval: 10s
static_configs:
- targets: ['0.0.0.0:8888']
extensions:
health_check: {}
pprof:
endpoint: 0.0.0.0:1777
zpages:
endpoint: 0.0.0.0:55679
# Use the API key from the env for authentication
bearertokenauth:
scheme: SUSEObservability
token: "<SERVICE_TOKEN>"
exporters:
nop: {}
debug: {}
otlp/suse-observability:
compression: snappy
auth:
authenticator: bearertokenauth
# Put in your own otlp endpoint, for example otlp-suse-observability.my.company.com:443
endpoint: <otlp-suse-observability-endpoint:port>
processors:
memory_limiter:
check_interval: 5s
limit_percentage: 80
spike_limit_percentage: 25
batch: {}
# Optionally include resource information from the system running the collector
resourcedetection/system:
detectors: [env, system] # Replace system with gcp, ec2, azure when running in cloud environments
system:
hostname_sources: ["os"]
connectors:
# Generate metrics for spans
spanmetrics:
metrics_expiration: 5m
namespace: otel_span
service:
extensions: [ bearertokenauth, health_check, pprof, zpages ]
pipelines:
traces:
receivers: [otlp]
processors: [memory_limiter, resourcedetection/system, batch]
exporters: [debug, spanmetrics, otlp/suse-observability]
metrics:
receivers: [otlp, spanmetrics, prometheus]
processors: [memory_limiter, batch, resourcedetection/system]
exporters: [debug, otlp/suse-observability]
logs:
receivers: [otlp]
processors: []
exporters: [nop]
Por fim, reinicie o coletor:
sudo systemctl restart otelcol-contrib
Para ver os logs do coletor, use:
sudo journalctl -u otelcol-contrib
Colete dados de telemetria do seu aplicativo
A maneira comum de coletar dados de telemetria é instrumentar seu aplicativo usando os SDKs do Open Telemetry. Documentamos alguns guias de início rápido para alguns idiomas, mas há muitos mais:
Nenhuma configuração adicional é necessária para os SDKs, eles exportam para localhost via OTLP ou OTLP sobre HTTP (dependendo dos protocolos suportados) por padrão.
Para outros idiomas, siga a documentação em opentelemetry.io.
Veja os resultados
Vá para o SUSE Observability e certifique-se de que o Stackpack Open Telemetry está instalado (via o menu principal -> Stackpacks).
Após um curto período e se seu aplicativo estiver processando algum tráfego, você deve conseguir encontrá-lo sob seu nome de serviço nas visões de Open Telemetry -> serviços e instâncias de serviço. Os rastreamentos aparecerão no explorador de rastreamentos e na perspectiva de rastreamentos para os componentes de serviço e instância de serviço. Métricas de span e métricas específicas de linguagem (se disponíveis) estarão disponíveis na perspectiva de métricas para os componentes.
Próximas etapas
Você pode adicionar novos gráficos aos componentes, por exemplo, o serviço ou a instância de serviço, para seu aplicativo, seguindo nosso guia. Também é possível criar novos monitores usando as métricas e configurar notificações para ser notificado quando seu aplicativo não estiver disponível ou tiver problemas de desempenho.