Monter de version depuis Centreon 23.04
Ce chapitre décrit comment monter votre plateforme Centreon de la version 23.04 à la version 26.10.
La montée de version n'est possible que si votre OS actuel est RHEL/Oracle/AlmaLinux 9. Les autres OS ne sont plus supportés : suivez une procédure de migration pour passer à un OS supporté. Si votre plateforme Centreon utilise la HA, contactez votre représentant commercial Centreon pour discuter des scénarios de migration possibles.
- Lorsque vous montez de version votre serveur central, veillez à monter également de version tous vos serveurs distants et tous vos collecteurs.
- Tous les serveurs de votre architecture doivent utiliser la même version de Centreon.
- De plus, tous les serveurs doivent utiliser la même version du protocole BBDO.
Utilisateurs de la Business edition : MAP Legacy n'est plus disponible dans Centreon 26.10. Si vous utilisez toujours MAP Legacy, vous devez migrer vers MAP. Consultez la page [Fin de vie de MAP Legacy](https://docs.centreon.com/docs/24.10/graph-views/map-legacy-eol/).
Attention : si vous utilisiez les connecteurs de supervision suivants, à partir de la version 24.10 vous devez déclarer toutes leurs configurations depuis la page Configuration > Configurations de connecteurs additionnels avant de déployer la configuration du collecteur correspondant :
Composants autres que Centreon à monter de version
| Composant | Version dans 23.04 | Version dans 26.10 |
|---|---|---|
| PHP | 8.1 | 8.4 |
| Base de données |
|
|
Prérequis
Réaliser une sauvegarde
Assurez-vous d'avoir réalisé une sauvegarde complète de votre environnement pour les serveurs suivants :
- Serveur central
- Serveur de base de données
Vérifier les dépôts
Avant de monter de version votre plateforme Centreon, assurez-vous que les dépôts de paquets suivants sont activés :
- EL
- EPEL
- BaseOS
- AppStream
- centreon
- centreon-business, si vous utilisez Centreon Business Edition.
Créer un jeton d'authentification
Si vous souhaitez finaliser la mise à jour via l'API, vous aurez besoin d'un jeton d'authentification. Créez-en un avant de commencer la procédure de mise à jour.
- Allez dans Administration > Jetons d'authentification, puis cliquez sur Ajouter.
- Copiez le jeton et conservez-le précieusement, car il ne sera affiché qu'une seule fois. Vous en aurez besoin à l'étape 7 de la procédure d'upgrade.
Montée de version du serveur Centreon Central
Lorsque vous exécutez une commande, vérifiez ce qu'elle affiche. En cas de message d'erreur, arrêtez la procédure et corrigez le problème.
Si vous avez installé MariaDB à partir de ses dépôts officiels, vous pouvez rencontrer un conflit. Consultez notre procédure dédiée pour le contourner.
Étape 1 : Installer les nouveaux dépôts
- Alma / RHEL / Oracle Linux 9
-
Mettez à jour votre Centreon 23.04 jusqu'à la dernière version mineure.
-
Supprimez les fichiers des dépôts :
rm -f /etc/yum.repos.d/centreon-23.04.reporm -f /etc/yum.repos.d/centreon.repo -
Installez le nouveau dépôt :
dnf install -y dnf-plugins-core
dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/26.10/el9/centreon-26.10.repo
- Si vous disposez d'une licence hors ligne, supprimez également l'ancien dépôt des connecteurs de supervision, puis installez le nouveau. Vous trouverez l'adresse de ces dépôts sur le portail du support.
Étape 2 : Démarrer la montée de version de la solution Centreon
-
Assurez-vous que tous les utilisateurs sont déconnectés de l'interface web de Centreon avant de démarrer la procédure de montée de version. Considérez la plateforme comme en maintenance jusqu'à la fin de l'étape 7.
-
Si vous avez installé des extensions Business, supprimez la configuration du dépôt 23.04 :
- Alma / RHEL / Oracle Linux 9
rm /etc/yum.repos.d/centreon-business-23.04.repo
-
Installez le dépôt Business 26.10 : rendez-vous sur le portail du support pour en obtenir l'adresse.
-
Si votre OS est Debian et que vous avez personnalisé votre configuration Apache, réalisez une sauvegarde de votre fichier de configuration (/etc/apache2/sites-available/centreon.conf).
-
Arrêtez le processus Centreon Broker :
systemctl stop cbd
- Supprimez les fichiers de rétention existants :
rm /var/lib/centreon-broker/* -f
Étape 3 : Monter PHP de version
Centreon 26.10 utilise PHP en version 8.4.
- Alma / RHEL / Oracle Linux 9
Vous devez installer le dépôt Remi, puis basculer le flux PHP de la version 8.1 vers la version 8.4 en exécutant les commandes suivantes :
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm
rpm -e --nodeps php-sourceguardian-loader
dnf module reset php -y
dnf module enable php:remi-8.4 -y
Acceptez les nouvelles clés GPG des dépôts si elles vous sont proposées.
Étape 4 : Terminer la montée de version de la solution Centreon
Terminez ensuite la montée de version de la solution Centreon.
- Videz le cache :
- Alma / RHEL / Oracle Linux 9
dnf clean all --enablerepo=*
- Montez ensuite tous les composants de version à l'aide de la commande suivante :
- Alma / RHEL / Oracle Linux 9
rpm -e --nodeps php-pecl-gnupg
dnf update -y "centreon*" --exclude=php-pecl-gnupg
Acceptez les nouvelles clés GPG des dépôts si elles vous sont proposées.
Les paquets RPM peuvent marquer certains fichiers de configuration pour qu'ils ne soient jamais écrasés lors d'une mise à jour. Si vous avez modifié l'un de ces fichiers et que le nouveau paquet en fournit une version différente, dnf conserve votre fichier et écrit la version du paquet à côté, avec l'extension .rpmnew. Par exemple, vous conservez centengine.cfg et obtenez aussi centengine.cfg.rpmnew. Aucune fusion n'est faite automatiquement. Comparez les deux fichiers et choisissez ce que vous voulez reporter :
Voici les fichiers susceptibles d'être concernés. Vous n'aurez pas forcément un fichier .rpmnew pour chacun d'eux : seuls les fichiers que vous avez modifiés et dont le paquet fournit une nouvelle version en génèrent un.
/etc/logrotate.d/centreon
/etc/httpd/conf.d/10-centreon.conf
/etc/php.d/50-centreon.ini
/etc/php/${PHP_MIN_VERSION}/mods-available/centreon.ini
/etc/php-fpm.d/centreon.conf
/etc/php/${PHP_MIN_VERSION}/fpm/pool.d/centreon.conf
/etc/systemd/system/php-fpm.service.d/centreon.conf
/lib/systemd/system/php${PHP_MIN_VERSION}-fpm.service.d/centreon.conf
/usr/share/centreon/.env
/usr/share/centreon/.env.local.php
Étape 5 : Mettre à jour votre configuration Apache personnalisée
Cette section s'applique uniquement si vous avez personnalisé votre configuration Apache.
- Alma / RHEL / Oracle Linux 9
Lors de la montée de version, le fichier de configuration Apache n'est pas mis à jour automatiquement : le nouveau fichier de configuration apporté par le rpm ne remplace pas l'ancien. Vous devez reporter les changements manuellement dans votre fichier de configuration personnalisé.
Faites un diff entre l'ancien et le nouveau fichier de configuration Apache :
diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew
- 10-centreon.conf (post montée de version) : ce fichier contient la configuration personnalisée. Il ne contient pas les nouveautés apportées par la montée de version.
- 10-centreon.conf.rpmnew (post montée de version) : ce fichier est fourni par le rpm ; il ne contient pas la configuration personnalisée.
Pour chaque différence entre les fichiers, évaluez si celle-ci doit être reportée du fichier 10-centreon.conf.rpmnew au fichier 10-centreon.conf.
Vérifiez qu'Apache est bien configuré en exécutant la commande suivante :
apachectl configtest
Le résultat attendu est le suivant :
Syntax OK
Redémarrez les processus Apache et PHP pour prendre en compte la nouvelle configuration :
systemctl restart php-fpm httpd
Puis vérifiez le statut :
systemctl status httpd
Si tout est correct, vous devriez obtenir :
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/system/httpd.service.d
└─php-fpm.conf
Active: active (running) since Tue 2024-10-27 12:49:42 GMT; 2h 35min ago
Docs: man:httpd.service(8)
Main PID: 1483 (httpd)
Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec"
Tasks: 278 (limit: 5032)
Memory: 39.6M
CGroup: /system.slice/httpd.service
├─1483 /usr/sbin/httpd -DFOREGROUND
├─1484 /usr/sbin/httpd -DFOREGROUND
├─1485 /usr/sbin/httpd -DFOREGROUND
├─1486 /usr/sbin/httpd -DFOREGROUND
├─1487 /usr/sbin/httpd -DFOREGROUND
└─1887 /usr/sbin/httpd -DFOREGROUND
Configuration Apache personnalisée : activer la compression du texte
Afin d'améliorer la vitesse de chargement des pages, vous pouvez activer la compression du texte sur le serveur Apache. Le paquet brotli est nécessaire à son fonctionnement. Cette étape est facultative, mais elle offre une meilleure expérience utilisateur.
Ajoutez le code suivant à votre fichier de configuration Apache, dans les éléments <VirtualHost *:80> et <VirtualHost *:443> :
<IfModule mod_brotli.c>
AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json
</IfModule>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json
Étape 6 : Monter la base de données de version
- Si vous utilisiez MariaDB 10.5.x, montez-la de version vers la version 11.8.
Étape 7 : Finaliser la montée de version
-
Avant de démarrer la montée de version via l'interface web, montez de version le module Centreon BAM, puis rechargez le serveur Apache à l'aide de la commande suivante :
- Alma / RHEL / Oracle Linux 9
systemctl reload php-fpm httpd -
Finalisez le processus de montée de version :
- Avec l'assistant
- Avec un point de terminaison d'API dédié
-
Connectez-vous à l'interface web de Centreon pour poursuivre le processus de mise à jour. Cliquez sur Next :

-
Cliquez sur Next :

-
Les notes de version décrivent les principaux changements. Cliquez sur Next :

-
Ce processus réalise les différentes mises à jour. Cliquez sur Next :

-
Votre serveur Centreon est maintenant à jour. Cliquez sur Finish pour accéder à la page de connexion :

-
Déployez la configuration du serveur central depuis l'interface web de Centreon.
- Dans votre terminal, saisissez cette requête en utilisant l'adresse IP de votre plateforme et en remplaçant mytoken par votre jeton (comme précisé dans les prérequis) :
curl --location --request POST 'http://10.25.XX.XX:80/centreon/api/latest/platform/updates' \--header 'X-AUTH-TOKEN: mytoken' \--header 'Content-Type: application/json' \--data '{"components": [{"name": "centreon-web"}]}'- Cette requête ne renvoie aucun résultat. Pour vérifier que la mise à jour a bien été appliquée, consultez le numéro de version affiché sur la page de connexion de l'interface web de Centreon.
-
Enfin, redémarrez Broker, Engine et Gorgone sur le serveur central à l'aide de cette commande :
systemctl restart cbd centengine gorgoned -
Mettez à jour les permissions sur les fichiers de configuration de centreon-broker.
- Alma / RHEL / Oracle Linux 9
usermod -a -G centreon-broker apacheusermod -a -G apache centreon-broker -
Consultez les procédures dédiées à Centreon MBI et à Centreon MAP pour mettre à jour ces modules.
Étape 8 : Actions post montée de version
-
Montez de version les extensions. Depuis le menu Administration > Extensions > Gestionnaire, mettez à jour toutes les extensions, en commençant par les suivantes :
- License Manager,
- Monitoring Connector Manager,
- Auto Discovery.
Vous pouvez ensuite mettre à jour toutes les autres extensions commerciales.
-
Si vous utilisiez des commandes personnalisées pour un collecteur (sur la page Configuration > Collecteurs > Collecteurs, dans la section Monitoring Engine Information), sachez qu'une nouvelle expression régulière de validation est désormais appliquée (
[a-zA-Z0-9\-\_]+) : vos commandes personnalisées devront peut-être être adaptées. Sur le serveur central :- Pour identifier les commandes qui doivent être adaptées, exécutez :
sudo -u apache php /usr/share/centreon/bin/console w:m:c --dry-run
- Pour adapter automatiquement les commandes, exécutez :
(Vous pouvez également les adapter manuellement.)sudo -u apache php /usr/share/centreon/bin/console w:m:c
- Pour identifier les commandes qui doivent être adaptées, exécutez :
-
Redémarrez les processus :
systemctl restart cbd centengine centreontrapd gorgoned
Montée de version des serveurs distants
Cette procédure est identique à celle utilisée pour monter de version un serveur Centreon Central, avec en plus la nécessité de récupérer la clé de déchiffrement à la fin.
Récupération de la clé de déchiffrement
Exécutez le script suivant avec l'adresse IP du serveur central afin de permettre au serveur distant de recevoir et de traiter des données chiffrées :
/usr/share/centreon/bin/writeEngineSecrets.sh <BASE_URL> <API_ACCOUNT> <PASSWORD>
Exemple :
/usr/share/centreon/bin/writeEngineSecrets.sh https://10.10.10.10/centreon admin password
Vous devez utiliser admin comme valeur pour <API_ACCOUNT>.
Redémarrez centengine :
systemctl restart centengine
En fin de mise à jour, la configuration doit être déployée depuis le serveur central.
Montée de version des collecteurs
Mise à jour du dépôt Centreon
Exécutez la commande suivante :
- Alma / RHEL / Oracle Linux 9
dnf install -y dnf-plugins-core && \
rm -f /etc/yum.repos.d/centreon* && \
dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/26.10/el9/centreon-26.10.repo
Montée de version de la solution Centreon
Videz le cache :
- Alma / RHEL / Oracle Linux 9
dnf clean all --enablerepo=*
Montez ensuite tous les composants de version à l'aide de la commande suivante :
- Alma / RHEL / Oracle Linux 9
dnf update centreon\* -y
Si vous avez installé MariaDB à partir de ses dépôts officiels, vous pouvez rencontrer un conflit. Consultez notre procédure dédiée pour le contourner.
Acceptez les nouvelles clés GPG des dépôts si elles vous sont proposées.
Redémarrez centreon :
systemctl restart centreon
Récupération de la clé de déchiffrement
Exécutez le script suivant avec la bonne adresse IP afin de permettre au collecteur de recevoir et de traiter des données chiffrées.
L'adresse IP à utiliser dépend des conditions suivantes :
- Pour les collecteurs rattachés directement au serveur central, utilisez l'adresse IP du serveur central.
- Pour les collecteurs rattachés à un serveur distant, utilisez l'adresse IP du serveur distant. Dans ce cas, vous devez toutefois vérifier au préalable que le serveur distant dispose de la bonne clé, en contrôlant que la valeur d'
app_secretdans le fichier/etc/centreon-engine/engine-context.jsonest identique à celle du serveur central. Si ce n'est pas le cas, relancez le script avec la bonne adresse IP pour corriger le fichier .json.
/usr/share/centreon/bin/writeEngineSecrets.sh <BASE_URL> <API_ACCOUNT> <PASSWORD>
Exemple :
/usr/share/centreon/bin/writeEngineSecrets.sh https://10.10.10.10/centreon admin password
Vous devez utiliser admin comme valeur pour <API_ACCOUNT>.
Redémarrez centengine :
systemctl restart centengine