Infrastructure, cloud et DevOps · Mixte

Journaux : stocker correctement et trouver rapidement

En une ligne : Un bon journal est structuré, identifié par un ID de requête, conservé pendant une durée définie, et libre d'informations personnelles n'ayant aucune raison d'y être.

Structure

Des champs, pas des phrases : heure, niveau, service, version, identifiant de requête, identifiant utilisateur masqué et un événement. Ainsi on peut filtrer et agréger plutôt que chercher du texte.

Des niveaux utilisés avec cohérence : erreur pour ce qui nécessite attention, avertissement pour ce qui est exceptionnel mais géré, info pour les événements commerciaux, debug uniquement en développement.

Combien conserver

Les journaux sont un poste de coût significatif. Conservez en détail pendant peu de temps, agrégé pendant plus longtemps, et une archive bon marché pour ce qui est requis par conformité. Fixez cela une fois, sinon c'est décidé tout seul — vers le haut.

Quoi ne pas écrire

Mots de passe, jetons, numéros de carte, numéros d'identité et contenu de messages privés. Un journal est une base de données à tous égards, avec moins de contrôles — donc une fuite depuis lui est particulièrement fréquente.

Pour aller plus loin

Ajoutez un identifiant de requête généré à la périphérie et transmis à tous les composants et à la réponse à l'utilisateur. Quand un client signale une erreur avec un identifiant, l'enquête commence à la bonne ligne — au lieu de parcourir des millions de lignes autour d'une heure estimée.