11 Notes de mise à niveau vers la version 7.4.0

Ces notes concernent la mise à niveau de Zabbix 7.2.x vers Zabbix 7.4.0.

Toutes les notes sont regroupées comme suit :

  • Modifications incompatibles - modifications susceptibles d'interrompre les installations existantes et autres informations critiques relatives au processus de mise à niveau
  • Autres - toutes les informations restantes décrivant les modifications apportées aux fonctionnalités de Zabbix

Voir également :

  • Procédure de mise à niveau pour toutes les informations pertinentes concernant la mise à niveau depuis les versions antérieures à Zabbix 7.4.0 ;
  • Mise à niveau d'un cluster HA pour obtenir des instructions sur la mise à niveau des serveurs dans un cluster à haute disponibilité (HA).

Processus de mise à niveau

Pour effectuer correctement la mise à niveau du serveur Zabbix sur MySQL/MariaDB, vous devrez peut-être définir GLOBAL log_bin_trust_function_creators = 1 dans MySQL si la journalisation binaire est activée, qu'aucun privilège de superutilisateur n'est disponible et que log_bin_trust_function_creators = 1 n'est pas défini dans le fichier de configuration MySQL.

Pour définir la variable à l'aide de la console MySQL, exécutez :

mysql> SET GLOBAL log_bin_trust_function_creators = 1;

Une fois la mise à niveau terminée, cette option peut être désactivée :

mysql> SET GLOBAL log_bin_trust_function_creators = 0;

Changements majeurs

Bibliothèque PCRE supprimée

La bibliothèque PCRE (ou PCRE1) a été supprimée. Zabbix est désormais compilé avec PCRE2.

Gestion de ses propres médias

Par défaut, tous les utilisateurs sont désormais autorisés à gérer leurs propres médias.

Les autorisations permettant aux utilisateurs de modifier les détails de leurs propres médias peuvent être accordées ou révoquées en fonction de leur rôle utilisateur (voir l’option Créer et modifier ses propres médias).

En outre, les autorisations des super administrateurs leur permettant de modifier les détails des médias d’autres utilisateurs peuvent également être accordées ou révoquées en fonction de leur rôle utilisateur (voir l’option Créer et modifier les médias des utilisateurs).

En cas de mise à niveau depuis une version antérieure, les deux options seront activées pour tous les rôles pour lesquels l’option Accès par défaut aux nouvelles actions est activée. Notez que si l’option Accès par défaut aux nouvelles actions n’est pas activée, les administrateurs et les super administrateurs peuvent perdre la possibilité de modifier les médias après la mise à niveau.

Échappement des barres obliques inverses dans les paramètres des fonctions d’historique

L’échappement correct des barres obliques inverses a été ajouté aux paramètres de chaîne des fonctions d’historique depuis Zabbix 7.0.0.

Comme des barres obliques inverses supplémentaires sont ajoutées lors de la mise à niveau depuis des versions de Zabbix antérieures à la version 7.0, les paramètres sont plus longs, ce qui peut entraîner la rupture des fonctions de déclencheur si la longueur du paramètre dépasse la taille maximale des données, fixée à 255 caractères.

Pour éviter ce problème, il est recommandé de déplacer manuellement les paramètres longs vers des macros utilisateur avant la mise à niveau.

Des vérifications supplémentaires de la longueur du paramètre résultant ont été ajoutées pour les mises à niveau depuis des versions de Zabbix antérieures à la version 7.0. Si la longueur résultante dépasse la taille maximale, ces paramètres ne sont pas mis à niveau et un avertissement est inscrit dans les journaux, demandant aux utilisateurs de corriger manuellement les paramètres répertoriés.

Voir également les problèmes de mise à niveau liés à l’échappement.

Mise à jour du plugin MSSQL Zabbix agent 2

Le modèle MSSQL by Zabbix agent 2 a été mis à jour avec des filtres permettant d’inclure ou d’exclure les membres de quorum découverts par nom, ainsi qu’avec un filtre de service permettant de filtrer par nom de cluster afin d’exclure les clusters vides. Pour que le modèle fonctionne sans erreurs, le plugin MSSQL Zabbix agent 2 doit être mis à jour vers une version égale ou supérieure à 7.4.0.

Version minimale requise de libssh2

La version minimale requise de libssh2 a été relevée de 1.0.0 à 1.8.0.

Prototypes d'hôte sur les hôtes découverts

Si votre configuration actuelle inclut des prototypes d'hôte qui utilisent des modèles contenant d'autres prototypes d'hôte, la mise à niveau vers Zabbix 7.4 entraînera l'application à tous les hôtes découverts des prototypes d'hôte définis dans ces modèles. Si ce comportement n'est pas souhaité, veuillez supprimer manuellement les prototypes d'hôte des modèles concernés avant la mise à niveau.

Pour identifier les hôtes découverts qui recevront des prototypes d'hôte pendant la mise à niveau, vous pouvez exécuter la requête SQL suivante dans votre base de données Zabbix :

SELECT h.hostid,ht.templateid
FROM hosts_templates ht
JOIN hosts h ON ht.hostid=h.hostid
WHERE h.flags=4
  AND EXISTS (
    SELECT NULL
    FROM items i,host_discovery hd
    WHERE i.hostid=ht.templateid
    AND hd.parent_itemid=i.itemid
    )
ORDER BY hostid;

Paramètres de connexion à la base de données

DBPort et DBSocket s’excluent désormais mutuellement. Lors de la spécification des paramètres de connexion à la base de données, vous pouvez définir DBPort ou DBSocket, ou laisser les deux paramètres non définis pour utiliser les valeurs par défaut.

Autres

Éléments de parcours/découverte SNMP non pris en charge sans OID valides

