Resolução de Problemas
Guia de diagnóstico para os problemas mais comuns da plataforma ION Guard.
Diagnóstico geral
Verificar status dos containers
cd /home/iongrade/ionguard
./scripts/comp.sh ps
Todos os containers devem estar com status Up. Se algum estiver Exited ou em restart loop, verifique os logs.
Health check completo
./scripts/healthcheck.sh
Verifica: endpoint HTTP /up, status do Horizon e saúde dos containers.
Logs de um serviço específico
./scripts/comp.sh logs -f ionguard_php --tail 100
./scripts/comp.sh logs -f ionguard_horizon --tail 100
./scripts/comp.sh logs -f ionguard_mosquitto --tail 100
Problemas comuns
A aplicação não abre no navegador
Sintomas: Página em branco, erro de conexão, timeout.
-
Verificar se o nginx está rodando:
./scripts/comp.sh ps ionguard_nginx -
Verificar certificado SSL:
./scripts/comp.sh logs ionguard_nginx --tail 20 -
Verificar se o PHP-FPM está respondendo:
./scripts/comp.sh exec -T ionguard_php php artisan --version -
Verificar firewall:
sudo ufw status# Portas 80, 443 devem estar ALLOW
Alertas não aparecem em tempo real
Sintomas: Alertas só aparecem ao recarregar a página.
-
Verificar se o Reverb (WebSocket) está rodando:
./scripts/comp.sh ps ionguard_reverb -
Verificar logs do Reverb:
./scripts/comp.sh logs ionguard_reverb --tail 50 -
No navegador, abrir o console (F12) e verificar erros de WebSocket.
Beacons não aparecem como "Online"
Sintomas: Beacons cadastrados mas sempre com status "Pendente" ou "Offline".
-
Verificar se o Mosquitto está rodando:
./scripts/comp.sh ps ionguard_mosquitto -
Verificar se há mensagens MQTT chegando:
./scripts/comp.sh exec -T ionguard_mosquitto \mosquitto_sub -h localhost -u listener -P "$(grep MQTT_PASSWORD .env | cut -d= -f2)" \-t "ionguard/#" -v --retained-only -
Verificar se as antenas estão conectadas ao broker correto (host, porta, credenciais).
-
Verificar logs do worker MQTT:
./scripts/comp.sh logs ionguard_mqtt_indoor_location --tail 50
Jobs na fila não estão sendo processados
Sintomas: Relatórios ficam em "Pendente", alertas não são escalados.
-
Verificar se o Horizon está rodando:
./scripts/comp.sh ps ionguard_horizon -
Verificar fila no Redis:
./scripts/comp.sh exec -T ionguard_valkey redis-cli llen queues:default -
Restart do Horizon:
./scripts/comp.sh restart ionguard_horizon
Erro "500 Server Error" na interface
-
Verificar logs do PHP:
./scripts/comp.sh logs ionguard_php --tail 100# ou./scripts/comp.sh exec -T ionguard_php tail -50 storage/logs/laravel.log -
Limpar cache:
./scripts/clearCache.sh -
Verificar permissões:
./scripts/setPermissions.sh
Banco de dados inacessível
-
Verificar se o MariaDB está rodando:
./scripts/comp.sh ps ionguard_mariadb -
Testar conexão:
./scripts/comp.sh exec -T ionguard_mariadb \mariadb -u ionguard -p"$(grep DB_PASSWORD .env | cut -d= -f2)" \-e "SELECT 1" -
Verificar espaço em disco:
df -h
Frontend desatualizado após upgrade
Sintomas: Interface mostra versão antiga ou layout quebrado.
# Forçar rebuild do frontend
rm -rf app/public/build
./scripts/up.sh
Comandos úteis
| Comando | Ação |
|---|---|
./scripts/comp.sh ps | Status de todos os containers |
./scripts/comp.sh logs -f {container} | Logs em tempo real |
./scripts/healthcheck.sh | Health check completo |
./scripts/clearCache.sh | Limpar e reotimizar cache |
./scripts/setPermissions.sh | Corrigir permissões de arquivo |
./scripts/restartAllServices.sh | Reiniciar todos os serviços |
./scripts/getVersion.sh | Exibir versão atual |
Suporte
Se o problema persistir após seguir os passos acima, colete as seguintes informações para suporte:
- Saída do
./scripts/healthcheck.sh - Saída do
./scripts/comp.sh ps - Últimas 100 linhas de
storage/logs/laravel.log - Versão atual (
./scripts/getVersion.sh) - Descrição detalhada do problema e passos para reproduzir