Aller au contenu principal

Monitoring

Contrôles de santé​

ContrôleCommande ou adresseAttendu
APIhttps://bemba.ucp-pch.org/api/health200
Applicationhttps://bemba.ucp-pch.org/200
Documentationhttps://docubemba.ucp-pch.org/200
Conteneursdocker ps --format '{{.Names}}\t{{.Status}}'tous Up, healthy quand un contrôle existe
File d'e-mailsdocker exec pch_backend php bin/console messenger:failed:showvide
Espace disquedf -h /moins de 80 %
Mémoirefree -m« available » confortable

Depuis le conteneur (sans passer par Traefik) :

docker exec pch_backend curl -s http://127.0.0.1:8000/api/health

Métriques​

La production embarque des exporteurs Prometheus, liés à 127.0.0.1 (non exposés sur Internet) :

ExporteurPortMesure
cAdvisor8080processeur, mémoire, réseau par conteneur
node-exporter9100système (disque, charge, mémoire)
postgres-exporter9187base pch_sig (connexions, taille, verrous)
redis-exporter9121cache

Prometheus et Grafana ne tournent pas sur les serveurs : ils s'exécutent sur le poste d'administration (dossier monitoring/ du dépôt, Grafana sur le port 3001). Pour qu'ils atteignent les exporteurs, ouvrir des tunnels SSH :

ssh -N -L 8080:127.0.0.1:8080 -L 9100:127.0.0.1:9100 -L 9187:127.0.0.1:9187 \
-L 9121:127.0.0.1:9121 -L 3100:127.0.0.1:3100 pch-prod

puis faire pointer les cibles de monitoring/prometheus/prometheus.yml sur localhost et la source Loki de Grafana sur http://localhost:3100.

remarque

La configuration Prometheus du dépôt vise encore les adresses publiques des serveurs, qui ne répondent plus depuis que les ports sont liés à 127.0.0.1. Passer par les tunnels ci-dessus.

Erreurs applicatives​

Sentry reçoit les erreurs du frontend et du backend, avec le contexte. C'est le premier endroit à regarder après un signalement d'utilisateur.

Points de vigilance​

SignalCause fréquenteAction
Toutes les requêtes en 500 juste après un cache:clearcache recréé par rootrecréer le conteneur backend (voir Dépannage)
https://… montre un certificat « TRAEFIK DEFAULT CERT »DNS absent au moment de la demandevérifier le DNS puis docker restart pch_traefik
File failed qui grossitSMTP OVH indisponible ou mot de passe changévoir Configuration, section E-mails
Disque pleinjournaux, images Dockerdocker image prune -f, docker builder prune -af
KoboToolbox en 502 (préproduction)démarrage en cours (plusieurs minutes)attendre, puis docker ps --filter name=kobofe
Survey Solutions arrêtérelancé automatiquement par check-suso.sh toutes les 5 minuteslire ~/suso-healthcheck.log