This is a translation of the original English documentation page. Help us make it better.

1 Red Hat Enterprise Linux/CentOS

Aperçu

Cette section fournit les étapes nécessaires à une mise à jour réussie de Zabbix 3.4 vers Zabbix 4.0.x en utilisant les packages Zabbix officiels pour Red Hat Enterprise Linux/CentOS.

Même si la mise à jour des agents Zabbix n'est 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 à jour.

Pour minimiser les temps d'arrêt et la perte de données lors de la mise à jour, il est recommandé d'arrêter et de mettre à jour le serveur Zabbix, puis d'arrêter, de mettre à jour et de démarrer les proxys Zabbix les uns après les autres. Lorsque tous les proxys sont mis à jour, démarrez le serveur Zabbix. Pendant l'indisponibilité du serveur Zabbix, les proxys en cours d’exécution continueront à collecter et à stocker des données et transmettront les données au serveur Zabbix lorsque le serveur sera de nouveau opérationnel. Les notifications de problèmes lors de l'arrêt du serveur Zabbix ne seront générées qu'après le démarrage du serveur mis à jour.

Notez qu'avec la base de données SQLite sur les proxys, les données d'historique des proxys avant la mise à jour seront perdues, car la mise à jour de 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 à jour de la base de données vers la version 4.0 peut prendre beaucoup de temps.

::: notewarning Avant la mise à jour, assurez-vous de lire les ** notes de mise à jour pertinentes ! ** ::: Les notes de mise à jour suivantes sont disponibles :

Mise à jour depuis Lire les notes de mise à jour Notes importantes/changements entre les versions
3.4.x Pour 4.0 Les bibliothèques 'libpthread' et 'zlib' sont maintenant obligatoires;
Prise en charge du protocole de texte brut supprimée et l'en-tête est obligatoire.;
Les agents Zabbix de version antérieure à la version 1.4 ne sont plus supporté;
Le paramètre Serveur dans la configuration du proxy passif est maintenant obligatoire
3.2.x Pour 3.4 Support SQLite en tant que base de données abandonné pour le serveur et l’interface Web Zabbix;
Perl Compatible Regular Expressions (PCRE) supporté au lieu de POSIX étendu;
bibliothèques 'libpcre' et 'libevent' obligatoires pour le serveur Zabbix;
Vérifications de code de sortie ajoutées pour les paramètres utilisateur, les commandes distantes et les éléments system.run[] sans l'indicateur 'nowait' ainsi que les scripts exécutés par le serveur Zabbix;;
La passerelle Java Zabbix doit être mise à jour pour prendre en charge de nouvelles fonctionnalités
3.0.x for 3.2 La mise à jour de la base de données peut être lente, en fonction de la taille de la table d'historique

Vous pouvez également vérifier les pré-requis pour la version 4.0.

Il peut être pratique d'exécuter deux sessions SSH parallèles pendant la mise à jour, en exécutant les étapes de mise à jour dans la première et en surveillant les journaux de serveur/proxy dans la seconde. Par exemple, exécutez tail -f zabbix_server.log ou tail -f zabbix_proxy.log dans la deuxième session SSH en affichant 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.

Procédure de mise à jour

1 Arrêt des processus Zabbix

Arrêtez le serveur Zabbix pour être sûr qu’aucune nouvelle donnée ne soit insérée en base de données.

# systemctl stop zabbix-server

Si vous mettez à jour le proxy, arrêtez le aussi :

# systemctl stop zabbix-proxy

Il est possible de mettre à jour le serveur uniquement et d'avoir des proxys plus anciens, non mis à jour, qui rapportent des données à un serveur plus récent (les proxys ne peuvent cependant pas actualiser leur configuration). Cette approche, cependant, n'est pas recommandée et n'est pas supportée par Zabbix et ce choix est entièrement à vos risques et périls.

2 Sauvegarde de la base de données Zabbix existante

Il s’agit d’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 à jour échoue (manque d'espace disque, arrêt inopiné, tout autre problème inattendu).

3 Sauvegarde des fichiers de configuration, des fichiers PHP et des binaires Zabbix

Faites une copie de sauvegarde des binaires Zabbix, des fichiers de configuration et des répertoires contenant les 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 :

# cp -R /usr/share/zabbix/ /opt/zabbix-backup/
       # cp -R /usr/share/doc/zabbix-* /opt/zabbix-backup/
4 Mise à jour du package de configuration du dépôt

Pour procéder à la mise à jour, votre dépôt de package actuel doit être mis à jour.

# rpm -Uvh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.centos.noarch.rpm
5 Mise à jour des composants Zabbix

Pour mettre à jour les composants Zabbix, vous pouvez exécuter quelque chose comme :

# yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent

Si vous utilisez PostgreSQL, remplacez mysql par pgsql dans la commande. Si vous mettez à jour le proxy, remplacez server par proxy dans la commande.

6 Examen des paramètres de configuration des composants

Voir les notes de mise à jour pour plus de détails sur les modifications obligatoires.

7 Démarrage des processus Zabbix

Démarrez les composants Zabbix à jour :

# systemctl start zabbix-server
       # systemctl start zabbix-proxy
       # systemctl start zabbix-agent
8 Effacer les cookies et le cache du navigateur

Après la mise à jour, vous devrez peut-être effacer les cookies et le cache du navigateur Web pour que l'interface Web de Zabbix fonctionne correctement.

Mise à jour entre les versions mineures

Il est possible de mettre à jour entre des versions mineures de 4.0.x (par exemple, de 4.0.1 à 4.0.3). La mise à jour entre les versions mineures est facile.

Pour exécuter la mise à jour mineure Zabbix, il faut exécuter :

# yum upgrade zabbix-*

Pour exécuter la mise à jour mineure du serveur Zabbix, exécutez :

# yum upgrade zabbix-server

Pour exécuter la mise à jour mineure de l'agent Zabbix, exécutez :

# yum upgrade zabbix-agent

Notez que vous pouvez également utiliser 'update' au lieu de 'upgrade' dans ces commandes. Alors que 'upgrade' supprimera les paquets obsolètes, 'update' les conservera.