Vingt minutes d’erreurs HTTP 500, et l’alerte qui n’est jamais venue
L’instance Redis qui stockait les sessions utilisateur a manqué de mémoire et toutes les pages se sont mises à renvoyer une erreur 500. Ce qui mérite d’être écrit, c’est pourquoi personne n’a été alerté.
01Le problème
Toutes les pages renvoyaient une erreur 500, connexion comprise : rien dans le système n’était utilisable pendant vingt minutes. L’instance Redis qui stockait les sessions utilisateur était à court de mémoire : son job de sauvegarde sur disque dupliquait le processus toutes les cinq minutes, et un fork double brièvement ce dont le processus a besoin.
02Ce que j’ai fait
J’ai plafonné la mémoire de Redis avec une politique d’éviction, supprimé les mécanismes de persistance inutiles dans ce rôle, et ajouté une politique de redémarrage pour que la même panne se résorbe d’elle-même la fois suivante. Puis je suis allé chercher le second problème : aucune alerte ne s’était déclenchée à aucun moment.
03Le résultat
Cela ne s’est pas reproduit. Si rien ne s’est déclenché, c’est que la pile de supervision tournait sur la machine même qu’elle surveillait, et qu’elle est tombée avec tout le reste. L’endroit où tourne la supervision est désormais la première chose que je vérifie sur tout système que je reprends.
04Preuves
Journaux système horodatés couvrant la fenêtre de l’incident.
Demandez-les en visio et j’ouvrirai le tableau de bord.