Cette section fournit les étapes requises pour une mise à niveau réussie de Zabbix 5.4.x vers Zabbix 6.0.x à l'aide des packages Zabbix officiels pour Red Hat Enterprise Linux.
Bien que la mise à niveau des agents Zabbix ne soit pas obligatoire (mais recommandée), le serveur Zabbix et les proxys doivent être de la même version majeure. Par conséquent, dans une configuration serveur-proxy, le serveur Zabbix et tous les proxys doivent être arrêtés et mis à niveau. Garder les proxys en cours d'exécution pendant la mise à niveau du serveur n'apportera plus aucun avantage car lors de la mise à niveau du proxy, leurs anciennes données seront supprimées et aucune nouvelle donnée ne sera collectée jusqu'à ce que la configuration du proxy soit synchronisée avec le serveur.
Notez qu'avec la base de données SQLite sur les proxys, les données d'historique des proxys avant la mise à niveau seront perdues, car la mise à niveau de la base de données SQLite n'est pas prise en charge et le fichier de base de données SQLite doit être supprimé manuellement. Lorsque le proxy est démarré pour la première fois et que le fichier de base de données SQLite est manquant, le proxy le crée automatiquement.
Selon la taille de la base de données, la mise à niveau de la base de données vers la version 6.0 peut prendre un certain temps.
Avant la mise à niveau, assurez-vous de lire les notes de mise à niveau pertinentes !
Les notes de mise à niveau suivantes sont disponibles :
Mise à niveau depuis | Lire les notes de mise à niveau complètes | Modifications les plus importantes entre les versions |
---|---|---|
5.4.x | Pour : Zabbix 6.0 |
Versions minimales requises de la base de données augmentées ; Le serveur/proxy ne démarre pas si la base de données est obsolète ; Enregistrements du journal d'audit perdus en raison d'un changement de structure de la base de données. |
5.2.x | Pour : Zabbix 5.4 Zabbix 6.0 |
Versions de base de données minimales requises augmentées ; Éléments agrégés supprimés en tant que type distinct. |
5.0.x LTS | Pour : Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 |
La version PHP minimale requise est passée de 7.2.0 à 7.2.5. |
4.4.x | Pour : Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 |
La prise en charge d'IBM DB2 a été abandonnée ; La version PHP minimale requise est passée de 5.4.0 à 7.2.0 ; Les versions de base de données minimales requises ont été augmentées ; Le répertoire de fichiers PHP de Zabbix a été modifié. |
4.2.x | Pour : Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 |
Suppression des types de médias Jabber, Ez Texting. |
4.0.x LTS | Pour : Zabbix 4.2 Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 |
Les anciens proxys ne peuvent plus transmettre de données à un serveur mis à niveau ; Les nouveaux agents ne pourront plus travailler avec un ancien serveur Zabbix. |
3.4.x | Pour : Zabbix 4.0 Zabbix 4.2 Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 |
Les bibliothèques 'libpthread' et 'zlib' sont désormais obligatoires ; La prise en charge du protocole de texte brut a été abandonnée et l'en-tête est obligatoire ; Les agents Zabbix de la version antérieure à la 1.4 ne sont plus pris en charge ; Le paramètre Server dans la configuration du proxy passif est maintenant obligatoire. |
3.2.x | Pour : Zabbix 3.4 Zabbix 4.0 Zabbix 4.2 Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 |
Prise en charge de SQLite en tant que base de données principale abandonnée pour le serveur/frontend Zabbix ; Expressions régulières compatibles Perl (PCRE) prises en charge au lieu de POSIX étendu ; Bibliothèques 'libpcre' et 'libevent' obligatoires pour le serveur Zabbix ; Vérifications du code de sortie ajouté pour les paramètres utilisateur, les commandes à distance et les éléments system.run[] sans le drapeau 'nowait' ainsi que les scripts exécutés par le serveur Zabbix ; La passerelle Java Zabbix doit être mise à niveau pour prendre en charge les nouvelles fonctionnalités. |
3.0.x LTS | Pour : Zabbix 3.2 Zabbix 3.4 Zabbix 4.0 Zabbix 4.2 Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 |
La mise à niveau de la base de données peut être lente, selon la taille de la table d'historique. |
2.4.x | Pour : Zabbix 3.0 Zabbix 3.2 Zabbix 3.4 Zabbix 4.0 Zabbix 4.2 Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 |
Version PHP minimale requise passée de 5.3.0 à 5.4.0 Le paramètre de l'agent LogFile doit être spécifié |
2.2.x LTS | Pour : Zabbix 2.4 Zabbix 3.0 Zabbix 3.2 Zabbix 3.4 Zabbix 4.0 Zabbix 4.2 Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 |
Suppression de la surveillance distribuée basée sur les nœuds |
2.0.x | Pour : Zabbix 2.2 Zabbix 2.4 Zabbix 3.0 Zabbix 3.2 Zabbix 3.4 Zabbix 4.0 Zabbix 4.2 Zabbix 4.4 Zabbix 5.0 Zabbix 5.2 Zabbix 5.4 Zabbix 6.0 |
Version PHP minimale requise passée de 5.1.6 à 5.3.0 ; Base de données MySQL sensible à la casse requise pour le bon fonctionnement du serveur ; Le jeu de caractères utf8 et le classement utf8_bin sont requis pour que le serveur Zabbix fonctionne correctement avec la base de données MySQL. Voir les scripts de création de base de données. Extension PHP 'mysqli' requise au lieu de 'mysql' |
Vous pouvez également vérifier les pré-requis pour 6.0.
Il peut être pratique d'exécuter deux sessions SSH parallèles pendant la mise à niveau, en exécutant les étapes de mise à niveau dans une et en surveillant les journaux du serveur/proxy dans une autre. Par exemple, exécutez tail -f zabbix_server.log
ou tail -f zabbix_proxy.log
dans la deuxième session SSH pour afficher les dernières entrées du fichier journal et les erreurs possibles en temps réel. Cela peut être critique pour les instances de production.
Arrêtez le serveur Zabbix pour vous assurer qu'aucune nouvelle donnée n'est insérée dans la base de données.
Si vous mettez à niveau le proxy Zabbix, arrêtez également le proxy.
Il n'est plus possible de démarrer le serveur mis à niveau et de faire en sorte que des proxys plus anciens, mais non mis à niveau, transmettent des données à un serveur plus récent. Cette approche, qui n'a jamais été recommandée ni prise en charge par Zabbix, est désormais officiellement désactivée, car le serveur ignorera les données des proxys non mis à niveau.
Ceci est une étape très importante. Assurez-vous d'avoir une sauvegarde de votre base de données. Cela aidera si la procédure de mise à niveau échoue (manque d'espace disque, mise hors tension, tout problème inattendu).
Faites une copie de sauvegarde des binaires Zabbix, des fichiers de configuration et du répertoire de fichiers PHP.
Fichiers de configuration :
# mkdir /opt/zabbix-backup/
# cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
# cp /etc/httpd/conf.d/zabbix.conf /opt/zabbix-backup/
Fichiers PHP et binaires Zabbix :
Pour procéder à la mise à niveau, votre package de référentiel actuel doit être mis à jour.
Pour mettre à niveau les composants Zabbix, vous pouvez exécuter quelque chose comme :
Si vous utilisez PostgreSQL, remplacez mysql
par pgsql
dans la commande. Si vous mettez à niveau le proxy, remplacez server
par proxy
dans la commande. Si vous mettez à niveau l'agent 2, remplacez zabbix-agent
par zabbix-agent2
dans la commande.
Pour mettre à niveau correctement l'interface Web avec Apache sur RHEL 8, exécutez également :
Assurez-vous de consulter les Notes de mise à jour pour vérifier si des modifications des paramètres de configuration sont nécessaires.
Démarrez les composants Zabbix mis à jour.
# systemctl start zabbix-server
# systemctl start zabbix-proxy
# systemctl start zabbix-agent
# systemctl start zabbix-agent2
Après la mise à niveau, vous devrez peut-être effacer les cookies du navigateur Web et le cache du navigateur Web pour que l'interface Web de Zabbix fonctionne correctement.
Il est possible de mettre à niveau entre les versions mineures de 6.0.x (par exemple, de 6.0.1 à 6.0.3). La mise à niveau entre les versions mineures est facile.
Pour exécuter la mise à niveau de la version mineure de Zabbix, il est nécessaire d'exécuter :
Pour exécuter la mise à niveau de la version mineure du serveur Zabbix, exécutez :
Pour exécuter la mise à niveau de la version mineure de l'agent Zabbix, exécutez :
ou, pour l'agent Zabbix 2 :