Merci à NoScah de m'avoir suggéré d'ajouter Uptime Kuma. Je pensais l'avoir déjà fait, mais non. Chose faite!
Une application de monitoring est toujours intéressante à mettre en place, cela va vous permettre d'avoir une surveillance de vos services et de vous alerter en cas d'interruption de l'un de ceux-ci afin d'intervenir.
Aujourd'hui nous allons parler d'une référence dans le domaine, Uptime Kuma! Application gratuite, open source, légère et bourrée de fonctionnalités.
Que demander de plus? Ah, oui... Un tutoriel! Et bien en avant!
⚡Caractéristiques
- Surveillance du temps de fonctionnement pour HTTP(s) / TCP / HTTP(s) Keyword / HTTP(s) Json Query / Ping / DNS Record / Push / Steam Game Server / Docker Containers.
- Réactif et rapide.
- Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP), et plus de 90 services de notification.
- Intervalles de 20 secondes.
- Plusieurs langues.
- Plusieurs page d'état possible.
- Mapper les pages d'état à des domaines spécifiques.
- Tableau des pings.
- Informations sur les certificats.
- Support proxy.
- Support 2FA.
💾 L'installation
- Créez votre docker-compose.yml dans le dossier où vous comptez installer Uptime Kuma:
sudo nano docker-compose.yml
- Collez ça dedans en prenant soin d'adapter les ports et les volumes suivant votre configuration:
version: '3.9'
services:
uptime-kuma:
image: 'louislam/uptime-kuma:1'
container_name: uptime-kuma
volumes:
- './uptime-kuma:/app/data'
- /var/run/docker.sock:/var/run/docker.sock
ports:
- '3001:3001'
restart: always
- On installe l'application:
docker-compose up -d
ou avec docker-compose V2:
docker compose up -d
- Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 3001 par défaut:
http://ip:3001/
ou votre domaine:
https://mondomaine.com
👤 Création du compte administrateur
Lorsque vous lancez l'application pour la première fois, il faudra créer votre compte administrateur:
- Langue => Choisissez votre langue.
- Nom d'utilisateur => Choisissez votre nom d'utilisateur.
- Mot de passe => Choisissez un mot de passe fort.
- Répéter le mot de passe => Confirmez votre mot de passe.
Cliquez sur Créer pour terminer la création de votre compte.
Voici votre tableau de bord:
🐋 Ajouter un service
Appelé sonde, cette option va vous permettre d'ajouter un service à surveiller. Je vais prendre comme exemple Immich.
Cliquez sur + Ajouter une nouvelle sonde:
Il y a pas mal d'options mais on va se concentrer sur un ajout simple et fonctionnel:
- Type de sonde => Dans notre cas on va laisser sur HTTP(s).
- Nom d'affichage => Nommez le service que vous allez ajouter, ici Immich.
- URL => Ajoutez un nom de domaine.
Si vous voulez ajouter un service qui n'a pas de domaine mais bien une ip et un port, choisissez TCP Port:
Quand c'est terminé, cliquez sur Sauvegarder:
Confirmation en bas à droite que le service est bien ajouté & fonctionnel:
Après quelques minutes de fonctionnement:
🏷️ Ajouter une étiquette
Il est possible d'ajouter une étiquette à votre service. Vu que j'ai plusieurs serveurs, je vais, par exemple, ajouter une étiquette à Immich pour m'indiquer qu'il est sur le serveur 1, à vous de modeler ça suivant vos désirs.
Cliquez sur Modifier:
Nommez votre étiquette, ici Server1 et choisissez une couleur, cliquez sur Ajouter:
Ce qui donne:
🔔 Notification
Comme il n'est pas forcément commode de rester figé sur sa page de statut pour voir si un service n'est plus fonctionnel, vous conviendrez qu'il serait plus simple d'être averti par Uptime Kuma.
Je vais vous expliquer, parmi la masse de possibilités, deux options de notification, à savoir par e-mail et par Gotify.
Par e-mail
Si vous avez votre propre serveur mail, vous avez les informations nécessaires en votre possession. Vous pouvez également utiliser le serveur mail de Google, Infomaniak, Outlook,.. Je vous invite cordialement à lire cet article pour connaître les informations à fournir, et, suivant lequel vous choisissez, par exemple, Gmail, il faudra créer un mot de passe dédié.
Je vous explique tout ici:
Au niveau d'Uptime Kuma:
Il faudra à nouveau cliquez sur Modifier:
Complétez les informations demandées:
- Type de notification => Courriel (SMTP).
- Nom d'affichage => Mettez ce qui vous parle, dans mon cas, Attention requise.
- Nom d'hôte / adresse IP => Indiquez le nom du serveur SMTP.
- Port => 587 idéalement, cela peut varier suivant le serveur mail.
- Sécurité => Aucun / STARTTLS (25, 587) si possible.
- Nom d'utilisateur => Indiquez l'adresse mail avec laquelle vous voulez envoyer la notification.
- Mot de passe => Indiquez le mot de passe.
- Depuis l'adresse => Indiquez depuis quel e-mail la notification sera envoyée.
- Vers l'adresse => Indiquez à quelle adresse e-mail la notification doit-être envoyée.
On va tester si tout fonctionne en cliquant sur Tester:
Ce qui doit retourner:
Et effectivement, j'ai bien reçu l'e-mail de test:
Par Gotify
Remplissez les informations demandées:
- Type de notification => Gotify.
- Nom d'affichage => Mettez ce qui vous parle, dans mon cas, Attention requise.
- Jeton d'application => Indiquez le jeton créé avec Gotify.
- URL du serveur => Indiquez l'URL du serveur Gotify.
- Activé par défaut => Vous pouvez cochez cette option si vous souhaitez que pour chaque nouvelle sonde, cette notification soit activée par défaut.
On test le tout en cliquant sur Tester:
Du côté de Gotify:
🚦Créer une page de statut
Si vous avez envie de voir d'un coup d’œil ou partager une page de statut, cliquez sur Pages de statut:
Ensuite cliquez sur + Nouvelle page de statut:
Remplissez les informations demandées:
- Nom => Donnez un nom à la page de statut.
- Chemin => C'est vraiment comme vous voulez. C'est le nom qui sera affiché dans la barre d'adresse:
Cliquez sur Continuer.
Vous allez arriver ici, il y a bien entendu pas mal de personnalisation, mais nous allons nous concentrer sur le principal et le fonctionnel:
Cliquez sur Ajouter une sonde, ou des sondes finalement, mais dans mon exemple je n'ai ajouté que Immich:
Cliquez sur Sauvegarder pour terminer:
Ce qui donne:
Et si vous partagez la page de statut, non connecté à Uptime Kuma, cela va donner ceci: