Alert-Parent — Diagnostics¶
Commandes de diagnostic rapide¶
# État du conteneur backend
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" | grep backend
# Health check
curl -s http://127.0.0.1:5011/health | python3 -m json.tool
# Vérifier uniquement le status code
curl -o /dev/null -s -w "%{http_code}" http://127.0.0.1:5011/health
# 200 = OK, 503 = dégradé
# Utilisation des ressources
docker stats --no-stream | grep backend
Vérifier la connectivité¶
MongoDB Atlas¶
curl -s http://127.0.0.1:5011/health | python3 -c "import sys,json; d=json.load(sys.stdin); print('MongoDB:', d['dependencies']['mongodb'])"
Resend API¶
DNS¶
Investiguer les logs¶
Via Docker¶
cd /root/projects/alert-parent/alert-parent-backend
# Dernières erreurs
docker compose logs backend 2>&1 | grep -i error | tail -20
# Logs en temps réel
docker compose logs backend -f
# Dernières 50 lignes
docker compose logs backend --tail 50
Via Grafana (Loki)¶
Aller sur grafana.epitools.bj > Explore > Loki
# Toutes les erreurs du backend
{compose_service="backend"} |= "ERROR"
# Erreurs mail
{compose_service="backend"} |= "Mail loop error"
# Compter les erreurs par heure
count_over_time({compose_service="backend"} |= "ERROR" [1h])
Vérifier les emails en queue¶
Se connecter à MongoDB Atlas via mongosh ou MongoDB Compass :
// Compter les mails non envoyés
db.mailsendeds.countDocuments({isSent: "no"})
// Voir les derniers mails en erreur
db.mailsendeds.find({isSent: "no"}).sort({createdAt: -1}).limit(5)
Vérifier le .env sur le VPS¶
ssh root@IP_DU_VPS
cat /root/projects/alert-parent/alert-parent-backend/.env | wc -l
# Doit afficher le nombre de lignes attendu (pas 0 !)