Skip to content

Thales-Eduardo/Observability

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistema de Monitoramento Distribuído com OpenTelemetry

Este projeto implementa um sistema distribuído com 3 APIs que demonstra a utilização de observabilidade moderna usando OpenTelemetry para coleta de métricas, logs e traces.

Arquitetura

O sistema consiste em:

APIs

  • 3 aplicações NodeJS/Fastify que se comunicam entre si

Stack de Observabilidade

  • Jaeger - Visualização de traces distribuídos
  • Prometheus - Coleta e armazenamento de métricas
  • Grafana - Visualização de métricas, traces e logs
  • Loki - Agregação de logs
  • OpenTelemetry Collector - Coleta e exportação de telemetria

Como Executar

  1. Clone o repositório
git clone <seu-repositorio>
cd <pasta-do-projeto>
  1. Inicie os containers
docker-compose up -d
  1. Instale as dependências de cada API
cd api1 && npm install
cd ../api2 && npm install
cd ../api3 && npm install

Portas e Acessos

Serviço Porta URL
API 1 8080 http://localhost:8080
API 2 8082 http://localhost:8082
API 3 8083 http://localhost:8083
Grafana 3000 http://localhost:3000
Jaeger 8081 http://localhost:8081
Prometheus 9090 http://localhost:9090

Endpoints Disponíveis

API 1

  • POST /trace - Inicia trace distribuído
  • POST /error - Simula erro em cascata

API 2

  • POST / - Recebe dados da API 1
  • POST /error - Propaga erro

API 3

  • POST / - Endpoint final
  • POST /error - Retorna erro simulado

Stack Tecnológica

  • Node.js
  • Fastify
  • OpenTelemetry
  • Docker/Docker Compose
  • Prometheus
  • Grafana
  • Jaeger
  • Loki

About

Demonstrando um exemplo de observabilidade (Traces, Logs e Métricas) usando OpenTelemetry, Grafana, Loki, Jaeger e Prometheus.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors