La nouvelle version est livrée avec une solution native de haute disponibilité pour le serveur Zabbix.
La solution consiste en plusieurs instances ou nœuds zabbix_server, où un seul nœud peut être actif (travailler) à la fois, tandis que les autres nœuds sont en attente, prêts à prendre le relais au cas où le nœud actuel serait arrêté ou en échec.
Voir également : Cluster haute disponibilité.
Plusieurs mises à jour ont été apportées à la surveillance des services. La surveillance des services offre une vue de haut niveau de l'infrastructure surveillée dans Zabbix.
Il y a maintenant un nouveau menu Services dans Zabbix, avec quatre sections :
D'autres améliorations majeures apportées à la fonctionnalité des services sont décrites ci-dessous.
La disponibilité des services dans les versions précédentes de Zabbix dépendait des déclencheurs et de leurs états. Dans la nouvelle version, cela est remplacé par un mappage basé sur des tags aux problèmes du service respectif.
La configuration et la visualisation des services sont maintenant fusionnées dans Surveillance → Services, et la section distincte pour la configuration des services n'existe plus dans Configuration → Services.
Dans la configuration du service, les dépendances matérielles et logicielles n'existent plus. Au lieu de cela, un service peut avoir plusieurs services parents.
Services menu
There is now a new Services menu in Zabbix, with four menu sections:
Il existe de nouvelles règles de calcul de statut et des règles supplémentaires flexibles pour calculer le statut d'un service parent en fonction des statuts et du poids des enfants directs. Il est désormais également possible de définir des règles flexibles pour propager un état de service aux services parents.
Des autorisations flexibles pour les services ont été mises en œuvre au niveau rôle d'utilisateur. L'accès en lecture-écriture ou en lecture seule peut être accordé à tous, à aucun ou à certains services (basés sur le nom ou les tags).
Une nouvelle colonne Root cause répertorie les problèmes sous-jacents qui affectent directement ou indirectement l'état du service.
Si vous cliquez sur le nom du problème, vous pouvez voir plus de détails à ce sujet dans Surveillance → Problèmes.
Il est désormais possible de recevoir des alertes automatisées sur les changements d'état des services, similaires aux alertes sur les changements d'état des déclencheurs.
Une nouvelle fonctionnalité action de service a été ajoutée, similaire aux autres actions dans Zabbix. Les actions de service peuvent inclure des étapes pour les opérations de problème, de récupération et de mise à jour liées aux services. Il est possible de configurer deux types d'actions : l'envoi d'un message aux destinataires spécifiés et l'exécution d'une commande à distance sur le serveur Zabbix. De même que pour déclencher des actions, les actions de service prennent en charge les scénarios d'escalade de problème.
De nouveaux modèles de message Service, Récupération du service et Mise à jour du service ont été ajoutés aux types de media et doivent être définis pour permettre l'envoi correct des notifications pour les actions de service .
Les services peuvent désormais être clonés. Le bouton Cloner a été ajouté au formulaire de configuration d'un service. Lorsqu'un service est cloné, ses liens parents sont conservés, tandis que les liens enfants ne le sont pas.
Les clés primaires sont désormais utilisées pour toutes les tables, y compris les tables d'historique, dans les nouvelles installations.
Il n'y a pas de mise à niveau automatique vers les clés primaires pour les installations existantes. Les instructions pour une mise à niveau manuelle des tables d'historique vers les clés primaires pour les installations préexistantes sont disponibles pour MySQL/MariaDB, PostgreSQL, TimescaleDB v1 et v2, et Oracle.
Plusieurs widgets de tableau de bord ont été ajoutés dans la nouvelle version.
Un widget Top hosts a été ajouté aux widgets du tableau de bord. Ce widget est conçu pour remplacer le widget Aperçu des données qui est désormais obsolète.
Le widget Top hosts permet de créer des tableaux personnalisés pour la vue d'ensemble des données, ce qui est utile pour les rapports de type Top N et les rapports et les rapports sous forme de barre de progression utiles pour la planification des capacités.
Pour plus d'informations, consultez le widget Top hosts.
Un widget Valeur de l'élément a été ajouté aux widgets du tableau de bord.
Ce type de widget est utile pour mettre en évidence les valeurs d'éléments uniques. Différents styles visuels d'affichage sont possibles :
Pour plus d'informations, consultez Widget de valeur d'élément.
##### Nouvelles macros
De nouvelles macros sont désormais prises en charge pour le débogage des expressions de déclencheur et les actions internes.
Les macros de débogage d'expression simplifient le processus de débogage des expressions de déclenchement :
Les macros pour les actions internes contiennent la raison pour laquelle un élément, une règle LLD ou un déclencheur n'est plus pris en charge :
Pour plus de détails, voir Macros prises en charge.
Une nouvelle syntaxe d'expression pour les déclencheurs et les éléments calculés a été introduite dans Zabbix 5.4. Cependant, l'ancienne syntaxe restait encore utilisée dans les macros simples. Dans le nouvelle version, la fonctionnalité des macros simples a été transférée aux macros d'expression et la nouvelle syntaxe d'expression est utilisée. Voir le comparaison ci-dessous pour les détails du changement :
Dans Zabbix 6.0 | Avant Zabbix 6.0 |
---|---|
{?avg(/host/key,1h)} Exemple de macro d'expression dans la nouvelle version. |
{host:key.avg(1h)} Exemple de macro simple dans les versions précédentes. |
Les macros simples existantes seront converties en macros d'expression lors de la mise à niveau. La portée des macros d'expression couvre la même portée que celle offerte par les macros simples. Ainsi, les macros d'expression peuvent être utilisées dans :
La prise en charge des macros positionnelles dans le nom de l'élément ($1, $2...$9), obsolète depuis Zabbix 4.0, a été entièrement supprimée.
La prise en charge des macros utilisateur dans les noms d'éléments (y compris les noms de règles de découverte), obsolète depuis Zabbix 4.0, a été entièrement supprimée.
### Traitement en masse des métriques Prometheus
Le traitement en masse des éléments dépendants a été introduit dans la file d'attente de prétraitement pour améliorer les performances de récupération des métriques Prometheus.
Voir Vérifications Prometheus pour plus de détails.
Une étape de motif Prometheus dans le prétraitement peut produire un résultat où plusieurs lignes correspondent. Pour gérer cette situation, un nouveau paramètre traitement de résultat a été ajouté à l'étape de prétraitement du motif Prometheus qui permet d'agréger les données de plusieurs lignes potentiellement correspondantes en introduisant des fonctions telles que sum, min, max, avg, et count.
Il est possible de collecter des métriques Prometheus dans Zabbix depuis un certain temps déjà, mais certaines métriques sont difficiles à utiliser. Plus précisément, les métriques de type histogramme peuvent être présentées dans Zabbix sous la forme de plusieurs éléments avec les mêmes noms de clés, mais des paramètres différents. Cependant, même si ces éléments sont logiquement liés et représentent les mêmes données, il a été difficile d'analyser les données collectées sans fonctions spécialisées. Pour combler cette lacune de fonctionnalité dans la nouvelle version, les fonctions rate() et histogram_quantile(), produisant le même résultat que leurs homologues PromQL, ont été ajoutées.
D'autres nouveaux ajouts pour compléter cette fonctionnalité sont les fonctions bucket_rate_foreach() et bucket_percentile(). Pour plus d'informations, voir :
Il est maintenant possible de vérifier l'augmentation ou la diminution monotone des valeurs de l'élément en utilisant les nouvelles fonctions d'historique monoinc() ou monodec().
Une nouvelle fonction d'historique changecount() a été ajoutée permettant de compter le nombre de changements entre des valeurs adjacentes. La fonction prend en charge trois modes différents pour le comptage de tous les changements, des diminutions uniquement ou des augmentations uniquement. Par exemple, il peut être utilisé pour suivre l'évolution du nombre d'utilisateurs ou de la diminution de la disponibilité du système.
De nouvelles fonctions ont été ajoutées pour simplifier le comptage des hôtes, des éléments ou de valeurs spécifiques, renvoyés par les fonctions foreach.
Fonctions d'agrégation :
Fonction Foreach :
Zabbix 5.2 a introduit de nouvelles fonctions de tendance utiles pour la surveillance de référence. Cependant, ils nécessitent toujours de définir des seuils relatifs (par exemple, vérifier que le trafic Web en septembre 2021 est moins de 2x supérieur à celui de septembre 2020). Il existe des cas d'utilisation où de tels seuils sont difficiles à définir. Par exemple, le trafic Web d'un site Web nouveau très populaire peut croître de manière organique plusieurs fois au cours d'une année, mais le taux de croissance est inconnu. Pourtant, un pic de trafic soudain dû à une attaque DDOS doit générer une alerte quelle que soit la croissance organique du trafic.
Les algorithmes de détection d'anomalies font exactement cela - trouver des données qui ne semblent pas normales (valeurs aberrantes) dans un contexte d'autres valeurs.
La nouvelle fonction d'historique trendstl() a été ajoutée et utilise la méthode de "décomposition" pour calculer le taux d'anomalies. Il divise une seule séquence de série chronologique en trois autres séquences :
La détection d'anomalies fonctionne avec la séquence restante et vérifie s'il y a des valeurs qui sont trop éloignées de la majorité des valeurs restantes. "Loin" signifie que la valeur absolue de la séquence restante est N fois supérieure à l'écart type ou moyen.
La fonction de chaîne concat permet désormais de concaténer plus de deux paramètres. Il peut être utilisé pour combiner des chaînes et des valeurs dans différentes combinaisons ou ajouter deux ou plusieurs valeurs les unes aux autres. Les types de données numériques sont également pris en charge.
Le formulaire de configuration de l'article suggère désormais automatiquement le type d'information, si la clé d'élément sélectionnée renvoie uniquement les données du type spécifique (par exemple, l'élément log[] requiert Type d'informations : Log). Le paramètre Type d'information est maintenant situé sous le paramètre Clé dans l'onglet principale Eléméent et est dupliqué dans l'onglet Prétraitement si au moins une étape de prétraitement est spécifiée. Si Zabbix détecte une incompatibilité possible entre le type d'information et la clé sélectionnés, une icône d'avertissement s'affichera à côté du champ Type d'information.
Plusieurs nouveaux éléments ont été ajoutés à Zabbix agent/agent 2 :
En outre:
mode
(crc32, md5, sha256)mode
(bytes ou lines)Pour plus de détails, voir les éléments agent.
Les éléments calculés prennent désormais en charge non seulement les informations numériques, mais également les informations de type texte, journal et caractère.
Les paramètres utilisateur peuvent maintenant être rechargés à partir du fichier de configuration sans redémarrage de l'agent. Pour ce faire, exécutez la nouvelle option de contrôle d'exécutionuserparameter_reload
, pas exemple :
ou
UserParameter est la seule option de configuration d'agent qui sera rechargé avec cette commande.
Auparavant, les options de contrôle d'exécution du serveur Zabbix et du proxy Zabbix n'étaient pas prises en charge sur les systèmes basés sur BSD. La modification de la méthode de transfert des commandes d'exécution a permis de supprimer cette limitation. Désormais, la majorité des commandes sont prises en charge sur FreeBSD, NetBSD, OpenBSD et d'autres systèmes d'exploitation de la famille **BSD. Pour la liste exacte, voir Contrôles d'exécution* pour le serveur ou le proxy Zabbix.
### Plug-ins de l'agent Zabbix 2
Auparavant, les plugins ne pouvaient être compilés que dans l'agent Zabbix 2, ce qui nécessitait de recompiler l'agent chaque fois que vous deviez modifier l'ensemble des plugins disponibles. Maintenant, avec l'ajout du chargeur de plugin externe, les plugins n'ont pas besoin d'être intégrés directement dans l'agent 2 et peuvent être ajoutés en tant que modules complémentaires externes séparés (plugins chargeables), rendant ainsi le processus de création de plugins supplémentaires pour rassembler de nouveaux surveiller les métriques plus facilement.
L'introduction de plugins chargeables a entraîné les changements de paramètres de configuration suivants : - Le paramètre Plugins.<PluginName>.Path a été déplacé vers Plugins.<PluginName>.System.Path. - Le paramètre Plugins.<PluginName>.Capacity, bien que toujours pris en charge, est obsolète, veuillez utiliser Plugins.<PluginName>.System.Capacity à la place.
Des exigences de complexité de mot de passe personnalisées peuvent désormais être fournies pour la méthode d'authentification interne de Zabbix. Pour empêcher les utilisateurs de Zabbix de définir des mots de passe faibles, il est possible d'appliquer les restrictions suivantes :
Pour créer l'expérience utilisateur optimale et assurer la meilleure performance de Zabbix dans divers environnements de production, le support de certaines anciennes versions de bases de données a été supprimé. Cela s'applique principalement aux versions de base de données qui approchent de leur fin de vie et aux versions avec des problèmes non résolus qui peuvent interférer avec les performances normales.
À partir de Zabbix 6.0, les base de données suivantes sont officiellement prises en charge :
Par défaut, le serveur et le proxy Zabbix ne démarreront pas si une version no supportée de base de données est détectée. Il est maintenant possible, mais pas recommandé, de désactiver la vérification de la version de la base de données en modifiant le paramètre de configuration AllowUnsupportedDBVersions pour le serveur ou le proxy.
L'encodage utf8mb4 avec le classement utf8mb4_bin est désormais pris en charge pour les installations Zabbix avec la base de données MySQL/MariaDB.
Auparavant, seul l'encodage utf8 était pris en charge, ce qui, avec MySQL, signifie l'encodage utf8mb3 et ne prend donc en charge qu'un sous-ensemble de caractères UTF-8 appropriés. Dans la nouvelle version, la prise en charge d'utf8mb4 a été ajoutée avec la prise en charge du jeu de caractères full UTF-8. Les anciennes installations utilisant utf8mb3 sont conservées intactes et peuvent continuer à utiliser cet encodage.
Voir également les instructions sur l'exécution de la conversion utf8mb4 après la mise à niveau vers la version 6.0.
Les utilitaires Zabbix get et Zabbix sender prennent désormais en charge un paramètre de délai d'expiration-t <secondes>
ou --timeout <secondes>
. La plage valide est :
La passerelle SNMP peut désormais fournir des informations sur les déclencheurs dans un état problématique et révéler des informations sur l'hôte dans les détails du déclencheur.
De plus, il est désormais possible de limiter le taux de traps SNMP envoyés par la passerelle SNMP.
La liste des OID pris en charge a été étendue avec un nouvel OID .10 pour une liste délimitée par des virgules de noms d'hôte de déclencheur.
De nouveaux paramètres ont été ajoutés au fichier de configuration de la passerelle SNMP : - ProblemBaseOID - OID de la table de déclenchement du problème ; - ProblemMinSeverity - sévérité minimale, les déclencheurs ayant une sévérité inférieure ne seront pas inclus ; - ProblemHideAck - si spécifié, seuls les déclencheurs avec des problèmes non acquittés seront inclus ; - ProblemTagFilter - si spécifié, seuls les déclencheurs avec le nom de tag spécifié seront inclus ; - TrapTimer - s'il est défini, Zabbix n'enverra pas plus d'un trap de la plus haute sévérité dans le laps de temps donné.
Pour plus de détails, voir Passerelle SNMP Zabbix.
### Surveillance Web
La possibilité de gérer le contenu compressé a été ajoutée à la surveillance Web Zabbix . Tous les formats d'encodage pris en charge par libcurl sont pris en charge.
Le langage de requête de prétraitement Prometheus prend désormais en charge deux opérateurs de correspondance d'étiquettes supplémentaires :
Les méthodes HTTP PATCH, HEAD, OPTIONS, TRACE, CONNECT ont été ajoutées au moteur JavaScript. De plus, le moteur permet désormais d'envoyer des requêtes de méthode HTTP personnalisées avec la nouvelle méthode JS HttpRequest.customRequest.
Voir aussi : Objets JavaScript supplémentaires.
Le journal d'audit contient désormais des enregistrements sur toutes les modifications de configuration pour tous les objets Zabbix, y compris les modifications survenues à la suite de l'exécution d'une règle LLD, d'une action de découverte de réseau, d'une action d'enregistrement automatique , ou d'une exécution de script. Auparavant, les changements de configuration initié à partir du serveur Zabbix, par exemple, à la suite de l'exécution d'une règle de découverte, n'étaient été enregistrées. Désormais, ces modifications d'objets seront stockés sous forme d'enregistrements d'audit attribués au l'utilisateur System.
Une fonctionnalité de filtrage des enregistrements par l'opération d'interface qui causé ces entrées a été ajouté. Si plusieurs enregistrements de journal ont été créés à la suite d'une seule opération, par exemple, lier/dissocier un modèle, ces enregistrements auront le même identifiant Recordset.
##### Paramètres d'audit
Une nouvelle section Journal d'audit a été ajoutée au menu Administration→Général permettant d'activer ou de désactiver la journalisation d'audit. Les paramètres de nettoyage pour l'audit, qui se trouvaient auparavant dans la section Nettoyage, ont également été déplacés vers la nouvelle section Journal d'audit.
La prise en charge de PCRE2 a été ajoutée et les packages d'installation Zabbix pour RHEL 7 et versions ultérieures, SLES (toutes les versions), Debian 9 et versions ultérieures, Ubuntu 16.04 et versions ultérieures ont été mis à jour pour utiliser PCRE2. PCRE est toujours pris en charge, mais Zabbix ne peut être compilé qu'avec l'une des bibliothèques PCRE ou PCRE2, les deux ne peuvent pas être utilisées en même temps.
Le traitement des vérifications ODBC a été déplacé des processus d'interrogation réguliers vers des processus serveur/proxy séparés ODBC pollers. Cette modification permet de limiter le nombre de connexions à la base de données créées par les processus d'interrogation. Auparavant, les vérifications ODBC étaient effectuées par des pollers réguliers, qui fonctionnent également avec les éléments de l'agent Zabbix, les vérifications SSH, etc.
Un nouveau paramètre de configuration StartODBCPollers a été ajouté aux fichiers de configuration du serveur et du proxy Zabbix.
Vous pouvez utiliser l'élément interne zabbix[process,<type>] pour surveiller la charge des pollers ODBC.
Une nouvelle intégration est disponible permettant d'utiliser le type de média webhook pour créer des issues Github à partir des notifications Zabbix.
De nouveaux modèles officiels sont disponibles pour le monitoring :
##### Kubernetes
Pour activer la surveillance Kubernetes, vous devez utiliser le nouvel outil Zabbix Helm Chart, qui installe le proxy Zabbix et les agents Zabbix dans le cluster Kubernetes.
Pour en savoir plus sur la configuration des modèles, consultez le fonctionnement des modèles HTTP.
##### Mikrotik
Vous pouvez obtenir ces modèles :
templates
de la dernière version téléchargée de Zabbix. Ensuite, dans Configuration → Modèles, vous pouvez les importez manuellement dans Zabbix.Pour rendre la liaison des modèle plus visible, il est maintenant placé dans le premier onglet des formulaires de configuration de l'hôte, du prototype d'hôte et du modèle et des formulaires de mise à jour en masse de l'hôte/du modèle.
Par conséquent, l'onglet distinct pour la liaison des modèles a été supprimé de tous les formulaires respectifs.
Dans un développement connexe, dans la configuration du prototype d'hôte, les champs de sélection du groupe d'hôtes/du prototype de groupe d'hôtes ont également été déplacés d'un onglet séparé vers le premier onglet.
Les commandes d'exécution du serveur et du proxy Zabbix sont désormais envoyées via socket au lieu de signaux Unix. Cette modification a permis d'améliorer l'expérience utilisateur en travaillant avec les options de contrôle d'exécution : - Les résultats de l'exécution de la commande sont maintenant affichés sur la console. - Il est possible d'envoyer des paramètres d'entrée plus longs, tels que le nom du nœud HA au lieu du numéro de nœud.
Un nouveau widget de géocarte pour les tableaux de bord a été introduit, offrant un moyen d'afficher les hôtes sur des cartes géographiques. Pour plus d'informations, consultez le widget tableau de bord Géocarte et les cartes géographiques.
Un sous-filtre a été ajouté dans la section Dernières données. Le sous-filtre est utile pour un accès rapide en un clic à des groupes d'éléments connexes.
Le sous-filtre affiche des liens cliquables permettant de filtrer les éléments en fonction d'une entité commune - l'hôte, le nom de tag ou le valeur de tag. Dès que l'on clique sur l'entité, les éléments sont immédiatement filtrés.
Pour plus de détails, consultez la section dernières données.
La page graphique dans Surveillance → Hôtes → Graphiques a vu plusieurs améliorations de convivialité :
Pour plus de détails, consultez la page graphiques.
Il est maintenant également possible de créer de nouveaux hôtes à partir de Surveillance → Hôtes.
Le bouton Créer un hôte est disponible pour les utilisateurs Admin et Super Admin.
Le formulaire de création et d'édition d'hôte est maintenant ouvert dans une fenêtre modale (popup), dans Configuration → Hôtes, Surveillance → Hôtes et dans n'importe quelle page, où il y a un menu hôte ou un autre lien direct vers la configuration d'hôte.
Les liens directs vers la page d'édition de l'hôte fonctionnent toujours et ouvrent la page de modification de l'hôte en pleine page.
Un nouveau menu contextuel pour les éléments a été introduit dans Dernières données permettant d'accéder aux configuration des éléments et graphiques disponibles :
Inversement, un nouveau menu contextuel a été introduit dans la liste d'éléments dans le menu de configuration permettant d'accéder aux dernières données de l'élément et à d'autres options utiles :
Ce menu remplace l'option de l'assistant dans les versions précédentes. Un menu similaire a également été introduit pour les éléments de modèle et les prototypes d'élément.
Lors de la configuration des opérations d'action, il est désormais possible d'annuler les notifications concernant les escalades annulées en décochant la case de l'option correspondante.
Plusieurs améliorations ont été apportées à la section Dernières données :
La section Vue d'ensemble du menu Surveillance a été complètement supprimée. La même fonctionnalité est toujours accessible en utilisant les widgets de tableau de bord Vue d'ensemble des données et Vue d'ensemble des déclencheurs
Afin de mettre en œuvre les modifications apportées à la fonctionnalité du journal d'audit, la structure de la base de données existante a dû être retravaillée. Lors de la mise à jour, les tables auditlog
et auditlog_details
de la base de données seront remplacées par la nouvelle table auditlog
avec un format différent. Les enregistrements du journal d'audit existants seront supprimés.
Le server et le proxy Zabbix vérifieront désormais la version de la base de données avant le lancement et ne démarreront pas si la version est hors de la plage prise en charge. Pour plus de détails, voir Base de données.
Zabix prend désormais en charge PCRE et PCRE2. Les packages Zabbix pour RHEL 7 et plus récents, SLES (toutes les versions), Debian 9 et plus récents, Ubuntu 16.04 et plus récents ont été mis à jour pour compiler avec PCRE2 au lieu de PCRE. Lors de la compilation à partir des sources, les utilisateurs peuvent choisir de spécifier l'indicateur ''--with-libpcre'' ou ''--with-libpcre2''. Si vous mettez à jour une installation existante, la modification de PCRE en PCRE2 peut entraîner un comportement différent de certaines expressions régulières - voir Problèmes connus pour plus de détails.
Chaque plugin Zabbix agent 2 possède maintenant un fichier de configuration séparé. Par défaut, ces les fichiers sont situés dans le répertoire ./zabbix_agent2.d/plugins.d/
. Le chemin est spécifié dans le paramètre Include
du fichier de configuration de l'agent 2 et peut être relatif à l'emplacement du fichier zabbix_agent2.conf ou zabbix_agent2.win.conf.
L'ensemble des options de surveillance de référence disponibles a été étendu avec les deux nouvelles fonctions baselinedev et baselinewma.
Dans le contexte de ces fonctions, le terme 'saison' fait référence à une période configurable, qui peut être en heures, en jours, en semaines, en mois ou en années. La durée d'une saison et le nombre de saisons à analyser sont définis dans les paramètres de la fonction.
Voir les fonctions d'historique pour plus d'informations.