Comment configurer un outil de surveillance de la disponibilité sous Linux avec Uptime Kuma

Comment configurer un outil de surveillance de la disponibilité sous Linux avec Uptime Kuma

Uptime Kuma est un outil de surveillance de la disponibilité simple mais puissant. Il vous permet de garder une trace de chaque service que vous hébergez soit sur un réseau local, soit sur Internet au sens large.

Cet article vous montrera comment installer et déployer Uptime Kuma sur un réseau local à l’aide d’Ubuntu et Docker. Nous vous montrerons également comment personnaliser l’instance Uptime Kuma pour envoyer des notifications d’état à Telegram.

Pourquoi utiliser Uptime Kuma ?

Uptime Kuma peut suivre et envoyer une requête ping aux serveurs Web ainsi que vérifier l’état de vos conteneurs Docker. Cela fait d’Uptime Kuma le portail Web tout-en-un idéal pour tous vos services réseau.

L’un des plus grands avantages d’Uptime Kuma est qu’il est livré par défaut avec un système de notification robuste. Cela signifie que vous pouvez configurer votre moniteur de disponibilité pour qu’il envoie automatiquement un message via divers canaux chaque fois qu’il détecte une anomalie.

Une capture d'écran montrant une instance Uptime Kuma fonctionnelle.

Installation de Uptime Kuma

Obtention de Docker et Docker Compose

Tout d’abord, récupérez la clé de signature GPG pour les référentiels Docker et Docker Compose :

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Créez un nouveau fichier de référentiel pour Docker sous « /etc/apt/sources.list.d/ »

sudo nano /etc/apt/sources.list.d/docker.list

Collez la ligne de code suivante dans votre nouveau fichier de référentiel :

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

Mettez à jour et mettez à niveau le référentiel de packages pour votre système Ubuntu :

sudo apt update && sudo apt upgrade

Installez le package Docker et Docker Compose avec leurs dépendances :

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git

Assurez-vous que votre utilisateur en cours d’exécution dispose des privilèges appropriés pour exécuter Docker et Docker Compose :

sudo usermod -aG docker ramces

Obtention et création de temps de disponibilité Kuma

Créez un nouveau répertoire pour votre conteneur Uptime Kuma Docker. Celui-ci contiendra le fichier de recette pour votre instance :

mkdir uptime-kuma && cd. /uptime-kuma

Une fois à l’intérieur, créez un nouveau « docker-compose.yml » à l’aide de votre éditeur de texte préféré :

nano. /docker-compose.yml

Collez le bloc de code suivant dans votre nouveau fichier Compose :

---
version: "3.8"
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
volumes:
- uptime-kuma:/app/data
ports:
- 3001:3001
restart: always
volumes:
uptime-kuma: null

Créez les conteneurs Docker pour votre nouvelle instance Uptime Kuma :

sudo docker compose up -d

Création d’un proxy inverse pour Uptime Kuma à l’aide de Nginx

Nous allons créer un proxy inverse dans Nginx afin que vous puissiez accéder à Uptime Kuma sur une URL accessible au public.

Créez un nouveau fichier de configuration de site Nginx à l’aide de votre éditeur de texte préféré :

sudo nano /etc/nginx/sites-available/uptimekuma

Écrivez le bloc de code suivant dans le fichier de configuration de votre nouveau site :

server {

server_name uptime.myvpsserver.top;


location / {
proxy_pass http://127.0.0.1:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
}}

Liez le fichier de configuration de votre site depuis le dossier « sites-available » de Nginx à son répertoire « sites-enabled » :

sudo ln -s /etc/nginx/sites-available/uptimekuma /etc/nginx/sites-enabled

Redémarrez votre démon de serveur Nginx pour appliquer vos nouveaux paramètres :

sudo systemctl restart nginx

Installation du certificat SSL

Pour commencer, vous devez vous assurer que votre système dispose du package Snap principal opérationnel :

sudo snap install core

Installez le snap pour le certbot de l’Electronic Frontier Foundation. Il s’agit d’un petit outil qui peut automatiquement demander et conserver le certificat SSL de votre proxy inverse :

sudo snap install certbot --classic

Testez si certbot fonctionne correctement en inscrivant votre nouvelle installation de certbot à l’EFF :

sudo certbot register --agree-tos -m ramces@email.invalid

Demandez un nouveau certificat SSL pour votre nouveau proxy inverse :

sudo certbot --nginx -d uptime.myvpsserver.top

Configuration de Uptime Kuma et ajout de moniteurs

