2 Scénario réel
Aperçu
Cette section présente un exemple concret, étape par étape, de l’utilisation de la supervision web.
La supervision web de Zabbix sera utilisée pour surveiller le frontend de Zabbix. L’objectif est de déterminer s’il est disponible, s’il fournit le bon contenu et à quelle vitesse il fonctionne. Pour y parvenir, plusieurs étapes sont nécessaires, notamment la vérification de la disponibilité de la première page, la connexion avec un nom d’utilisateur et un mot de passe, la vérification de la réussite de la connexion, la déconnexion et la confirmation de la déconnexion.
Scénario
Ajouter un nouveau scénario web
Accédez à Collecte de données → Hôtes, sélectionnez un hôte et cliquez sur Web sur la ligne de cet hôte.
Cliquez ensuite sur Créer un scénario web.

Dans le formulaire du nouveau scénario, renseignez les champs suivants :
- Nom - Vérification de l’interface web
- Intervalle de mise à jour - 1m
- Tentatives - 1
- Agent - Zabbix
Dans la section Variables, ajoutez deux variables : {password} et {user}.
Saisissez comme valeurs les identifiants de votre utilisateur Zabbix existant.
Pour des raisons de sécurité, il est recommandé de créer un utilisateur distinct avec des autorisations minimales à utiliser à des fins de supervision.
Si vous le souhaitez, passez à l’onglet Tags et ajoutez des tags au scénario web.
Une fois entièrement configuré, ce scénario web ajoutera automatiquement un élément Zabbix trapper à l’hôte.
Vous pouvez utiliser les tags du scénario web pour identifier rapidement les éléments et déclencheurs associés ou effectuer des recherches dans les données collectées.
Par exemple, des tags appropriés pour ce tutoriel sont component: web-scenario et/ou target: frontend.
Configurer les étapes du scénario web
Passez à l’onglet Steps et définissez les étapes du scénario. Cliquez sur le bouton Add pour ajouter une étape individuelle.
Champs communs
Pour chaque étape décrite ci-dessous, renseignez les champs suivants en plus des champs spécifiques à l’étape :
- URL - l’URL du frontend Zabbix
- Timeout - 15s
- Required status codes - 200
Étape 1 du scénario web
Vérifiez que la première page répond correctement, renvoie le code de réponse HTTP 200 et contient le texte « Zabbix SIA ».
- Dans le champ Name, saisissez Première page.
- Dans le champ Required string, saisissez Zabbix SIA.
- Renseignez les champs communs.
Une fois la configuration de l’étape terminée, appuyez sur le bouton Add.

Étape 2 du scénario web
Connectez-vous à l’interface web de Zabbix en utilisant les macros (variables) définies au niveau du scénario - {user} et {password}.
- Dans le champ Name, saisissez Login.
- Dans la section Post fields, ajoutez trois champs POST :
- name avec la valeur {user}
- password avec la valeur {password}
- enter avec la valeur Sign in
- Dans la section Variables, ajoutez une nouvelle variable {csrf_token} avec la valeur regex:([0-9a-z]{64}). Cette variable récupérera la valeur du jeton CSRF attribué afin de la réutiliser à l’étape 4.
- Remplissez les champs communs.

Notez que l’interface web de Zabbix utilise une redirection JavaScript lors de la connexion ; la connexion doit donc avoir lieu en premier, et les fonctionnalités nécessitant une session ouverte ne peuvent être vérifiées que dans les étapes suivantes. De plus, l’étape de connexion doit utiliser l’URL complète vers le fichier index.php.
Étape 3 du scénario web
Après vous être connecté, vérifiez la réussite de l’opération en recherchant une chaîne visible uniquement lorsque vous êtes connecté, par exemple Administration.
- Dans le champ Name, saisissez Login check.
- Dans le champ Required string, saisissez Administration.
- Renseignez les champs communs.

Étape 4 du scénario web
Une fois l’accessibilité du frontend et la connexion vérifiées, ajoutez une étape de déconnexion, sinon la base de données Zabbix sera encombrée par de nombreux enregistrements de sessions ouvertes.
- Dans le champ Name, saisissez Logout.
- Dans la section Post fields, ajoutez deux champs POST :
- reconnect avec la valeur 1
- _csrf_token avec la valeur {csrf_token}.
- Renseignez les champs communs.
Cette étape utilise la variable {csrf_token} obtenue à l’étape 2

Étape 5 du scénario web
Pour confirmer la déconnexion, vérifiez la présence de la chaîne Username.
- Dans le champ Name, saisissez Logout check.
- Dans le champ Required string, saisissez Username.
- Renseignez les champs communs.

Configuration complète des étapes
Une configuration complète des étapes d’un scénario web devrait ressembler à ceci :

Vérifier les résultats
Enregistrez le scénario de surveillance web terminé.
Le scénario sera ajouté à l'hôte. Pour afficher les informations du scénario web, allez dans Monitoring → Hosts, repérez l'hôte dans la liste et cliquez sur le lien Web dans la dernière colonne.

Cliquez sur le nom du scénario pour voir des statistiques plus détaillées :