Les éléments SNMP de parcours, lorsqu’aucun des OID ou aucune des instances d’OID n’existe, renvoient désormais une erreur et l’élément devient non pris en charge.
Les détails concernant les OID/instances inexistants sont consignés avec DebugLevel=5.
Auparavant, ils renvoyaient une chaîne vide dans ce cas.

De même, les éléments SNMP de découverte, lorsqu’aucun des OID ou aucune des instances d’OID n’existe, renvoient désormais une erreur et l’élément devient non pris en charge.
Auparavant, ils renvoyaient un tableau vide dans ce cas.

Notez qu’une chaîne vide ou un tableau vide est désormais renvoyé uniquement si l’OID/l’instance existe, mais qu’aucune donnée n’est disponible.

Gestion du cache de l’historique

Dans certains scénarios de collecte de données, des éléments spécifiques peuvent temporairement bloquer le cache de l’historique du serveur/proxy. Cela peut retarder l’écriture des données d’historique dans la base de données et ralentir le système. Pour faciliter la gestion du cache de l’historique, les améliorations suivantes ont été introduites :

  • Effacement manuel du cache : La nouvelle commande d’exécution history_cache_clear=target pour le serveur/proxy Zabbix permet d’effacer manuellement le cache de l’historique pour un élément spécifique à l’aide de son ID.
  • Effacement automatique du cache : Lorsque vous désactivez un élément, celui-ci est immédiatement supprimé du cache de l’historique (à l’exception de sa dernière valeur, conservée pour les journaux). De même, lorsque vous désactivez un hôte, tous ses éléments sont supprimés du cache de l’historique (à l’exception de leurs dernières valeurs).
  • Journalisation des diagnostics du cache : Lorsque le cache de l’historique est plein, le serveur/proxy Zabbix journalise désormais les informations de diagnostic du cache de l’historique à partir de DebugLevel=3 (auparavant DebugLevel=4). Le journal contient les éléments ayant le plus grand nombre de valeurs dans le cache de l’historique.

Pour assurer la stabilité du système à long terme, veillez à ce que la collecte des données soit équilibrée par rapport aux ressources disponibles (performances de la base de données, taille du cache, intervalles de collecte, paramètres des éléments de journal, etc.). Vous pouvez surveiller le cache de l’historique Zabbix à l’aide de l’élément interne zabbix[wcache]. Vous pouvez également envisager d’augmenter la taille du cache de l’historique pour le serveur/proxy Zabbix.

Section de menu distincte pour les notifications des utilisateurs

Pour une meilleure visibilité des médias des utilisateurs, les notifications des utilisateurs disposent désormais de leur propre section de menu dans Paramètres utilisateur.

La nouvelle section Notifications contient deux onglets - Média et Notifications de l'interface, qui faisaient auparavant partie de la section du profil utilisateur.

Informations correctes provenant des groupes d'hôtes imbriqués dans les cartes

Les informations provenant des groupes d'hôtes imbriqués sont désormais affichées correctement dans les cartes, par exemple :

  • Le libellé du groupe d'hôtes affiche désormais le résumé des problèmes de tous les hôtes des groupes d'hôtes imbriqués ;
  • La vue « Éléments du groupe d'hôtes » affiche désormais un élément de carte distinct pour chaque hôte des groupes d'hôtes imbriqués ;
  • Le libellé de la carte affiche désormais le résumé de tous les problèmes contenus dans les groupes d'hôtes imbriqués.

Table de base de données pour les paramètres convertis

La table settings remplace désormais la table config pour le stockage des paramètres de configuration globale. La nouvelle table utilise un format clé-valeur au lieu de stocker les paramètres dans une seule ligne avec une colonne par paramètre. Pour un exemple de l'impact sur l'échange de données, consultez Protocole d'échange de données serveur-proxy (objet "settings").

Augmentation des tailles maximales de cache pour le serveur et le proxy

Les tailles maximales de cache ont été portées de 2 Go à 16 Go afin de retarder l'épuisement du cache et de maintenir le fonctionnement pendant des problèmes temporaires (par exemple, de configuration, de base de données ou de réseau) :

Réduction de la période de stockage par défaut des sessions utilisateur

La période de stockage par défaut des données de session utilisateur a été réduite de 365 jours à 31 jours. Cette modification concerne le paramètre hk_sessions, dont la valeur par défaut est désormais 31d au lieu de 365d.

Version minimale de Go prise en charge

La version minimale de Go prise en charge a été relevée de 1.21 à 1.23.

Si vous avez précédemment compilé Zabbix agent 2, les plugins chargeables de agent 2 ou le service web à partir des sources à l'aide d'une version de Go antérieure à 1.23, il est recommandé de recompiler ces composants avec une version de Go prise en charge afin de recevoir les dernières mises à jour de sécurité et corrections de bogues. Les composants compilés avec une version plus ancienne de Go continueront de fonctionner, mais leur mise à niveau nécessitera un environnement Go plus récent.

Mise à niveau des modèles pour l'assistant d'hôte

Le nouvel assistant d'hôte introduit une interface guidée, étape par étape, pour configurer votre cible de supervision (périphérique, application, service, etc.) dans Zabbix. Il simplifie la configuration des hôtes nouveaux ou existants en guidant les utilisateurs à travers des étapes clés telles que la sélection d'un modèle, l'installation de l'agent Zabbix, l'ajout d'interfaces d'hôte, et plus encore.

Après une mise à niveau depuis une version antérieure de Zabbix, les modèles doivent être mis à niveau pour fonctionner avec l'assistant d'hôte. Pour obtenir des instructions, consultez Mise à niveau des modèles.

Traitement concurrent des vérifications SNMPv1 et SNMPv2

Les vérifications de service asynchrones SNMPv1 et SNMPv2 sont désormais traitées simultanément par les workers de découverte disponibles.