En avril, j’avais monté une première stack de supervision pour mes sites WordPress, décrite dans cette note. Elle tournait sur le même serveur que les sites : si le serveur tombait, la supervision tombait avec lui, sans prévenir personne. Avec la nouvelle infrastructure, elle a déménagé et changé de forme.
Surveiller depuis l’extérieur
La supervision tourne maintenant sur le serveur de pilotage, chez un autre hébergeur que les sites. Elle voit le serveur des sites de l’extérieur, à travers le tunnel WireGuard qui relie les deux machines. Si le serveur des sites ne répond plus, c’est elle qui le dit.
Ce qui est mesuré
- Les serveurs : processeur, mémoire, disque, réseau (node_exporter), sur les deux machines ;
- Les conteneurs : mémoire et processeur de chaque site (cAdvisor) ;
- Les sites : une sonde par domaine de production (blackbox exporter) qui vérifie le code HTTP, le temps de réponse et la date d’expiration du certificat ;
- Les sauvegardes : l’heure de la dernière sauvegarde réussie de chaque serveur.
La liste des sondes n’est pas tenue à la main : elle est déduite des domaines autorisés au déploiement. Un site mis en production est surveillé au prochain passage d’Ansible, sans configuration en plus.
Des alertes qui ont du sens
Les règles d’alerte reprennent celles de la première version, corrigées de leurs faux positifs : site injoignable, certificat qui expire bientôt, disque presque plein, conteneur qui sature sa mémoire, sauvegarde absente depuis plus de 26 heures. Alertmanager les envoie par e-mail et sur Slack, sur deux canaux : critique (rappel toutes les heures) et infrastructure (toutes les quatre heures).
Les alertes ne contiennent aucune donnée personnelle : juste le nom du site ou du serveur et ce qui ne va pas.
Visible dans Cockpit
Cockpit, mon tableau de bord de maintenance, a un nouvel onglet Infrastructure : état des serveurs, dernière sauvegarde de chacun, résultat des sondes de chaque site et alertes en cours. Il lit ces informations dans Prometheus, en lecture seule : Cockpit ne peut ni toucher aux sauvegardes, ni modifier la supervision.
Ce qui a changé depuis avril
- La supervision est séparée des sites : elle survit à une panne du serveur des sites.
- Le scanner de vulnérabilités WPScan est remplacé par la base Wordfence, téléchargée en entier et croisée localement dans Cockpit : plus de quota, et rien sur nos sites ne sort.
- Les sondes HTTP par site et la surveillance des sauvegardes sont nouvelles.
- Les journaux centralisés (Loki) arrivent dans un second temps, avec Grafana Alloy à la place de Promtail.
Vous voulez savoir ce que surveiller sur vos sites WordPress, ou confier leur hébergement à quelqu’un qui les surveille ? Écrivez-moi à contact@juzed.dev.
Stack : Prometheus · Alertmanager · Grafana · blackbox exporter · node_exporter · cAdvisor · Ansible · WireGuard