Aller au contenu
Documentation Plateforme READ Ouvrir la plateforme

Chapitre 8

Supervision

Suivre l'état de la plateforme au quotidien : conteneurs, état de santé, journaux, place disque, sauvegardes et alertes conseillées.

Concerne :Équipe techniqueHébergeur

Les commandes de ce chapitre se lancent sur le serveur, dans le dossier du code :

cd /opt/read/code

État des conteneurs#

docker compose ps -a

Exemple de résultat attendu :

NAME                          SERVICE      STATUS
read-plateforme-app-1         app          Up 2 days (healthy)
read-plateforme-caddy-1       caddy        Up 2 days
read-plateforme-db-1          db           Up 2 days (healthy)
read-plateforme-migrations-1  migrations   Exited (0) 2 days ago
  • app est contrôlé toutes les 15 secondes par Docker : il interroge /health, qui vérifie aussi l'accès à la base. Après 5 échecs, il passe « unhealthy ».
  • db est contrôlé par pg_isready.
  • migrations doit être arrêté avec le code 0 : un autre code signale un échec de migration (Dépannage).
  • app, db et caddy redémarrent seuls après un arrêt inattendu ou un redémarrage du serveur (restart: unless-stopped).

Journaux#

SourceCommande ou emplacementConservation
Application (console)docker compose logs --tail 100 app5 fichiers de 10 Mo
Application (fichiers quotidiens)volume read-plateforme_app-logs, fichiers read-AAAAMMJJ.log30 jours
Caddy (certificats, relais)docker compose logs --tail 100 caddy5 fichiers de 10 Mo
Basedocker compose logs --tail 100 db5 fichiers de 10 Mo
Migrationsdocker compose logs migrationsjusqu'au prochain déploiement
Déploiement/opt/read/deploiement.logdernier déploiement
Sauvegardesudo journalctl -u read-sauvegarde.servicejournal systemd

Lire les fichiers quotidiens de l'application :

docker run --rm -v read-plateforme_app-logs:/logs:ro alpine:3.24 sh -c 'ls -l /logs && tail -n 50 /logs/$(ls /logs | tail -n 1)'

Chaque requête est journalisée sur une ligne (méthode, adresse, code de réponse, durée). Les niveaux WRN et ERR méritent attention, notamment :

  • Échec de la tâche quotidienne : une tâche de conservation n'a pas abouti ;
  • Aucun administrateur : renseigner ADMIN_EMAIL et ADMIN_MOT_DE_PASSE : base sans administrateur ;
  • les erreurs d'envoi SMTP.

Remarque

Le contenu des e-mails n'est jamais journalisé (il peut porter un lien de réinitialisation de mot de passe) ; seul leur sujet l'est.

Le journal d'audit (actions des utilisateurs) se consulte dans la plateforme, écran Journal d'audit de l'administrateur ; il n'est pas dans les journaux techniques.

Place disque#

df -h /
sudo du -sh /var/backups/read
docker system df

Les sauvegardes locales sont le premier poste de consommation (30 copies complètes de la base et des fichiers déposés). Les images Docker inutilisées laissées par les déploiements successifs s'accumulent aussi ; supprimez-les de temps en temps :

docker image prune -f

Danger

N'utilisez pas docker system prune --volumes ni docker volume prune : ces commandes peuvent supprimer les volumes de données de la plateforme.

Sauvegardes#

Chaque jour ouvré, vérifiez que la sauvegarde de la nuit s'est terminée et que la copie hors serveur est partie :

sudo journalctl -u read-sauvegarde.service --since yesterday | tail -n 5
ls /var/backups/read | tail -n 3

Alertes conseillées#

La plateforme n'envoie pas elle-même d'alertes techniques. Mettez en place au minimum :

SurveillanceMoyen conseilléSeuil
Disponibilité du siteService de supervision externe interrogeant la page d'accueil en HTTPS toutes les 5 minutes2 échecs consécutifs
Validité du certificatMême service (contrôle du certificat)Expiration dans moins de 14 jours (Caddy renouvelle bien avant)
SauvegardeLecture quotidienne du compte rendu, ou script qui vérifie qu'un dossier de moins de 26 heures existeAbsence de sauvegarde du jour
Place disqueSupervision de l'hébergeur ou tâche planifiée sur dfPlus de 80 % occupés
MémoireSupervision de l'hébergeurUsage du swap durable

Statistiques d'utilisation#

L'administrateur dispose dans la plateforme d'un écran Statistiques d'utilisation (organisations actives, connexions par semaine, rapports transmis à temps, téléchargements). Il renseigne sur l'usage, pas sur la santé technique.

Plateforme READ — Édition 1.0 — octobre 2026. Documentation générée à partir des sources du projet ; les captures montrent des données de démonstration entièrement fictives.