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.
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.
Remplissez le formulaire avec les détails souhaités pour votre nouveau compte administrateur, puis cliquez sur « Créer » pour continuer vers votre instance.
Cliquez sur le bouton « Ajouter un nouveau moniteur » dans le coin supérieur gauche de la page.
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.
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.
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.
Cliquez sur l’option « Paramètres » dans le menu déroulant de la page.
Sélectionnez la catégorie « Notifications » dans la nouvelle sous-fenêtre de la page.
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 ».
Cliquez sur le bouton « Envoyer un message » sur la page Telegram de 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.
Testez si votre nouveau bot fonctionne correctement en recherchant son nom d’utilisateur et en démarrant une conversation avec lui.
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 ».
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.
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