Surveillance et journalisation

Objectif

L’application utilise Sentry pour surveiller les erreurs rencontrées en production et centraliser les informations utiles au diagnostic.

Configuration de Sentry

L’initialisation de Sentry est regroupée dans le module monitoring.py.

La configuration utilise principalement les variables d’environnement suivantes :

SENTRY_DSN

Identifie le projet Sentry auquel les événements sont envoyés.

SENTRY_ENVIRONMENT

Indique l’environnement d’exécution, par exemple development ou production.

Si SENTRY_DSN n’est pas défini, l’application peut fonctionner sans envoyer d’événement à Sentry.

Protection des données

L’option send_default_pii est désactivée afin de ne pas transmettre automatiquement les données personnelles des utilisateurs.

Les mots de passe, clés secrètes, jetons et autres données sensibles ne doivent jamais être écrits dans les journaux.

Erreurs surveillées

Sentry enregistre les exceptions non gérées qui surviennent pendant l’exécution de l’application.

Un événement contient notamment :

  • le type de l’exception ;

  • le message d’erreur ;

  • la trace d’exécution ;

  • l’environnement concerné ;

  • la version ou le contexte disponible au moment de l’erreur.

Journalisation

L’application utilise également le module logging de Python pour produire des messages de journalisation.

Les niveaux principaux sont :

DEBUG

Informations détaillées utiles pendant le développement.

INFO

Informations décrivant le fonctionnement normal de l’application.

WARNING

Situation inhabituelle qui ne bloque pas nécessairement l’application.

ERROR

Erreur empêchant l’exécution normale d’une opération.

CRITICAL

Erreur grave pouvant empêcher l’application de fonctionner.

Consulter les événements

Les erreurs envoyées à Sentry sont consultables depuis le tableau de bord du projet Sentry.

Les journaux du conteneur et du service sont également disponibles dans l’interface Render.

Lors de l’analyse d’un incident, vérifiez :

  1. le message d’erreur ;

  2. la trace d’exécution ;

  3. l’environnement concerné ;

  4. l’heure de l’événement ;

  5. les journaux Render associés.

Tester la surveillance

Un test de surveillance peut être effectué dans un environnement contrôlé en provoquant volontairement une exception.

Après le test, vérifiez que :

  • l’événement apparaît dans Sentry ;

  • l’environnement indiqué est correct ;

  • aucune donnée sensible n’est transmise ;

  • l’application continue de fonctionner normalement après correction.

Maintenance

Lors d’une évolution de l’application :

  • conservez le DSN dans les variables d’environnement ;

  • ne placez jamais le DSN ou la clé secrète directement dans le code ;

  • utilisez des messages de logs précis et utiles ;

  • évitez les messages redondants ;

  • vérifiez régulièrement les événements non résolus dans Sentry.