Qu'est-ce que Zabbix
Zabbix a été créé par Alexei Vladishev et est actuellement activement développé et pris en charge par Zabbix SIA.
Zabbix est une solution de supervision distribuée open source de niveau entreprise.
Zabbix est un logiciel qui surveille de nombreux paramètres d’un réseau ainsi que l’état et l’intégrité des serveurs, des machines virtuelles, des applications, des services, des bases de données, des sites web, du cloud, et bien plus encore. Zabbix utilise un mécanisme de notification flexible qui permet aux utilisateurs de configurer des alertes par e-mail pour pratiquement tout événement. Cela permet de réagir rapidement aux problèmes de serveur. Zabbix offre d’excellentes fonctionnalités de reporting et de visualisation des données basées sur les données stockées. Cela fait de Zabbix un outil idéal pour la planification de capacité.
Zabbix prend en charge à la fois l’interrogation et la réception passive de données. Tous les rapports et statistiques de Zabbix, ainsi que les paramètres de configuration, sont accessibles via une interface web. Une interface web permet d’évaluer l’état de votre réseau et la santé de vos serveurs depuis n’importe quel endroit. Correctement configuré, Zabbix peut jouer un rôle important dans la supervision de l’infrastructure informatique. Cela est tout aussi vrai pour les petites organisations disposant de quelques serveurs que pour les grandes entreprises possédant une multitude de serveurs.
Zabbix est gratuit. Zabbix est écrit et distribué sous la licence AGPL-3.0. Cela signifie que son code source est librement distribué et accessible au grand public.
Le support commercial est disponible et fourni par Zabbix Company et ses partenaires dans le monde entier.
Pour en savoir plus sur les fonctionnalités de Zabbix.
Utilisateurs de Zabbix
De nombreuses organisations de tailles diverses à travers le monde s'appuient sur Zabbix comme plateforme principale de supervision.
Architecture
Zabbix se compose de plusieurs composants logiciels majeurs. Leurs responsabilités sont décrites ci-dessous.
Serveur
Le serveur Zabbix est le composant central auquel les agents signalent les informations de disponibilité et d’intégrité ainsi que les statistiques. Le serveur est le référentiel central dans lequel sont stockées toutes les données de configuration, statistiques et opérationnelles.
Stockage de la base de données
Toutes les informations de configuration ainsi que les données collectées par Zabbix sont stockées dans une base de données.
Interface web
Pour un accès facile à Zabbix depuis n'importe où et depuis n'importe quelle plateforme, une interface web est fournie. L'interface fait partie du serveur Zabbix et s'exécute généralement (mais pas nécessairement) sur la même machine physique que celle sur laquelle le serveur est exécuté.
Proxy
Le proxy Zabbix peut collecter des données de performance et de disponibilité pour le compte du serveur Zabbix. Un proxy est un composant facultatif d’un déploiement Zabbix ; toutefois, il peut être très utile pour répartir la charge d’un seul serveur Zabbix.
Agent
Les agents Zabbix sont déployés sur les cibles de supervision afin de surveiller activement les ressources locales et les applications, puis de transmettre les données collectées au serveur Zabbix. Depuis Zabbix 4.4, deux types d’agents sont disponibles : le Zabbix agent (léger, pris en charge sur de nombreuses plateformes, écrit en C) et le Zabbix agent 2 (très flexible, facilement extensible avec des plugins, écrit en Go).
Flux de données
En outre, il est important de prendre du recul et d’examiner le flux de données global au sein de Zabbix. Afin de créer un élément qui collecte des données, vous devez d’abord créer un hôte. En passant à l’autre extrémité du spectre de Zabbix, vous devez d’abord disposer d’un élément pour créer un déclencheur. Vous devez disposer d’un déclencheur pour créer une action. Ainsi, si vous souhaitez recevoir une alerte indiquant que la charge CPU est trop élevée sur Serveur X, vous devez d’abord créer une entrée d’hôte pour Serveur X, suivie d’un élément pour surveiller son CPU, puis d’un déclencheur qui s’active si la charge CPU est trop élevée, suivi d’une action qui vous envoie un e-mail. Bien que cela puisse sembler représenter beaucoup d’étapes, avec l’utilisation des modèles, ce n’est en réalité pas le cas. Cependant, grâce à cette conception, il est possible de créer une configuration très flexible.
Fonctionnalités
Zabbix est une solution de supervision réseau hautement intégrée, offrant une multitude de fonctionnalités dans un seul package.
- contrôles de disponibilité et de performance
- prise en charge de SNMP (à la fois le trapping et le polling), IPMI, JMX, la supervision VMware
- contrôles personnalisés
- collecte des données souhaitées à des intervalles personnalisés
- effectuée par le serveur/proxy et par les agents
Définitions flexibles des seuils
- vous pouvez définir des seuils de problème très flexibles, appelés déclencheurs, en référençant des valeurs de la base de données backend
Alertes hautement configurables
- l’envoi des notifications peut être personnalisé selon le calendrier d’escalade, le destinataire et le type de média
- les notifications peuvent être rendues explicites et utiles à l’aide de variables de macro
- les actions automatiques incluent des commandes distantes
Création de graphiques en temps réel
- les éléments supervisés sont immédiatement représentés sous forme de graphiques à l’aide de la fonctionnalité de création de graphiques intégrée
- Zabbix peut suivre un parcours simulé de clics de souris sur un site web et vérifier le bon fonctionnement et le temps de réponse
Options de visualisation étendues
- possibilité de créer des graphiques personnalisés pouvant combiner plusieurs éléments dans une vue unique
- cartes réseau
- diaporamas dans une vue d’ensemble de type tableau de bord
- rapports
- vue de haut niveau (métier) des ressources supervisées
Stockage des données historiques
- données stockées dans une base de données
- historique configurable
- procédure de nettoyage intégrée
- ajouter des équipements supervisés en tant qu’hôtes
- les hôtes sont pris en compte pour la supervision une fois dans la base de données
- appliquer des modèles aux équipements supervisés
- regroupement des contrôles dans des modèles
- les modèles peuvent hériter d’autres modèles
- découverte automatique des équipements réseau
- auto-enregistrement des agents
- découverte des systèmes de fichiers, des interfaces réseau et des OID SNMP
- une interface web en PHP
- accessible depuis n’importe où
- navigation intuitive par clic
- journal d’audit
- l’API Zabbix fournit une interface programmable vers Zabbix pour les manipulations de masse, l’intégration de logiciels tiers et d’autres usages.
- authentification sécurisée des utilisateurs
- certains utilisateurs peuvent être limités à certaines vues
Agent complet et facilement extensible
- déployé sur les cibles de supervision
- peut être déployé à la fois sur Linux et Windows
- écrits en C, pour de hautes performances et une faible empreinte mémoire
- facilement portables
Prêt pour les environnements complexes
- la supervision à distance est facilitée par l’utilisation d’un proxy Zabbix
Glossaire
Dans cette section, vous pouvez découvrir la signification de certains termes couramment utilisés dans Zabbix.
- tout dispositif physique ou virtuel, application, service ou toute autre collection logiquement liée de paramètres surveillés.
- un regroupement logique d'hôtes. Les groupes d'hôtes sont utilisés lors de l'attribution des droits d'accès aux hôtes pour différents groupes d'utilisateurs.
- une donnée particulière que vous souhaitez recevoir d'un hôte, une métrique de données.
- une transformation de la valeur de métrique reçue avant son enregistrement dans la base de données.
- une expression logique qui définit un seuil de problème et est utilisée pour « évaluer » les données reçues dans les éléments.
Lorsque les données reçues sont au-dessus du seuil, les déclencheurs passent de l'état « Ok » à l'état « Problem ». Lorsque les données reçues sont en dessous du seuil, les déclencheurs restent dans/reviennent à l'état « Ok ».
- un ensemble d'entités (éléments, déclencheurs, graphiques, règles de découverte de bas niveau, scénarios web) prêt à être appliqué à un ou plusieurs hôtes.
Le rôle des modèles est d'accélérer le déploiement des tâches de supervision sur un hôte ; ils facilitent également l'application de modifications de masse aux tâches de supervision. Les modèles sont liés directement aux hôtes individuels.
- un regroupement logique de modèles. Les groupes de modèles sont utilisés lors de l'attribution des droits d'accès aux modèles pour différents groupes d'utilisateurs.
- une occurrence unique de quelque chose qui mérite attention, comme un déclencheur changeant d'état ou une découverte/autoregistration d'agent en cours.
- un marqueur prédéfini pour l'événement. Il peut être utilisé dans la corrélation d'événements, la granularité des permissions, etc.
- une méthode permettant de corréler les problèmes à leur résolution de manière souple et précise.
Par exemple, vous pouvez définir qu'un problème signalé par un déclencheur peut être résolu par un autre déclencheur, qui peut même utiliser une méthode différente de collecte des données.
- un déclencheur qui est dans l'état « Problem ».
- options de gestion des problèmes fournies par Zabbix, telles que l'ajout d'un commentaire, l'acquittement, le changement de gravité ou la fermeture manuelle.
- un moyen prédéfini de réagir à un événement.
Une action se compose d'opérations (par ex. l'envoi d'une notification) et de conditions (quand l'opération est effectuée)
- un scénario personnalisé pour exécuter des opérations dans le cadre d'une action ; une séquence d'envoi de notifications/d'exécution de commandes distantes.
- un moyen de distribuer des notifications ; canal de diffusion.
- un message concernant un événement, envoyé à un utilisateur via le canal de média choisi.
- une commande prédéfinie qui est automatiquement exécutée sur un hôte surveillé lorsqu'une certaine condition est remplie.
- une ou plusieurs requêtes HTTP pour vérifier la disponibilité d'un site web.
- l'interface web fournie avec Zabbix.
- section personnalisable de l'interface web affichant des résumés et des visualisations d'informations importantes dans des unités visuelles appelées widgets.
- unité visuelle affichant des informations d'un certain type et d'une certaine source (un résumé, une carte, un graphique, l'horloge, etc.), utilisée dans le tableau de bord.
- Zabbix API vous permet d'utiliser le protocole JSON RPC pour créer, mettre à jour et récupérer des objets Zabbix (comme des hôtes, des éléments, des graphiques et autres) ou effectuer toute autre tâche personnalisée.
- un processus central du logiciel Zabbix qui effectue la supervision, interagit avec les proxys et agents Zabbix, calcule les déclencheurs, envoie des notifications ; un référentiel central de données.
- un processus qui peut collecter des données pour le compte de Zabbix server, en prenant une partie de la charge de traitement du serveur.
- un processus déployé sur les cibles de supervision pour surveiller activement les ressources locales et les applications.
- une nouvelle génération de Zabbix agent pour surveiller activement les ressources locales et les applications, permettant l'utilisation de plugins personnalisés pour la supervision.
Comme Zabbix agent 2 partage de nombreuses fonctionnalités avec Zabbix agent, le terme « Zabbix agent » dans la documentation désigne les deux - Zabbix agent et Zabbix agent 2, si le comportement fonctionnel est identique. Zabbix agent 2 n'est spécifiquement nommé que lorsque sa fonctionnalité diffère.
- prise en charge des communications chiffrées entre les composants Zabbix (server, proxy, agent, zabbix_sender et zabbix_get utilities) à l'aide du protocole Transport Layer Security (TLS).
- processus automatisé par lequel un Zabbix agent lui-même est enregistré en tant qu'hôte et la supervision est démarrée.
- découverte automatisée des périphériques réseau.
- découverte automatisée d'entités de bas niveau sur un périphérique particulier (par ex. systèmes de fichiers, interfaces réseau, etc.).
règle de découverte de bas niveau
- ensemble de définitions pour la découverte automatisée d'entités de bas niveau sur un périphérique.
- une métrique avec certains paramètres comme variables, prête pour la découverte de bas niveau. Après la découverte de bas niveau, les variables sont automatiquement remplacées par les paramètres réellement découverts et la métrique commence automatiquement à collecter des données.
- un déclencheur avec certains paramètres comme variables, prêt pour la découverte de bas niveau. Après la découverte de bas niveau, les variables sont automatiquement remplacées par les paramètres réellement découverts et le déclencheur commence automatiquement à évaluer les données.
Des prototypes de certaines autres entités Zabbix sont également utilisés dans la découverte de bas niveau
- prototypes de graphiques, prototypes d'hôtes, prototypes de groupes d'hôtes.