Uptime Kuma est notre outil de supervision externe : hébergé sur un serveur distant de nos autres machines, il envoie régulièrement des requêtes sur nos services et vérifie si la réponse transmise correspond bien au résultat attendu. Il peut vérifier le code de statut HTTP renvoyé (en général, 200
indique que le service est fonctionnel) ou bien le contenu de la réponse en elle-même. Il envoie ses requêtes sur des URL définies en amont.
Nous avons installé le service Uptime Kuma en août 2022 dans le but de remplacer un autre logiciel de supervision que nous utilisions auparavant : statping, qui n’est plus maintenu − nous découvrirons plus tard l’existence de son successeur statping-ng. Uptime Kuma est installé sur Sarus.
Nous utilisons l’image officielle louislam/uptime-kuma sans modification ; voir son dossier dans le dépôt Core.
Uptime Kuma utilise une base de données SQLite et ce format ne pose a priori pas de problème pour notre utilisation du service.
Nous avons configuré Uptime Kuma pour vérifier le statut de chacun de nos services, parfois de certains composants de ces services si nécessaire, mais également de services tiers que nous utilisons (comme Mastodon ou PeerTube).
Enfin, nous recevons des notifications lorsque Uptime Kuma détecte un service inaccessible :
Par prudence, nous supervisons notre supervision à l’aide d’une instance Healthchecks hébergée par un autre membre CHATONS. Cette plateforme tierce nous envoie un email lorsque l’un de nos serveurs est injoignable, y compris le serveur hébergeant Uptime Kuma.
Pour tester le fonctionnement d’Uptime Kuma, il suffit d’ouvrir la page du service dans un navigateur.
Uptime Kuma consomme en moyenne 130 Mo de RAM en production et très peu de CPU, c’est un service plutôt léger.
Son volume Docker pèse 200 Mo en production mais contient essentiellement des sauvegardes de sa base de données, que Uptime Kuma effectue automatiquement avant une mise à jour. Sa base de données kuma.db
pèse 30 Mo − les copies peuvent être supprimées une fois la mise à jour réussie.
La fréquence des sondes paramétrées dans le logiciel peut potentiellement impacter le service sondé ou générer beaucoup de trafic pour simplement vérifier son état.
Voici quelques conseils pour choisir correctement la route à sonder pour chaque service :
Bien évidemment, chaque route choisie doit faire l’objet d’un test : interrompre le service supervisé − lorsque c’est possible − devrait déclencher une alerte.
Pour garantir le bon fonctionnement de cet outil de supervision, quelques informations sont à vérifier de temps à autre (une fois par trimestre ?) :
Le processus de mise à jour de Uptime Kuma consiste à lire les notes de version de l’application pour vérifier d’éventuelles incompatibilités, puis à télécharger la nouvelle image et redémarrer le conteneur.
Une fois la mise à jour effectuée, la sauvegarde de la base de données (automatiquement réalisée par Uptime Kuma) peut être supprimée dans son volume.