- 9 Notes de mise à jour pour la version 4.0.0
- Critiques
- Dépendances additionnelles
- Paramètre Server obligatoire pour les proxys passifs
- Protocole texte brut abandonné
- Modules chargeables
- Section Surveillance → Déclencheurs supprimée
- Syntaxe des paramètres de clé d'élément non autorisé
- Support de MySQL 8.0
- Fonctions de déclenchement
- Authentification HTTP
- Informatives
- Macros obsolètes dans le nom de l'élément
- Correction de l'horodatage
- Déclencheurs de temps traités par les syncers d'historique
- Impact de la maintenance de l'hôte au niveau du déclencheur
- Modifications de l'enregistrement automatique
- Problème de génération de nom
- Travailler avec les problèmes
- Utilisation du cache de configuration du serveur
- Exécution des scripts de vérification externes
- Disponibilité de la passerelle Java Zabbix
- Les logs de la passerelle Java Zabbix modifiés
- Changements au niveau des déclencheurs
- Changement dans le nom des Widgets, nom d'élément d'écran et nom des rapports
- Message d'erreur de surveillance JMX
- Enregistrement des modifications
- Voir aussi
- See also
- Critiques
9 Notes de mise à jour pour la version 4.0.0
Ces notes concernent la mise à jour depuis Zabbix 3.4.x vers Zabbix 4.0.0. Toutes les notes sont regroupées de la manière suivante :
Critiques- les informations les plus critiques liées au processus de mise à jour et aux modifications des fonctionnalités de ZabbixInformatives- toutes les informations restantes décrivant les modifications des fonctionnalités Zabbix
Il est possible de mettre à jour vers Zabbix 4.0.0 à partir des versions antérieures à Zabbix 3.4.0. Reportez-vous à la section procédure de mise à jour pour obtenir des informations pertinentes sur la mise à jour depuis les versions précédentes de Zabbix.
Critiques
Dépendances additionnelles
* libpthread - la bibliothèque POSIX Threads est désormais obligatoire pour la compilation du serveur Zabbix et du proxy Zabbix. Elle est requise pour les mutex partagés par un processus et les verrous en lecture-écriture. Si des mutex sont disponibles, mais ne peuvent pas être partagés, Zabbix utilisera les sémaphores comme avant la mise à jour.
* zlib - la bibliothèque de compression est maintenant obligatoire lors de la compilation du serveur Zabbix et du proxy Zabbix.
Paramètre Server obligatoire pour les proxys passifs
Le paramètre Server dans la configuration du proxy passif, qui était précédemment ignoré, est désormais obligatoire. Le proxy passif rejettera une adresse non répertoriée dans le paramètre Server.
Protocole texte brut abandonné
La prise en charge du protocole texte brut a été supprimée et un en-tête est désormais obligatoire. Un en-tête a été ajouté aux demandes get Zabbix, aux requêtes de vérifications passives du serveur Zabbix et du proxy Zabbix et les requêtes de l'interface utilisateur vers le serveur Zabbix.
En conséquence, les agents Zabbix antérieurs à la version 1.4 ne sont plus supportés. De plus, les messages provenant d'expéditeurs auto-écrits seront rejetés si l'en-tête est absent. Alors qu'auparavant, les trappeurs Zabbix acceptaient les messages sans en-tête ainsi que les messages avec en-tête, maintenant ils n'accepteront plus que les messages avec en-tête de protocole.
Modules chargeables
L'exportation de l'historique via le module n'est plus supporté par le proxy Zabbix.
Section Surveillance → Déclencheurs supprimée
La section Surveillance → Déclencheurs est maintenant supprimée. Les paramètres globaux associés "Afficher les événements plus vieux que" et "Nombre maximum d'événements par déclencheur à afficher" ont été supprimés également.
Syntaxe des paramètres de clé d'élément non autorisé
La syntaxe des paramètres de clé d'élément suivante n'est plus supportée :
- Tableaux de paramètres multi-niveaux, par exemple :
[a,[b,[c,d]],e] - Paramètres de style Zapcat, par exemple :
[a][b]
Notez que cette syntaxe n'a jamais été utilisée par les clés d'objet Zabbix officielles, et qu'elle n'a jamais été officiellement documentée comme prise en charge. Elle existait uniquement pour la compatibilité avec des solutions telles que Zapcat JMX Zabbix Bridge.
Support de MySQL 8.0
Pour pouvoir prendre en charge MySQL 8.0 dans cette version, deux modifications ont été apportées à la base de données :
- La table 'groups' a été renommée en 'hstgrp'
- Le champ 'function' dans la table 'functions' a été renommé en 'name'
Fonctions de déclenchement
Au cours de la mise à jour, les valeurs de paramètre de la fonction de déclenchement LogSource seront converties pour fonctionner avec la prise en charge supplémentaire des expressions régulières et des expressions régulières globales. Il peut y avoir des cas où les paramètres existants contiennent un nombre considérable de caractères spéciaux d’expression régulière ou si leur longueur est proche de la limite maximale autorisée et, au cours de la conversion, dépasse la limite maximale autorisée, qui est de 255 caractères. Dans ce cas, aucune modification ne sera apportée à ces paramètres et des détails sur tous ces cas seront ajoutés au fichier journal. Si les performances du déclencheur posent des problèmes, les paramètres non modifiés doivent être modifiés manuellement.
Authentification HTTP
Lorsque l'authentification système par défaut était précédemment définie sur "Authentification HTTP" lors de la mise à jour, elle devient "Interne" avec l'option "Authentification HTTP" activée par défaut. Pour une telle configuration, il est nécessaire d'effacer les valeurs de mot de passe utilisateur par défaut existantes dans la base de données en exécutant la requête suivante :
UPDATE users SET passwd="" WHERE passwd=md5('zabbix')
Changements relatifs à l'API
Le code spécifique à l'authentification de base HTTP a été supprimé de
l'API. Par conséquent, le champ password est désormais obligatoire
pour l'action API user.login.
Informatives
Macros obsolètes dans le nom de l'élément
Utiliser les macros positionnelles ($1, $2, ...$9) et les macros utilisateur dans les noms d'élément et prototype d'élément est maintenant obsolète.
En conséquence, les macros de position ont été supprimées des noms d’éléments et des noms de prototype d’éléments dans les modèles standard fournis avec Zabbix 4.0.
Si vous continuez à utiliser des macros positionnelles, vous rencontrerez les difficultés suivantes lors de l'utilisation du nouveau widget graphique :
- Il ne sera pas possible d'ajouter les éléments individuellement
nommés
temps CPU $2au graphique, en utilisant son nom résolu (commetemps CPU utilisateur). - Il sera uniquement possible d'ajouter au graphique tous les éléments
portant le nom, par exemple
temps CPU $2(par exemple,temps d'utilisation de l'UC,temps système CPU,temps d'inactivité de l'UC, etc.).
Si vous utilisez des macros positionnelles dans les noms de prototype d'élément, il est suggéré de mettre à jour les règles de découverte manuellement en remplaçant la macro positionnelle par la macro de découverte de bas niveau respective, par exemple :
| < | |||
|---|---|---|---|
| < | |||
Il sera possible d'utiliser des éléments générés de cette manière dans le widget graphique sans aucune limitation.
Correction de l'horodatage
Le serveur Zabbix ne corrigera plus les horodatages dans les cas où l'heure du proxy/agent actif/sender Zabbix diffère de l'heure du serveur Zabbix.
Déclencheurs de temps traités par les syncers d'historique
Le traitement des fonctions de déclenchement
temporels tels que nodata(),
date(), dayofmonth(), dayofweek(), time() et now() a été
déplacé des processus timer vers les syncer d'historique.
Alors que tous les déclencheurs basés sur le temps étaient recalculés en même temps, créant ainsi des pics de charge toutes les 30 secondes, le traitement du déclenchement basé sur le temps est désormais réparti de manière égale sur ces 30 secondes.
Avec cette modification, il pouvait être nécessaire de recalculer le nombre requis de processus timer, en particulier si plusieurs syncer étaient précédemment configurées pour partager la charge de calcul du déclencheur basé sur le temps. Même si les calculs de déclenchement basés sur le temps n'affectent plus la charge du timer, les calculs de maintenance peuvent nécessiter plus de ressources et vous pouvez donc configurer plusieurs timer pour partager la charge du traitement de la maintenance.
Impact de la maintenance de l'hôte au niveau du déclencheur
Lorsqu'un hôte entre en mode maintenance, les processus timer du serveur Zabbix liront désormais tous les problèmes en suspens pour vérifier s'il est nécessaire de les supprimer. Cela peut avoir un impact sur les performances s'il existe de nombreux problèmes non résolus. Le serveur Zabbix lira également tous les problèmes non résolus au démarrage, même s’il n’y a pas de maintenance configurée à ce moment-là.
Si durant la période de maintenance, les hôtes, les groupes ou les tags sont modifiés par l'utilisateur, les modifications ne prendront effet qu'après la synchronisation du cache de configuration.
Modifications de l'enregistrement automatique
Le comportement de l’enregistrement automatique a été modifié de la manière suivante :
- Les actions d’enregistrement automatique des agents actifs seront ré-exécutées si les métadonnées de l’hôte sont modifiées ;
- Étant donné que les métadonnées ne sont ajoutées que lors de l'inscription automatique, les métadonnées des hôtes créés manuellement sont manquantes et l'enregistrement automatique est à nouveau exécuté ;
- Si un hôte est modifié manuellement pour être surveillé par un autre proxy Zabbix, l'inscription automatique sera ré-exécutée.
Comme précédemment, si l'enregistrement automatique pour le même hôte provient d'un nouveau proxy Zabbix, l'inscription automatique sera ré-exécutée.
Problème de génération de nom
Les noms des problèmes et des événements sont maintenant stockés directement dans les tables d'événements et de problèmes lors de la génération d'événement, au lieu d'être générés comme précédemment dans le moteur d'exécution. Un correctif de base de données remplira le nouveau nom des problèmes et le champs nom des événements sans les macros étendues. Notez que ces modifications nécessiteront davantage d'espace de stockage.
La mise à jour de la base de données au démarrage initial du serveur peut prendre du temps s'il y a beaucoup d'anciens événements et que les macros {ITEM.VALAST},{ITEM.LASTVALUE} sont utilisées dans les noms de déclencheurs.
Les valeurs des champs de nom d'événement et de problème renseignés sont les suivantes:
- Pour les déclencheurs d'événements - nom du déclencheur avec toutes les macros résolues
- Pour les problèmes internes :
- // Impossible d'obtenir la valeur de l'élément // - pour les éléments non pris en charge
- //Impossible de calculer l'expression du déclencheur // - pour les déclencheurs inconnus
- Pour le reste des événements, le nom sera vide
Changements dans les macros associées
Étant donné que les noms des problèmes ne sont plus générés au moment de l'exécution en fonction du nom du déclencheur actuel, mais sont générés au moment de l'événement, des modifications de macro correspondantes ont été effectuées :
- Dans tous les messages par défaut - {TRIGGER.NAME} a été remplacée par {EVENT.NAME} ;
- Dans toutes les actions basées sur les déclencheurs - {TRIGGER.NAME} sera remplacé par {EVENT.NAME} lors de la mise à jour.
Voir aussi : les problèmes connus
Travailler avec les problèmes
Plusieurs modifications ont été apportées pour résoudre les problèmes, notamment la modification de macros. Pour plus de détails, voir la section Nouveautés dans Zabbix 4.0.0.
Modifications des API associées
Les méthodes problem.get et event.get ont été modifiées de telle
manière que le paramètre d'entrée de recherche/filtre avec l'objet
{'name': '...'} comme valeur soit utilisé pour trouver des résultats
correspondants (par champ "name") dans le tableau correspondant
("problem" ou "event").
Les méthodes problem.get et event.get ont été étendues en ajoutant
un paramètre de réponse appelé "name". Pour les deux méthodes, le
nouveau paramètre contient une valeur du champ "name" nouvellement
ajouté dans la table de la base de données "problem" ou "event".
Utilisation du cache de configuration du serveur
Le cache de configuration du serveur a été modifié pour conserver toutes les informations d'inventaire de l'hôte. Si vous utilisez la fonctionnalité d'inventaire avec des hôtes, augmentez la mémoire dédiée du cache de configuration pour le serveur en conséquence.
Exécution des scripts de vérification externes
A la fin d'un script de vérification
externe, les arguments sont
regroupés en guillemets simples ' au lieu de guillemets ".
Cette modification permet à Zabbix d’accepter plus de signes dans le nom
d’un paramètre de vérification externe. Par exemple, le signe $ n'est
plus ignoré.
Disponibilité de la passerelle Java Zabbix
À partir de maintenant, l'état de disponibilité de la passerelle Java Zabbix ne passera pas au rouge chaque fois que l'un des éléments devient non supporté. Le badge de disponibilité JMX ne devient rouge qu'en cas d'erreur réseau - lorsque la passerelle Java n'est pas disponible ou en cas de problèmes de communication entre le serveur Zabbix et la passerelle Java Zabbix.
Les logs de la passerelle Java Zabbix modifiés
Si vous supervisez les logs de la passerelle Java, gardez en mémoire que les "exception stack trace" ne sont plus disponibles dans les logs de la passerelle Java ni sous la forme d'avertissements ni d'erreurs.
Changements au niveau des déclencheurs
- Le comportement de l'expression du déclencheur concernant les nombres, différant de 0.000001, est maintenant modifié. Les opérateurs logiques étant définis en termes d'égalité à zéro, leur résultat pour 0.000001 est également affecté :
| Expression (Exemple) | Résultat de l'évaluation | |
|---|---|---|
| Avant | Après | |
| 1.000001 > 1 | 1 | 0 |
| 1.000001 <= 1 | 0 | 1 |
| 0 >= 0.000001 | 0 | 1 |
| 0.000001 <> 0 | 1 | 0 |
| 0.000001 = 0 | 0 | 1 |
| 0 ou (1/1000000) | 1 | 0 |
| not (1/1000000) | 0 | 1 |
| 1 et 1/1000000 | 1 | 0 |
Changement dans le nom des Widgets, nom d'élément d'écran et nom des rapports
Les éléments suivants ont été renommés :
| Avant | Dans Zabbix 4.0 |
| Statut du système | Problèmes par gravité |
| Statut des hôtes | Hôtes problématiques |
| Statut de Zabbix | Information système |
L'API Dashboard est également affectée : certains des types de propriétés du widget Tableau de bord sont maintenant renommés.
Message d'erreur de surveillance JMX
Comme la passerelle Java Zabbix prend désormais en charge l'utilisation de MBeans personnalisés renvoyant des types de données non primitifs, qui surchargent la méthode toString(), le message d'erreur a été modifié de la manière suivante :
| // Précédemment : // | data object type is not primitive: xxx |
| // Dans Zabbix 4.0 : // | Data object type cannot be converted to string. |
Enregistrement des modifications
Le message affiché dans les fichiers journaux concernant le cache d’historique complet a été modifié de la manière suivante :
| // Précédemment : // | History buffer is full. Sleeping for 1 second. |
| // Dans Zabbix 4.0 : // | History cache is full. Sleeping for 1 second. |
Voir aussi
Host column always displayed
The host column is now always displayed even if only one host is selected in:
- Monitoring → Latest data
- Monitoring → Web
- Reports → Availability
This results in a wider page than previously with one host data. For more information, see the What's new section.
JMX monitoring error message
As Zabbix Java gateway now supports working with custom MBeans returning non-primitive data types, which override the toString() method, the possible error message has been changed the following way:
| Previously: | data object type is not primitive: xxx |
| In Zabbix 4.0: | Data object type cannot be converted to string. |
Logging changes
The message printed to the log files about a full history cache has been changed the following way:
| Previously: | History buffer is full. Sleeping for 1 second. |
| In Zabbix 4.0: | History cache is full. Sleeping for 1 second. |