Est-ce que votre site est actuellement opérationnel ? On découverte un outil simple qui vous permettra de la savoir à tout moment !
Qu’est ce que le monitoring ?
Il existe une multitude de façon de connaître la bonne santé de son site :
- Vérifier que votre serveur est en ligne
- Vérifier que votre service web ou celui de votre base de donnée est lancé
- Mesurer le temps de réponse d’une page
- Vérifier la bonne réalisation d’un scénario
- Vérifier la disponibilité du site
C’est ce dernier point que nous allons détailler dans ce tutoriel.
A noter qu'il existe encore une subtilité à bien avoir en tête : avoir une réponse attendue en local ne garantit pas la disponibilité de notre site, il est préférable de la vérifier depuis un serveur externe et possiblement pas sur le même réseau.
Installation de l’outil Uptime Kuma
Il existe une multitude d’outil à notre disposition pour vérifier la disponibilité de notre site plus ou moins complexe.
Nos critères sont de disposer d’un outil auto hébergé, libre et facile à prendre en main.
C’est ce que propose Uptime Kuma qui met à disposition une démo afin de se faire un avis sur l'outil.
Nous allons procéder à son installation via Docker comme indiqué dans la doc :
1docker volume create uptime-kuma2docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
Ensuite, on navigue vers l’interface web, par exemple : http://localhost:3001
S’affiche à nous une interface qui permet la configuration du compte admin :
Nous voilà sur le tableau de bord 🎉
Configuration du monitoring
Afin de vérifier la disponibilité de notre site, on va chercher à vérifier que le code HTTP de la page d’accueil de notre site vaut bien 200.
Le code 200 signifie que la requête a été traitée avec succès, autrement dit : tout vas bien.
Pour ce faire, on clique sur le bouton Ajouter une nouvelle sonde, en haut à gauche, dont voici l’interface :
Le paramétrage semble assez poussé, pour une utilisation basique il suffit de renseigné les champs suivants:
- Nom d’affichage: qui sert à s’y identifier notre sonde si on a plusieurs
- URL: qui est la cible de la sonde
Pour le reste, cela dépendra du niveau de criticité de votre site et de la complexité à contacter la page cible.
Après avoir sauvegardé la sonde, une nouvelle interface s’ouvre à nous :
On retrouve en haut les différents passages effectués par la sonde, dont la couleur varie en fonction du statut de la page.
Ensuite, quelques informations intéressantes :
- Le temps de réponse de la page
- Le uptime qui est le taux de succès par rapport aux erreurs
- La date d’expiration du certificat
Suivi d’un graphique de l’évolution du temps de réponse et enfin des infos sur le dernier passage de la sonde.
Configuration des notifications
Nous disposons maintenant d’un outil qui vérifiera périodiquement la disponibilité de notre site et c’est un bon début.
Maintenant nous allons paramétrer l’outil pour être notifié en cas en problème.
L’outil propose une multitude de canaux de notification, nous choisissons Discord.
Pour ce faire, on clique sur le bouton Modifier de notre sonde puis sur le bouton Créer une notification, le formulaire suivant s’affiche :
Le type de notification choisit est donc Discord, ce qui permet de faire apparaître le champ où l’on spécifie le webhook du channel ciblé.
On clique sur le bouton Tester pour vérifier le bon fonctionnement dont voici le résultat :
On sauvegarde, et voilà, la configuration est complète, vous pouvez dormir tranquille.
A noter qu'il ne faut pas oublier d’activer la notification sur notre sonde après sa sauvegarde, en haut à droite :
Afin de constater le résultat en cas de dysfonctionnement, nous avons changé l’URL cible de notre sonde vers une 404, voici l’état du tableau de bord après quelques passages de la sonde :
Après 3 essais infructueux de la sonde, marqués en orange, l’état du site est passé en Hors ligne.
L’historique en bas est mis à jour, on peut y voir l’heure où notre site à changer de statut.
Et voilà le contenu de la notification Discord envoyé lors du passage en Hors ligne :
A lire
Autres articles de la même catégorie
Initiation à l’analyse de code
Initiez-vous à l'analyse de code grace à phpmetrics !
Explorons la nouvelle class Process
Voyons un cas concret d'utilisation de la class Process pour améliorer nos performances
Des DTO sans laravel-data
Et si vous n'aviez pas besoin de laravel-data pour vos DTO ?