Aller au contenu principal

Monter de version depuis Centreon 24.10

Ce chapitre décrit comment monter votre plateforme Centreon de la version 24.10 à 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.

Composants autres que Centreon à monter de version​

ComposantVersion dans 24.10Version dans 26.10
PHP8.28.4
Base de données
  • 10.11.x
  • MySQL 8.0 ou 8.4
  • MariaDB 11.8
  • MySQL 8.4

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 :

  • 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.

  1. Allez dans Administration > Jetons d'authentification, puis cliquez sur Ajouter.
  2. 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​

  1. Mettez à jour votre Centreon 24.10 jusqu'à la dernière version mineure.

  2. Supprimez les fichiers des dépôts :

    rm -f /etc/yum.repos.d/centreon-24.10.repo
    rm -f /etc/yum.repos.d/centreon.repo
  3. 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
  1. 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​

  1. 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.

  2. Si vous avez installé des extensions Business, supprimez la configuration du dépôt 24.10 :

rm /etc/yum.repos.d/centreon-business-24.10.repo
  1. Installez le dépôt Business 26.10 : rendez-vous sur le portail du support pour en obtenir l'adresse.

  2. 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).

  3. Arrêtez le processus Centreon Broker :

systemctl stop cbd
  1. 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.

Vous devez installer le dépôt Remi, puis basculer le flux PHP de la version 8.2 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.

  1. Videz le cache :
dnf clean all --enablerepo=*
  1. Montez ensuite tous les composants de version à l'aide de la commande suivante :
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.

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​

Étape 7 : Finaliser la montée de version​

  1. 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 :

    systemctl reload php-fpm httpd
  2. Finalisez le processus de montée de version :

    1. Connectez-vous à l'interface web de Centreon pour poursuivre le processus de mise à jour. Cliquez sur Next :

      image

    2. Cliquez sur Next :

      image

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

      image

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

      image

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

      image

    6. Déployez la configuration du serveur central depuis l'interface web de Centreon.

  3. Enfin, redémarrez Broker, Engine et Gorgone sur le serveur central à l'aide de cette commande :

    systemctl restart cbd centengine gorgoned
  4. Mettez à jour les permissions sur les fichiers de configuration de centreon-broker.

    usermod -a -G centreon-broker apache
    usermod -a -G apache centreon-broker
  5. 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​

  1. 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.

  2. 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 :
      sudo -u apache php /usr/share/centreon/bin/console w:m:c
      (Vous pouvez également les adapter manuellement.)
  3. Déployez la configuration.

  4. 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 :

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 :

dnf clean all --enablerepo=*

Montez ensuite tous les composants de version à l'aide de la commande suivante :

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_secret dans le fichier /etc/centreon-engine/engine-context.json est 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