La supervision des infrastructures nécessite des outils adaptés, capables de superviser l’ensemble des équipements réseau quelqu’en soit le constructeur (serveurs, switchs, routeurs, téléphones IP, caméras IP, sondes, etc.), et offrant différents modes de gestion.

Parmi les produits de supervision connus sur le marché, on peut citer :

  • chez les éditeurs, IBM Tivoli Monitoring, HP OpenView et BMC Patrol ;
  • dans le monde libre, Nagios, ZABBIX, Cacti et Vigilo.

Dans ce billet, nous allons nous intéresser spécifiquement au produit open source ZABBIX.

ZABBIX est développé par la société ZABBIX SIA en Lettonie, et est disponible en open source sous licence GPLv2. Sa première version est apparu en 2001. ZABBIX offre des fonctions de monitoring et permet de superviser l’état des différents services réseau (SMTP, HTTP, …), serveurs et autres matériels réseau (switchs, routeurs, etc.). À ce jour, la dernière version stable est la version 1.6.4.

Architecture

ZABBIX est fondé sur une architecture multi-tiers composée :

  • d’un serveur ZABBIX (Unix) et d’une base de données (MySQL, PostreSQL, Oracle, SQLite) ; la base de données permet le stockage des données collectées et des réglages ;
  • d’une console Web basée sur PHP ; la console permet l’administration et la consultation des données et centralise la configuration de tous les tests pour toutes les machines ;
  • d’agents ZABBIX (Linux, FreeBSD, Windows, MacOS, AIX, Solaris, BSD…) ; les agents sont à l’écoute, et remontent les informations vers le serveur ZABBIX.

Petit lexique

ZABBIX se distingue d’autres produits de supervision par un lexique bien particulier.

Un trigger déclenche une alarme suite à un événement défini via une expression. ZABBIX dispose d’une liste de triggers prédéfinis, et modifiables. Par exemple :

  • le trigger “Low free disk space on Athena volume /home” (espace disque insuffisant sur le serveur Athena volume /home),
  • le trigger “FTP server is down on Athena Server” (le serveur FTP est inactif sur le serveur Athena).

Un item est un élément à vérifier ou superviser (charge du processeur, mémoire libre etc.). Il est possible de créer son propre item. Chaque item est créé avec une ou plusieurs clés, qui sont des fonctions retournant une valeur mesurée. Par exemple :

  • L’item “Total disk space on /home” a pour clé vfs.fs.size[/home,total].
  • L’item “FTP server is running” a pour clé net.tcp.service[ftp].

Une action n’est autre qu’un traitement effectué en cas de déclenchement d’alarme. Une action peut servir à pallier un éventuel problème, ou simplement à prévenir une personne. Un action peut être, par exemple :

  • l’envoi d’un mail,
  • une commande à exécuter.

Un templates est un modèle pouvant être créé et chargé dans ZABBIX. Un template peut contenir :

  • des items,
  • des triggers,
  • des graphes personnalisés, etc.

Un scénario de supervision est un ensemble de requêtes HTTP, qui peut être exécuté périodiquement par un serveur ZABBIX.

Principales fonctionnalités

ZABBIX offre de nombreuses fonctionnalités, dont les principales sont :

  • la surveillance en temps réel (disponibilité, performance, envoi d’alerte par mail, SMS, ou Jabber, intégrité),
  • l’enrichissement des templates grâce à l’import et l’export au format XML,
  • l’automatisation de la découverte de serveurs et de services (LDAP, SMTP, IMAP) sur une plage IP,
  • la création et la visualisation de graphiques et de cartes du réseau
  • la personnalisation des alertes,
  • la définition des scénarios de supervision.

ZABBIX et Nagios

Si l’on compare ZABBIX et Nagios, on constate les différences et les particularités suivantes :

  • Nagios permet de tester l’état de service un certain nombre de fois avant de considérer qu’il y a défaillance et de remonter l’alerte. ZABBIX n’offre pas cette possibilité.
  • Le système d’alerte de Nagios est plus robuste, et plus simple à mettre en place que celui de ZABBIX.
  • Les rapports et les fonctionnalités graphiques offerts par ZABBIX sont nettement plus riches et plus synthétiques que ceux de Nagios. Pour arriver à un résultat équivalent, Nagios devrait être couplé à un autre outil comme Cacti, Munin ou Centreon.
  • ZABBIX se distingue de Nagios par une interface web riche d’administration, qui permet la configuration de tous les paramètres de supervision (services, hôtes à superviser, etc.). La configuration avec Nagios se fait à la main en éditant directement des fichiers textes.
  • ZABBIX est plus orienté vers la mesure des données de performances. Nagios est davantage orienté vers la mesure des données d’état.

Conclusion

ZABBIX est un puissant outil de monitoring, de conception moderne, facile à paramétrer. Il se pose en véritable concurrent de Nagios. Si vous ne l’avez pas encore essayé, il est peut être temps de le faire, et de profiter d’une nouvelle génération d’outils de supervision.