🚀 Observability Stack com OpenTelemetry, Prometheus, Elasticsearch & Grafana (usando Docker)

🚀 Observability Stack com OpenTelemetry, Prometheus, Elasticsearch e Grafana (usando Docker)

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

Perl
my -otel-grafana-setup/ ├── docker-compose.yml # Launches the full stack ├── otel-collector-config.yaml # Configuração do coletor OpenTelemetry ├── prometheus.yml # Configuração de scrape do Prometheus │ ├── modelos_elásticos/ │ └── otel_template.json # Modelo de índice para logs/rastros │ ├── grafana/ │ └── provisionamento/ │ ├── fontes de dados/ │ │ ├── fonte de dados.yml │ │ └── elasticsearch.yml │ └── painéis/ │ ├── painel.yaml │ └── json/ │ └── otel-dashboard.json │ ├── infra/ │ ├── imagem.png │ ├── main.bicep # Modelos de implantação do Azure Bicep │ └── parâmetros.json │ ├── operações manuais/ │ └── configure-elastic.md # Etapas manuais para Elasticsearch │ └── fastapi-app/ # Aplicativo de exemplo instrumentado opcional

🧪 Começando

1. Clone o Repositório

festança
git clone https://github.com/icpmtech/Open-Telemetry-Solutions.git cd Open-Telemetry-Solutions/my-otel-grafana-setup

2. Inicie a pilha

festança
docker-compose up -d

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: otelPainel: OpenTelemetry Logs


⚠️ Conflitos portuários?

Se você receber este erro:

nginx
Ports are not available: exposing port TCP 0.0.0.0:55679

Corrija-o de uma das seguintes maneiras:

  • Removendo a linha em docker-compose.yml :

    inhame
    - "55679:55679"
  • Ou alterá-lo para uma porta disponível:

    inhame
    - "55678:55679"

Em seguida, reinicie a pilha:

festança
Cópia
docker-compose down docker-compose up -d

🛠️ 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

Voltar para o blogue
  • ChatGPT Uncovered Podcast

    Podcast descoberto do ChatGPT

    Pedro Martins

    Podcast descoberto do ChatGPT Podcast descoberto do ChatGPT Explorando as fronteiras dos modelos de conversação de IA Episódio 1: Compreendendo o ChatGPT Publicado em: 15 de maio de 2023 Seu...

    Podcast descoberto do ChatGPT

    Pedro Martins

    Podcast descoberto do ChatGPT Podcast descoberto do ChatGPT Explorando as fronteiras dos modelos de conversação de IA Episódio 1: Compreendendo o ChatGPT Publicado em: 15 de maio de 2023 Seu...

  • Power Apps In-Depth Podcast

    Podcast detalhado do Power Apps

    Pedro Martins

    Podcast detalhado do Power Apps Podcast detalhado do Power Apps Explorando os recursos do Microsoft Power Apps Episódio 1: Introdução ao Power Apps Publicado em: 20 de abril de 2023...

    Podcast detalhado do Power Apps

    Pedro Martins

    Podcast detalhado do Power Apps Podcast detalhado do Power Apps Explorando os recursos do Microsoft Power Apps Episódio 1: Introdução ao Power Apps Publicado em: 20 de abril de 2023...

  • Exploring Power Pages Podcast

    Explorando o podcast Power Pages

    Pedro Martins

    Explorando o podcast Power Pages Explorando o podcast Power Pages Mergulhando no mundo das Power Pages da Microsoft Episódio 1: Primeiros passos com Power Pages Publicado em: 10 de março...

    Explorando o podcast Power Pages

    Pedro Martins

    Explorando o podcast Power Pages Explorando o podcast Power Pages Mergulhando no mundo das Power Pages da Microsoft Episódio 1: Primeiros passos com Power Pages Publicado em: 10 de março...

1 de 3