
Sommaire
Introduction
Après avoir abordé la configuration des alertes avec Telegram, nous nous concentrerons cette fois sur la supervision des sites web avec Zabbix.
L’objectif est de configurer Zabbix pour superviser les sites web, en surveillant des métriques clés telles que la disponibilité, le temps de réponse, et les erreurs HTTP. Cela nous permettra d’identifier rapidement les problèmes de disponibilité et d’y réagir efficacement. Pour cela, nous définirons des éléments de surveillance spécifiques, des déclencheurs pour détecter les anomalies, et des actions pour notifier les administrateurs en cas de problème.
Configuration sur Zabbix
Nous pouvons surveiller la disponibilité des sites web via un hôte qui est lui-même supervisé par Zabbix. Je vais configurer l’hôte « Zabbix server », qui est le serveur Zabbix lui-même.
Il est nécessaire de configurer un scénario et une étape web. Tout d’abord, accédez à « Collecte de données » > « Hôtes ».

Nous allons cliquer sur la section « Web »

Cliquez sur « Créer un scénario web » en haut à droite.

Dans l’onglet « Scénario », personnalisez le nom, l’intervalle d’actualisation et le nombre de tentatives.

Dans l’onglet « Étapes », ajoutez une nouvelle étape.

Personnalisez cette étape avec le nom, l’adresse URL et le code d’état requis, qui sera de valeur 200. Si Zabbix reçoit un autre code en réponse du serveur web, la vérification échoue.
Le code de statut de réponse HTTP 200 OK indique la réussite d’une requête.

Ajoutez l’étape, et votre scénario sera correctement créé.
Dans « Surveillance > Dernières données », saisissez « web » dans le champ Nom pour filtrer les résultats. Vous verrez ainsi les dernières valeurs relatives à votre site web.
Configuration des alertes
La valeur de « Failed step of scenario ‘name' » est 0 si le site est disponible et 1 si le site est indisponible. C’est cette valeur que nous allons surveiller.
Par défaut, il n’y a pas de déclencheur associé aux scénarios web, il faut donc en créer un pour être alerté en cas de non-disponibilité d’un site web avec la Sévérité Haute. Accédez à « Collecte de données » > « Hôtes » > « Déclencheurs » pour configurer cela.
Création d’un déclencheur

Je vais créer une expression à l’aide de l’éditeur d’expression :

Je saisis l’élément « Failed step of scenario » et le nombre d’erreurs successives que je tolère avant d’envoyer une alerte (1 dans ce cas). Il faut également que le résultat soit différent de 0.
Nous savons que si la valeur est 0, le site est disponible, sinon, il est indisponible.
Vérifiez que l’expression a bien été ajoutée et que vous avez sélectionné votre degré de sévérité.
Pour tester le bon fonctionnement, on peut tromper le DNS du serveur de supervision en modifiant le fichier /etc/hosts. Ce fichier référence les entrées DNS en local.
Éditez le fichier avec la commande suivante :
sudo nano /etc/hosts
Et on ajoute la ligne suivante :
127.0.0.1 votresite.fr

L’élément passe en état « problem » sur Zabbix.
Et une alerte est envoyée automatiquement sur mon média Telegram.
Conclusion
En conclusion, nous avons mis en place une surveillance efficace des sites web à l’aide de Zabbix. Nous avons configuré un hôte pour superviser la disponibilité des sites et créé des scénarios web personnalisés avec des étapes spécifiques pour vérifier la réponse des URL. Nous avons défini des déclencheurs pour surveiller la valeur de « Failed step of scenario », permettant ainsi de détecter rapidement toute indisponibilité du site.
Pour garantir une réponse rapide aux problèmes détectés, nous avons configuré des alertes de haute sévérité qui envoient des notifications automatiques à notre média Telegram en cas de problème. Nous avons également vérifié la configuration en simulant une indisponibilité en modifiant le fichier /etc/hosts, confirmant ainsi que les alertes fonctionnent correctement.
Grâce à cette configuration, nous assurons une surveillance proactive de nos sites web, permettant une intervention rapide et minimisant les temps d’indisponibilité.