Qu'est-ce que Zabbix
Zabbix a été créé par Alexei Vladishev et est actuellement développé et pris en charge activement par Zabbix SIA.
Zabbix est une solution de supervision distribuée open source de classe 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 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 une réaction rapide 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 des capacités.
Zabbix prend en charge à la fois le polling et le trapping. Tous les rapports et statistiques 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 avec quelques serveurs que pour les grandes entreprises avec 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 disponible pour le grand public.
Le 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.
- vérifications de disponibilité et de performance
- prise en charge de SNMP (à la fois en trap et en polling), 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 de seuils flexibles
- vous pouvez définir des seuils de problème très flexibles, appelés déclencheurs, en référence à des valeurs provenant de la base de données du 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 génération de graphiques intégrée
Fonctionnalités de supervision web
- Zabbix peut suivre un chemin de clics de souris simulés sur un site web et vérifier la fonctionnalité 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
- ajoutez 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
- appliquez des modèles aux périphériques supervisés
- regroupement des vérifications dans des modèles
- les modèles peuvent hériter d'autres modèles
- découverte automatique des périphériques réseau
- enregistrement automatique 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 de partout
- 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 facilitée grâce à l'utilisation d'un proxy Zabbix
Glossaire
Dans cette section, vous pouvez apprendre la signification de certains termes couramment utilisés dans Zabbix.
- tout périphérique 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 la 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 supérieures au seuil, les déclencheurs passent de Ok à l'état Problem. Lorsque les données reçues sont inférieures au seuil, les déclencheurs restent/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 surveillance sur un hôte; ils facilitent également l'application de modifications en masse aux tâches de surveillance. Les modèles sont liés directement à des 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 / une auto-enregistrement d'agent ayant lieu.
- 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 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 de collecte de données différente.
- un déclencheur qui est dans l'état "Problem".
- des options de gestion des problèmes fournies par Zabbix, telles que l'ajout d'un commentaire, l'acquittement, 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é pour exécuter des opérations au sein d'une action; une séquence d'envoi de notifications / d'exécution de commandes à distance.
- un espace réservé de variable qui se résout en une valeur spécifique selon le contexte.
- un moyen de livraison des notifications; canal de livraison.
- 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é sous certaines conditions.
- 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 provenant d'une certaine source (un résumé, 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 (comme des hôtes, des éléments, des graphiques et d'autres) ou effectuer toute autre tâche personnalisée.
- un processus central du logiciel Zabbix qui effectue la surveillance, interagit avec les proxies et les 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 au nom du serveur Zabbix, en prenant une partie de la charge de traitement du serveur.
- un processus déployé sur les cibles surveillées pour surveiller activement les ressources et applications locales.
- une nouvelle génération d'agent Zabbix pour surveiller activement les ressources et applications locales, permettant d'utiliser des plugins personnalisés pour la surveillance.
Comme Zabbix agent 2 partage une grande partie de ses 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 nommé explicitement que lorsque ses fonctionnalités diffèrent.
- 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
- processus automatisé par lequel un agent Zabbix est lui-même enregistré en tant qu'hôte et commence à surveiller.
- 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 exemple, 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 sous forme de 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 avec certains paramètres sous forme de 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.
Les 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.