Aplicações modernas precisam de observabilidade moderna. Neste guia, você aprenderá a configurar uma pilha de observabilidade completa usando o Docker Compose, incluindo:
-
🛰️ Coletor OpenTelemetry
-
📈 Prometeu
-
🔍 Elasticsearch + Kibana
-
📊 Grafana
🔗 Código-fonte:
O projeto completo está disponível no GitHub:
github.com/icpmtech/Open-Telemetry-Solutions
Perfeito para desenvolvedores, SREs e equipes de DevOps que desejam logs, métricas e rastreamentos em um só lugar .
🧰 O que está incluído?
Esta pilha combina diversas ferramentas populares de código aberto em um único pipeline baseado no Docker:
Componente | Propósito |
---|---|
Coletor OpenTelemetry | Recebe e exporta dados de telemetria |
Prometeu | Coleta e armazena métricas de aplicativos |
Elasticsearch | Armazena logs e rastros estruturados |
Kibana | UI para explorar e consultar o Elasticsearch |
Grafana | Visualiza métricas e registros em painéis |
📁 Estrutura do Projeto
🧪 Começando
1. Clone o Repositório
2. Inicie a pilha
Isso inicia todos os serviços principais.
3. Acesse as interfaces
Interface | URL | Conecte-se |
---|---|---|
Grafana | http://localhost:3000 | admin / admin
|
Kibana | http://localhost:5601 | – |
Prometeu | http://localhost:9090 | – |
📥 Enviando dados de telemetria
Você pode enviar dados de telemetria usando:
-
Qualquer aplicativo instrumentado com SDKs OpenTelemetry
-
A ferramenta
otel-cli
Pontos de extremidade OTLP
-
Métricas (HTTP):
http://localhost:4318/v1/metrics
-
Métricas (gRPC):
grpc://localhost:4317
-
Logs: Use o exportador OTLP com campos como
@timestamp
,trace_id
,message
📊 Painel Grafana pré-carregado
O Grafana vem pré-carregado com um painel que inclui:
-
🔍 Log Stream – Registros ao vivo dos índices
otel-*
-
📈 Painel de Séries Temporais – Visualiza o volume do log ao longo do tempo
📂 Você o encontrará em: Pasta: otel
→ Painel: OpenTelemetry Logs
⚠️ Conflitos portuários?
Se você receber este erro:
Corrija-o de uma das seguintes maneiras:
-
Removendo a linha em
docker-compose.yml
: -
Ou alterá-lo para uma porta disponível:
Em seguida, reinicie a pilha:
🛠️ Estenda a pilha
Ideias para aumentar sua configuração de observabilidade:
-
➕ Adicionar Jaeger para visualização de rastreamento
-
🔄 Use Loki em vez de Elasticsearch para logs
-
☁️ Implante na nuvem usando os modelos Bicep incluídos
🙌 Feedback e contribuições
Este projeto é de código aberto — sinta-se à vontade para abrir problemas ou solicitações com sugestões, bugs ou melhorias!
📄 Licença
MIT