Vérifiez si votre installation Uptime Kuma fonctionne correctement sur son proxy inverse en accédant à son adresse dans un navigateur Web.

Une capture d'écran montrant la page de destination par défaut pour Uptime Kuma.

Remplissez le formulaire avec les détails souhaités pour votre nouveau compte administrateur, puis cliquez sur « Créer » pour continuer vers votre instance.

Une capture d'écran montrant les détails de l'administrateur pour la nouvelle instance.

Cliquez sur le bouton « Ajouter un nouveau moniteur » dans le coin supérieur gauche de la page.

Une capture d'écran mettant en évidence le

Cela ouvrira une nouvelle sous-fenêtre sur la page actuelle dans laquelle vous pourrez spécifier le type de service que vous souhaitez surveiller. Par exemple, changer la valeur « Type de moniteur » de « HTTP(S) » à « Port TCP » créera un moniteur qui vérifiera si un port particulier de la machine est actuellement ouvert.

Une capture d'écran montrant les différents types de moniteur disponibles.

Remplissez les détails de la machine que vous souhaitez surveiller.

Faites défiler vers le bas de la page, puis cliquez sur « Enregistrer » pour démarrer votre nouveau moniteur.

Une capture d'écran montrant les détails complets d'un simple moniteur de vérification de port.

Configuration de notifications externes pour Uptime Kuma

Accédez à la page principale de votre instance Uptime Kuma et cliquez sur l’icône utilisateur dans le coin supérieur droit de la page.

Une capture d'écran mettant en évidence le badge de l'icône de l'utilisateur dans le coin supérieur droit de l'écran.

Cliquez sur l’option « Paramètres » dans le menu déroulant de la page.

Une capture d'écran mettant en évidence l'option Paramètres dans le menu contextuel du badge utilisateur.

Sélectionnez la catégorie « Notifications » dans la nouvelle sous-fenêtre de la page.

Une capture d'écran mettant en évidence la catégorie Notifications.

Création d’un service de notifications de télégramme

Cliquez sur le bouton « Configurer la notification ». Par défaut, cela fera apparaître une petite fenêtre dans laquelle vous pourrez créer un lien et créer un robot de notification à l’aide de votre compte Telegram.

Donnez un nom à votre nouvelle alerte de notification, puis cliquez sur le lien BotFather sous la zone de texte « Bot Token ».

Une capture d'écran mettant en évidence le lien Telegram BotFather.

Cliquez sur le bouton « Envoyer un message » sur la page Telegram de BotFather.

Une capture d'écran montrant l'invite initiale du BotFather.

Cela ouvrira une nouvelle fenêtre de discussion dans laquelle vous pourrez utiliser BotFather pour créer votre bot de notification. Écrivez «/newbot» à l’invite, puis appuyez sur Enter.

Fournissez un nom pour le bot que vous associez à votre instance Uptime Kuma.

Écrivez un nom d’utilisateur approprié pour votre nouveau robot de notification. Notez que pour cela, le BotFather n’acceptera aucun caractère spécial en dehors du trait de soulignement (_).

Cliquez sur le texte mis en surbrillance par BotFather pour le copier dans votre presse-papiers.

Une capture d'écran mettant en évidence le jeton unique de votre nouveau robot de notification.

Testez si votre nouveau bot fonctionne correctement en recherchant son nom d’utilisateur et en démarrant une conversation avec lui.

Une capture d'écran montrant l'historique de la conversation initiale avec le nouveau bot.

Revenez à votre instance Uptime Kuma, puis collez le jeton de bot privé dans la zone de texte « Bot Token ».

Cliquez sur le bouton « Obtention automatique » sous la zone de texte « ID de chat ».

Une capture d'écran mettant en évidence le bouton Auto Get.

Faites défiler vers le bas de la fenêtre Uptime Kuma, puis cliquez sur « Test » pour vérifier si Uptime Kuma peut communiquer avec votre nouveau bot.

Une capture d'écran montrant un robot Uptime Kuma Telegram fonctionnel.

Cliquez sur « Enregistrer » pour valider vos modifications dans Uptime Kuma.

L’hébergement d’un simple démon d’état de service sur Docker n’est que la pointe de l’iceberg lorsqu’il s’agit de déployer des services Web conteneurisés. Découvrez comment vous pouvez héberger votre propre bureau cloud avec ownCloud et exécuter votre propre Pastebin avec Stikked .

Crédit image : Boitulmelo via Unsplash (Arrière-plan) Github (Logo). Toutes les modifications et captures d’écran par Ramces Red.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *