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, 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 n’importe quel événement. Cela permet de réagir rapidement aux problèmes de serveur. Zabbix offre d’excellentes fonctionnalités de génération de rapports 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 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 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.
Commercial support 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.
- vérifications de disponibilité et de performance
- prise en charge de SNMP (à la fois les traps et l'interrogation), IPMI, JMX, supervision VMware
- vérifications personnalisées
- 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 la fonctionnalité 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 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 nettoyage intégrée
- ajouter des dispositifs 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 dispositifs supervisés
- regroupement des vérifications dans des modèles
- les modèles peuvent hériter d'autres modèles
- découverte automatique des dispositifs 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ù
- navigation intuitive par clics
- 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 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 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 qui 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 l'état 'Ok' ou y reviennent.
- 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.
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 en 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 de 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 une action ; une séquence d'envoi de notifications/d'exécution de commandes distantes.
- un espace réservé de variable qui se résout en une valeur spécifique selon le contexte.
- un moyen de distribuer des notifications ; canal de distribution.
- 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 proxies Zabbix et les agents, calcule les déclencheurs, envoie des notifications ; un dépôt central de données.
- un processus qui peut collecter des données pour le compte du serveur Zabbix, en déchargeant le serveur d'une partie du traitement.
- un processus déployé sur les cibles de supervision afin de surveiller activement les ressources locales et les applications.
- une nouvelle génération d'agent Zabbix pour surveiller activement les ressources locales et les applications, permettant d'utiliser des plugins personnalisés pour la supervision.
Comme l'agent Zabbix 2 partage une grande partie de ses fonctionnalités avec l'agent Zabbix, le terme "agent Zabbix" dans la documentation désigne les deux - agent Zabbix et agent Zabbix 2 - si le comportement fonctionnel est identique. L'agent Zabbix 2 n'est nommé spécifiquement que lorsque sa fonctionnalité diffère.
- 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).
- processus automatisé par lequel un agent Zabbix est lui-même enregistré comme hôte et la supervision est démarrée.
- découverte automatisée des équipements réseau.
- découverte automatisée d'entités de bas niveau sur un dispositif 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 dispositif.
- 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.