Maîtriser la surveillance de son homelab : de la passion à la fiabilité

Transformer un homelab d’une simple passion en un pilier de la vie quotidienne pour la famille et le travail est un parcours marqué par des défis et des apprentissages. Alors que la construction d’un homelab peut être une exploration passionnante de la technologie, garantir sa stabilité et sa fiabilité lorsqu’il passe au soutien d’activités quotidiennes critiques est primordial. Cet article de blog explore les bases de la surveillance et de l’alerte dans l’environnement homelab, en mettant l’accent sur l’équilibre entre investissement et avantages – une considération essentielle pour chaque passionné.

Le choix de l’outil de surveillance : Uptime Kuma

Dans ma quête pour atteindre une surveillance 24/7 de mon infrastructure et de mes services, qu’ils soient exposés en interne ou en externe, j’ai recherché un outil simple mais efficace. Mon choix ? Uptime Kuma. Voici une brève description directement depuis sa page GitHub :

« Uptime Kuma est un outil de surveillance auto-hébergé comme ‘Uptime Robot’. Il est facile à utiliser et vous permet de surveiller des sites web HTTP(s), des ports TCP, des réponses de ping, et plus encore. Il offre un support multilingue, des thèmes et des pages de statut personnalisables. »

L’attrait d’Uptime Kuma réside dans sa simplicité et son empreinte minimale, en faisant un choix idéal pour une configuration homelab. Il peut être déployé sur du matériel nu ou dans un conteneur Docker, offrant ainsi une flexibilité dans son intégration dans l’infrastructure existante.

Page Github de Uptime Kuma

Principales fonctionnalités d’Uptime Kuma pour la surveillance homelab

Vérifications d’état en direct : Au cœur d’Uptime Kuma, il permet la surveillance de la disponibilité du serveur grâce à des tests de ping simples. Cette fonction me permet de rapidement déterminer l’état « en direct » de tous les serveurs de mon réseau.

Surveillance des services : Au-delà des simples pings, Uptime Kuma excelle dans la surveillance de la santé de services spécifiques en vérifiant l’état « en direct » des noms de sous-domaine. Cette capacité est inestimable pour obtenir des informations sur la santé du service et les statuts des certificats SSL, en m’alertant quand des renouvellements sont nécessaires.

Analyse des temps de réponse : Uptime Kuma enregistre les temps de réponse pour chaque vérification, fournissant une métrique cruciale pour diagnostiquer un comportement inhabituel ou des goulots d’étranglement dans le réseau. Cette fonction a joué un rôle important dans ma décision de découpler mon architecture, améliorant ainsi les performances et la fiabilité globales.

Surveillance des API : Peut-être l’une des fonctionnalités les plus polyvalentes d’Uptime Kuma est sa capacité à effectuer des appels d’API. Cette fonctionnalité élargit la portée de ce qui peut être surveillé, des métriques internes à la disponibilité des services externes.

Intégration de la surveillance externe : Uptime Robot

Alors qu’Uptime Kuma offre des capacités de surveillance complètes depuis le réseau, évaluer la disponibilité des services d’un point de vue externe nécessite une stratégie supplémentaire. C’est là qu’intervient Uptime Robot. Uptime Robot permet de surveiller les services depuis Internet, émulant ainsi l’expérience des utilisateurs externes accédant à des services auto-hébergés.

Intégrer Uptime Robot avec Uptime Kuma via des appels d’API permet d’obtenir une vue consolidée de la santé et de la disponibilité des services. Cette configuration garantit que j’ai un aperçu complet de l’état du matériel, des performances des services et de l’accessibilité externe – le tout depuis le tableau de bord d’Uptime Kuma.

La liste des appels API supportés par Uptime Robot est disponible ici

Etape 1 : Créer un compte sur Uptime Robot.

L’offre gratuite inclus 50 sondes avec une vérification toutes les 5 minutes. Cela sera largement suffisant pour la plupart d’entre nous.

Etape 2 : Créer une sonde.

Pour cet exemple je vais tester l’accessibilité de liberix.net depuis Internet.

Etape 3 : Créer une clé API pour cette sonde spécifique « Monitor-Specific API Keys ».

Vous obtiendrez alors une clé au format mxxxxx-yyyyyyy. Copiez-là. Vous en aurez besoin sur Uptime Kuma.

Pour des raisons inconnues, l’accès aux API n’est pas disponible sur la nouvelle interface d’Uptime Robot. Vous pouvez aller dans vos paramètres pour restaurer l’ancienne interface.

Etape 4 : Rendez-vous sur Uptime Kuma pour l’intégration de la sonde via des appels API.

Une fois sur votre instance Uptime Kuma, vous pouvez créer une sonde « HTTP(S) – Requête Json » pour récupérer le statut de votre sonde Uptime Robot.

Bien entendu, changez la valeur de votre api_key par celle générée sur le site Uptime Robot.
Nous allons appeller la méthode « monitor.status » dont la valeur doit être de « 2 » pour une sonde qui réponds positivement.

Etape 5 : Intégrer cette sonde à votre environnement Uptime Kuma

Voila, le travail est terminé et vous avez maintenant la possibilité de voir l’état de votre site/service (en l’occurence liberix.net) depuis l’interne ou l’externe de votre homelab.

L’équilibre entre investissement et bénéfice

Adopter Uptime Kuma pour la surveillance homelab illustre l’équilibre entre investissement et bénéfice qui est crucial pour la philosophie homelab. Avec des efforts minimaux de configuration et de maintenance, associés à aucun coût, Uptime Kuma fournit un outil puissant pour garantir la fiabilité et les performances des services homelab. Cette approche me permet de me concentrer sur d’autres aspects de la gestion homelab, en toute sécurité dans le savoir que j’ai une solution de surveillance robuste en place.

Conclusion

Alors que les homelabs évoluent de passions à des composantes critiques de notre vie numérique quotidienne, l’importance d’une surveillance et d’une alerte efficaces ne peut être surestimée. Des outils comme Uptime Kuma et Uptime Robot offrent aux passionnés d’homelab les moyens d’atteindre une fiabilité et des performances de qualité professionnelle, garantissant que nos homelabs puissent répondre à nos besoins sans faille. Dans ce voyage, les informations tirées de la surveillance améliorent non seulement notre compréhension de nos systèmes, mais stimulent également des améliorations qui garantissent que nos homelabs sont prêts pour tout ce qui vient ensuite.