Aller au contenu

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

curl -s https://api.resend.com/emails -H "Authorization: Bearer $RESEND_TOKEN" | head -1

DNS

nslookup api.epitools.bj
nslookup alert.epitools.bj

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 !)

Vérifier les pipelines

# Derniers runs
gh run list --repo EpitechAfrik/alert-parent-backend

# Logs d'un run spécifique
gh run view RUN_ID --repo EpitechAfrik/alert-parent-backend --log

# Filtrer les erreurs
gh run view RUN_ID --repo EpitechAfrik/alert-parent-backend --log-failed