A observabilidade é essencial para entender a saúde e o desempenho de aplicações modernas. Com ferramentas como OpenTelemetry , Prometheus e Grafana , você pode coletar, armazenar e visualizar métricas com facilidade. Neste post, mostrarei como configurar uma pilha de observabilidade totalmente funcional usando o Docker.
Você aprenderá como:
-
Coletar dados de telemetria com o OpenTelemetry Collector
-
Exportar métricas no formato Prometheus
-
Visualize dados no Grafana, provisionados automaticamente com o Prometheus como fonte de dados
Vamos mergulhar. 🐳
🗂️ Estrutura do Projeto
Primeiro, crie um diretório com a seguinte estrutura:
Cada arquivo desempenha um papel na definição, configuração e conexão dos serviços.
1. 🚢 docker-compose.yml
Este arquivo define e executa nossos serviços: OpenTelemetry Collector, Prometheus e Grafana.
2. 🛠️ otel-collector-config.yaml
Esta configuração informa ao OpenTelemetry Collector para receber telemetria e exportar métricas no formato Prometheus.
-
Recebe métricas OTLP via gRPC e HTTP
-
Exporta-os para o Prometheus na porta
8888
3. 📊 prometheus.yml
O Prometheus está configurado para extrair as métricas do coletor.
-
Raspa a cada 15 segundos
-
Utiliza a rede interna do Docker Compose para alcançar
otel-collector:8888
4. 📈 grafana/provisioning/datasources/datasource.yml
Provisiona automaticamente o Prometheus como fonte de dados do Grafana na inicialização.
Não é necessária nenhuma configuração manual na interface do usuário: basta abrir o Grafana e começar a criar painéis.
🚀 Começando
1. Comece tudo
Navegue até a pasta do seu projeto e execute:
2. Acesse as Interfaces
-
Prometeu: http://localhost:9090
-
Grafana: http://localhost:3000
Login padrão:admin / admin
📡 Envio de métricas
Para ver dados reais no Grafana, envie telemetria para o Coletor OTLP via:
-
http://localhost:4318/v1/metrics
(HTTP) -
grpc://localhost:4317
(gRPC)
Você pode usar:
-
Seu próprio aplicativo instrumentado
-
Ferramentas como
otel-cli
-
Exportadores de amostra em SDKs OpenTelemetry
🖥️ Crie painéis no Grafana
Depois que os dados estiverem fluindo, vá para Painéis > Novo e comece a visualizar:
-
Taxa de solicitação
-
Contagens de erros
-
Métricas personalizadas
-
Qualquer coisa que seu aplicativo emita!
✅ Conclusão
Agora você tem um pipeline de observabilidade completo:
-
O OpenTelemetry Collector coleta dados
-
Prometeu raspa e armazena
-
O Grafana exibe belos painéis
Esta configuração é perfeita para testes locais, demonstrações ou como base para monitoramento de produção. Basta conectar seu aplicativo e começar a explorar sua telemetria!
💡 Dica profissional:
Amplie esta pilha com:
-
Registros e rastros
-
Alerta via Prometheus Alertmanager
-
Painéis do Grafana como código
Se você achou isso útil ou tiver dúvidas, sinta-se à vontade para entrar em contato ou deixar um comentário!