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 supervise de nombreux paramètres d’un réseau, ainsi que l’état et l’intégrité des serveurs, machines virtuelles, applications, services, bases de données, sites web, environnements 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 des serveurs. Zabbix offre d’excellentes fonctionnalités de création de rapports et de visualisation des données basées sur les données stockées. Cela fait de Zabbix une solution idéale pour la planification des capacités.
Zabbix prend en charge à la fois l’interrogation et les traps. Tous les rapports et statistiques de Zabbix, ainsi que les paramètres de configuration, sont accessibles via une interface web. Une interface web garantit que l’état de votre réseau et la santé de vos serveurs peuvent être évalués 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 disponible gratuitement. Zabbix est écrit et distribué sous licence AGPL-3.0. Cela signifie que son code source est librement distribué et accessible au grand public.
Un support commercial est disponible et fourni par Zabbix Company et ses partenaires dans le monde entier.
En savoir plus sur les fonctionnalités de Zabbix.
Utilisateurs de Zabbix
De nombreuses organisations de tailles différentes dans le monde entier s'appuient sur Zabbix comme plateforme de supervision principale.
Architecture
Zabbix se compose de plusieurs composants logiciels principaux. Leurs responsabilités sont décrites ci-dessous.
Serveur
Zabbix server est le composant central auquel les agent signalent les informations et statistiques de disponibilité et d'intégrité. 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 s'exécute le serveur.
Proxy
Zabbix proxy peut collecter des données de performance et de disponibilité au nom du serveur Zabbix. Un proxy est une composante facultative du 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 et applications locales et 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
De plus, 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. À l'autre extrémité du spectre Zabbix, vous devez d'abord disposer d'un élément pour créer un déclencheur. Vous devez avoir un déclencheur pour créer une action. Ainsi, si vous souhaitez recevoir une alerte indiquant que la charge CPU de Server X est trop élevée, vous devez d'abord créer une entrée d'hôte pour Server X, puis un élément pour surveiller son CPU, ensuite un déclencheur qui s'active si le CPU est trop élevé, puis une action qui vous envoie un e-mail. Même si cela peut sembler faire beaucoup d'étapes, avec l'utilisation des modèles, ce n'est vraiment 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 multiplicité de fonctionnalités dans un seul package.
- contrôles de disponibilité et de performance
- prise en charge de SNMP (à la fois trapping et polling), IPMI, JMX, 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 de seuils flexibles
- vous pouvez définir des seuils de problème très flexibles, appelés déclencheurs, en vous référant à des valeurs provenant de la base de données backend
Alerting hautement configurable
- l'envoi des notifications peut être personnalisé selon le calendrier d'escalade, le destinataire, le type de média
- les notifications peuvent être rendues pertinentes et utiles à l'aide de variables macro
- les actions automatiques incluent des commandes à distance
Génération de graphiques en temps réel
- les éléments supervisés sont immédiatement représentés sous forme de graphiques grâce à la fonctionnalité de graphes intégrée
Fonctionnalités de supervision web
- Zabbix peut suivre un parcours de clics de souris simulés sur un site web et vérifier le fonctionnement ainsi que le temps de réponse
Vastes options de visualisation
- possibilité de créer des graphiques personnalisés pouvant combiner plusieurs éléments dans une seule vue
- 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 maintenance intégrée
- ajouter des périphériques supervisés en tant qu'hôtes
- les hôtes sont pris en charge pour la supervision une fois dans la base de données
- appliquer des modèles aux périphériques supervisés
- regroupement des contrôles dans des modèles
- les modèles peuvent hériter d'autres modèles
- découverte automatique des périphériques réseau
- auto-enregistrement de l'agent
- découverte des systèmes de fichiers, des interfaces réseau et des OID SNMP
- une interface web basée sur PHP
- accessible depuis n'importe où
- vous pouvez naviguer en cliquant
- journal d'audit
- l'API Zabbix fournit une interface programmable vers Zabbix pour les manipulations en 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 des performances élevées et une faible empreinte mémoire
- facilement portables
Prêt pour les environnements complexes
- la supervision à distance est facilitée grâce à 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 périphérique physique ou virtuel, toute application, tout service ou tout autre ensemble logiquement associé 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 qui est utilisée pour « évaluer » les données reçues dans les éléments.
Lorsque les données reçues dépassent le seuil, les déclencheurs passent de l’état OK à l’état Problème. Lorsque les données reçues sont inférieures au seuil, les déclencheurs restent ou repassent à 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êtes à être appliquées à un ou plusieurs hôtes.
Les modèles ont pour objectif d’accélérer le déploiement des tâches de supervision sur un hôte et de faciliter l’application de modifications en masse aux tâches de supervision. Les modèles sont directement liés 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 d’un événement nécessitant une attention particulière, comme un changement d’état d’un déclencheur ou l’exécution d’une découverte ou de l’auto-enregistrement d’un agent.
- un marqueur prédéfini pour l’événement. Elle peut être utilisée pour la corrélation d’événements, la granularité des permissions, etc.
- une méthode permettant de corréler les problèmes avec leur résolution de manière flexible 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 se trouve dans l’état « Problème ».
- les options de gestion des problèmes fournies par Zabbix, telles que l’ajout d’un commentaire, la confirmation, la modification de la gravité ou la fermeture manuelle.
- un moyen prédéfini de réagir à un événement.
Une action se compose d’opérations (par exemple, l’envoi d’une notification) et de conditions (quand l’opération est exécutée).
- un scénario personnalisé d’exécution d’opérations dans le cadre d’une action ; une séquence d’envoi de notifications ou d’exécution de commandes à distance.
- un espace réservé variable qui est résolu en une valeur spécifique selon le contexte.
- un moyen de transmettre des notifications ; un canal de transmission.
- un message concernant un événement envoyé à un utilisateur via le canal média choisi.
- une commande prédéfinie qui est exécutée automatiquement sur un hôte surveillé lorsqu’une condition donnée est remplie.
- une ou plusieurs requêtes HTTP permettant de vérifier la disponibilité d’un site web.
- l’interface web fournie avec Zabbix.
- une section personnalisable de l’interface web affichant des synthèses et des visualisations d’informations importantes dans des unités visuelles appelées widgets.
- une unité visuelle affichant des informations d’un certain type et provenant d’une certaine source (une synthèse, une carte, un graphique, l’horloge, etc.), utilisée dans le tableau de bord.
- l’API Zabbix vous permet d’utiliser le protocole JSON RPC pour créer, mettre à jour et récupérer des objets Zabbix (tels que des hôtes, des éléments, des graphiques et autres), ou d’effectuer toute autre tâche personnalisée.
- un processus central du logiciel Zabbix qui effectue la supervision, interagit avec les proxy et les agents Zabbix, calcule les déclencheurs, envoie des notifications et constitue un référentiel central des données.
- un processus qui peut collecter des données pour le compte du serveur Zabbix, réduisant ainsi la charge de traitement du serveur.
- un processus déployé sur les cibles de supervision afin de surveiller activement les ressources et les applications locales.
- une nouvelle génération d’agent Zabbix destinée à surveiller activement les ressources et les applications locales, permettant l’utilisation de plugins personnalisés pour la supervision.
Comme l’agent Zabbix 2 partage de nombreuses fonctionnalités avec l’agent Zabbix, le terme « agent Zabbix » utilisé dans la documentation désigne à la fois l’agent Zabbix et l’agent Zabbix 2 lorsque leur comportement fonctionnel est identique. L’agent Zabbix 2 est nommé spécifiquement uniquement lorsque ses fonctionnalités diffèrent.
- la prise en charge des communications chiffrées entre les composants Zabbix (serveur, proxy, agent, utilitaires zabbix_sender et zabbix_get) à l’aide du protocole Transport Layer Security (TLS).
auto-enregistrement de l’agent
- un processus automatisé par lequel un agent Zabbix s’enregistre lui-même en tant qu’hôte et commence la supervision.
- la découverte automatisée des périphériques réseau.
- la découverte automatisée d’entités de bas niveau sur un périphérique donné (par exemple, des systèmes de fichiers, des interfaces réseau, etc.).
règle de découverte de bas niveau
- un ensemble de définitions pour la découverte automatisée d’entités de bas niveau sur un périphérique.
- une métrique dont certains paramètres sont définis 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éels découverts et la métrique commence automatiquement à collecter des données.
- un déclencheur dont certains paramètres sont définis 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éels découverts et le déclencheur commence automatiquement à évaluer les données.
Des prototypes d’autres entités Zabbix sont également utilisés dans la découverte de bas niveau : prototypes de graphiques, prototypes d’hôtes et prototypes de groupes d’hôtes.