Pour superviser les sites Web avec Zabbix, il existe trois méthodes:
- Web scénarios
- Item HTTP Agent
- Exécuter une commande système (ex: Curl)
Elles sont cependant trop limités pour des applications web modernes (javascript, MFA, etc…).
« Browser monitoring » s’interface avec Selenium (retenue par Zabbix SIA), il s’agit d’une solution libre reconnue et utilisée par de nombreuses autres solutions gratuites et payantes.
L’implémentation du « Browser monitoring » a été réalisée en étendant le moteur de javascript existant (utilisé dans le pré-processing notamment) pour permettre de piloter un contrôleur Selenium externe
Note: Zabbix ne fournit pas Selenium lors de son installation.
L’activation du « Browser monitoring » se fait via les directives suivantes dans le fichier de configuration du Zabbix Server:
![](/web/image/1326-3144e41f/image-1-2.png?access_token=c207c790-b885-48f4-bee9-406f019cd06d)
Le template fournit dans Zabbix 7.0 permet de superviser un site web via son url et de récupérer un certains nombre de métriques:
![](/web/image/1327-a828e0c1/image.png?access_token=17e73cb3-9d6f-4bfa-ae2f-bba4b8220086)
Ainsi qu’une capture d’écran de la page affichée à la fin du script par le navigateur (on notera au passage le nouveau type d’item « Binary » pour stocker les captures d’écrans en base64)
![](/web/image/1325-3a032e22/image-2.png?access_token=ddb8b950-13fe-4b63-8df9-66c0d23242b7)
Un dashboard prêt à l’emploi (par item « Browser ») est également disponible:
![](/web/image/1328-920ade8a/image-3-2.png?access_token=ed377b02-d0af-4a31-aec5-5673880cf4ee)
Cependant, nous sommes face à une première implémentation marquée comme « Expérimentale » dans la documentation officielle.
Elle vient donc avec un certain nombre de limitations:
- Impossibilité d’utiliser l’extension navigateur « Selenium IDE »1 qui permet l’enregistrement et l’export de scénarios Web multi étapes.
- Les scénarios Web doivent être développés intégralement en javascript2 (captures d’écran multiples, gestion d’erreurs, etc..). Des exemples sont présents dans la documentation3.
- Implémentation limitée (due à l’utilisation du moteur javascript existant)
- Les widgets de Zabbix ne permettent pas de naviguer par « session »
- https://chromewebstore.google.com/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd
- https://www.zabbix.com/documentation/7.0/en/manual/config/items/preprocessing/javascript/browser_item_javascript_objects?hl=Browser%2Cbrowser
- https://www.zabbix.com/documentation/7.0/en/manual/config/items/itemtypes/browser?hl=Browser%2Cmonitoring%2Cbrowser