Pular para conteúdo

Troubleshooting

Soluções para problemas comuns no sistema VIG-IA.

Dashboard não inicia

# Ver logs detalhados
docker compose logs --tail=50 dnci-dashboard

# Verificar se a porta está em uso
ss -tlnp | grep 5000

Solução: Se a porta estiver em uso, altere DASHBOARD_PORT no .env e reinicie.

Container "unhealthy"

# Verificar saúde
docker compose ps

# Testar health check manualmente
curl -v http://localhost:5000/api/health

# Ver logs de health check
docker inspect --format='{{json .State.Health}}' dnci-dashboard | python -m json.tool

Causa comum: O health check tem timeout de 30s. Se o Uvicorn (single-worker) estiver ocupado com uma query longa, o check pode falhar temporariamente.

Erro de conexão com banco

# Testar conectividade do container
docker compose exec dnci-dashboard python -c "
from backend.database import get_connection
conn = get_connection()
print('DNCI OK')
conn.close()
"

# Verificar credenciais
docker compose exec dnci-dashboard env | grep DB

Soluções: - Verificar IPs dos bancos no .env - Confirmar que o firewall permite acesso às portas 5432 - Verificar que o usuário tem permissão de acesso

Watchdog parado

# Ver logs do watchdog
docker compose logs --tail=100 dnci-monitor-watchdog

# Reiniciar apenas o watchdog
docker compose restart dnci-monitor

Logs crescendo muito

Os logs são configurados com rotação automática (10MB, 3 arquivos). Se mesmo assim estiverem grandes:

# Ver uso de disco do Docker
docker system df

# Limpar logs antigos
docker system prune --volumes

# Limpar apenas os logs de um container
truncate -s 0 $(docker inspect --format='{{.LogPath}}' dnci-dashboard)

Erro de permissão nos volumes

# Verificar propriedade
ls -la logs/ data/

# Ajustar permissões
sudo chown -R 1000:1000 logs/ data/

Dashboard lento

Possíveis causas:

  1. Muitas queries simultâneas — O dashboard usa Uvicorn single-worker; queries longas bloqueiam outros requests
  2. Banco sobrecarregado — Verificar com docker stats e pg_stat_activity
  3. Rede lenta para DTW — O banco DTW pode estar em um servidor remoto
# Verificar uso de recursos
docker stats

# Ver queries ativas no PostgreSQL
docker compose exec dnci-dashboard python -c "
from backend.database import execute_query
rows = execute_query('SELECT pid, state, query FROM pg_stat_activity WHERE datname = current_database()')
for r in rows: print(r)
"