Skip to content

MatheusGrego/solar-delay-sim

Repository files navigation

Solar Delay Simulator com Cache de 3 Níveis - Guia de Instalação e Uso

📋 Índice

  1. Pré-requisitos
  2. Configuração
  3. Executando o Projeto
  4. Monitoramento
  5. Documentação da API
  6. Cache

🛠 Pré-requisitos

  • Docker
  • Docker Compose
  • Java 23
  • Maven

⚙️ Configuração

1. Clone o repositório

git clone https://github.com/MatheusGrego/solar-delay-sim.git
cd solar-delay-simulator

2. Build do projeto

./mvnw clean package -DskipTests

🚀 Executando o Projeto

Usando Docker Compose

docker-compose up -d

Este comando iniciará:

  • Aplicação Spring Boot
  • Redis (Cache)
  • Prometheus
  • Grafana

Portas padrão

  • Aplicação: http://localhost:8080
  • Prometheus: http://localhost:9090
  • Grafana: http://localhost:3000
  • Redis: localhost:6379

📊 Monitoramento

Prometheus

  1. Acesse: http://localhost:9090
  2. Métricas disponíveis:
    • http_server_requests_seconds (latência)
    • cache_hits_total
    • cache_misses_total
    • system_cpu_usage

Grafana

  1. Acesse: http://localhost:3000
  2. Credenciais padrão:
    • Usuário: admin
    • Senha: admin

Configurando Grafana

  1. Adicione Prometheus como fonte de dados:
    • URL: http://prometheus:9090
    • Access: Browser

Dashboards Recomendados

  • JVM (Micrometer)
  • Spring Boot Statistics
  • Redis Dashboard

📚 Documentação da API

Swagger UI

  • Acesse: http://localhost:8080/swagger-ui.html

OpenAPI Docs

  • JSON: http://localhost:8080/api-docs
  • YAML: http://localhost:8080/api-docs.yaml

💾 Cache

O sistema utiliza cache em três níveis:

  1. Caffeine (L1 - Memória)

    • Tempo de expiração: 10 minutos
    • Tamanho máximo: 100 entradas
  2. Redis (L2 - Distribuído)

    • TTL: 1 hora

🔍 Endpoints de Monitoramento

Actuator

  • Principal: http://localhost:8080/actuator
  • Métricas: http://localhost:8080/actuator/metrics
  • Saúde: http://localhost:8080/actuator/health
  • Prometheus: http://localhost:8080/actuator/prometheus

⚡ Comandos Úteis

Docker

# Verificar logs
docker-compose logs -f

# Reiniciar serviços
docker-compose restart

# Parar todos os serviços
docker-compose down

Cache

# Limpar Redis
docker-compose exec redis redis-cli FLUSHALL

# Verificar status do Redis
docker-compose exec redis redis-cli info stats

🔧 Troubleshooting

Problemas Comuns

  1. Conexão Redis falhou
docker-compose restart redis
  1. Métricas não aparecem no Prometheus
  • Verifique se o endpoint /actuator/prometheus está acessível
  • Confirme as configurações no prometheus.yml
  1. Grafana não conecta ao Prometheus
  • Verifique se ambos estão na mesma rede Docker
  • Confirme as configurações da fonte de dados

🔒 Segurança

Por padrão, todos os endpoints do Actuator estão expostos. Em produção, considere:

  • Restringir endpoints sensíveis
  • Adicionar autenticação
  • Configurar CORS apropriadamente

📝 Notas

  • Mantenha as versões do Docker e Docker Compose atualizadas
  • Monitore o uso de memória do Redis
  • Ajuste os tempos de cache conforme necessidade
  • Faça backup regular das configurações do Grafana

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published