Montée de version depuis Centreon 20.10
Ce chapitre décrit la procédure de montée de version de votre plate-forme Centreon depuis la version 20.10 vers la version 21.10.
Si vous souhaitez migrer votre serveur Centreon vers CentOS / Oracle Linux / RHEL 8, vous devez suivre la procédure de migration
Pour effectuer cette procédure, votre version de MariaDB doit être >= 10.3.22. Si cela n'est pas le cas, merci de suivre avant le chapitre de mise à jour de MariaDB
Attention, suite à la correction d'un problème relatif au schéma de base de données, il sera nécessaire d'arrêter l'insertion en base de données des données collectées le temps de la mise à jour. Celles-ci seront stockées dans des fichiers temporaires puis insérées à la fin du processus de mise à jour.
Prérequis
Sauvegarde
Avant toute chose, il est préférable de s’assurer de l’état et de la consistance des sauvegardes de l’ensemble des serveurs centraux de votre plate-forme :
- Serveur Centreon Central,
- Serveur de gestion de base de données.
Mettre à jour la clé de signature RPM
Pour des raisons de sécurité, les clés utilisées pour signer les RPMs Centreon sont changées régulièrement. Le dernier changement a eu lieu le 14 octobre 2021. Lorsque vous mettez Centreon à jour depuis une version plus ancienne, vous devez suivre la procédure de changement de clé, afin de supprimer l'ancienne clé et d'installer la nouvelle.
Montée de version du serveur Centreon Central
Depuis la version 21.04, Centreon utilise MariaDB 10.5.
Le processus suivant met seulement à jour les composants Centreon pour le moment.
MariaDB sera mis à jour après.
Mise à jour des dépôts
Il est nécessaire de mettre à jour le dépôt Centreon.
Exécutez la commande suivante :
- RHEL / CentOS / Oracle Linux 8
- CentOS 7
dnf install -y https://yum.centreon.com/standard/21.10/el8/stable/noarch/RPMS/centreon-release-21.10-5.el8.noarch.rpm
yum install -y https://yum.centreon.com/standard/21.10/el7/stable/noarch/RPMS/centreon-release-21.10-5.el7.centos.noarch.rpm
Si vous avez une licence offline, installez le dépôt des plugin packs correspondant à la version. Si vous avez une édition Business, installez également le dépôt Business. Vous pouvez en trouver l'adresse sur le portail support Centreon.
Montée de version de PHP
Centreon 21.10 utilise PHP en version 8.0.
- RHEL 8
- Alma / Oracle Linux 8
- CentOS 7
Vous devez tout d'abord installer les dépôts remi :
dnf install -y dnf-plugins-core
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms
Ensuite, vous devez changer le flux PHP de la version 7.3 à 8.0 en exécutant les commandes suivantes et en répondant y pour confirmer :
dnf module reset php
dnf module install php:remi-8.0
Vous devez tout d'abord installer les dépôts remi :
dnf install -y dnf-plugins-core
dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
Ensuite, vous devez changer le flux PHP de la version 7.3 à 8.0 en exécutant les commandes suivantes et en répondant y pour confirmer :
dnf module reset php
dnf module install php:remi-8.0
Vous devez tout d'abord installer les dépôts remi :
yum install -y yum-utils
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
Ensuite, vous devez activer le dépôt php 8.0
yum-config-manager --enable remi-php80
Montée de version de la solution Centreon
Assurez-vous que tous les utilisateurs sont déconnectés avant de commencer la procédure de mise à jour.
Si vous avez des extensions Business installées, mettez à jour le dépôt business en 21.10. Rendez-vous sur le portail du support pour en récupérer l'adresse.
Arrêter le processus Centreon Broker :
systemctl stop cbd
Supprimez les fichiers de rétention présents :
rm /var/lib/centreon-broker/* -f
Videz le cache de yum :
yum clean all --enablerepo=*
Mettez à jour l'ensemble des composants :
yum update centreon\*
Acceptez les nouvelles clés GPG des dépôts si nécessaire.
- RHEL / CentOS / Oracle Linux 8
- CentOS 7
Exécutez les commandes suivantes :
systemctl enable php-fpm
systemctl restart php-fpm
Le fuseau horaire par défaut de PHP 8 doit être configuré. Exécutez la commande suivante :
echo "date.timezone = Europe/Paris" >> /etc/php.d/50-centreon.ini
Remplacez Europe/Paris par votre fuseau horaire. La liste des fuseaux horaires est disponible ici. Exécutez les commandes suivantes :
systemctl stop rh-php72-php-fpm
systemctl disable rh-php72-php-fpm
systemctl enable php-fpm
systemctl start php-fpm
Ou, si votre version de PHP est la 7.4 :
systemctl stop rh-php74-php-fpm
systemctl disable rh-php74-php-fpm
systemctl enable php-fpm
systemctl start php-fpm
Mettre à jour une configuration Apache personnalisée
Cette section s'applique uniquement si vous avez personnalisé votre configuration Apache.
- RHEL / Oracle Linux 8
- CentOS 7
Lors de la montée de version, le fichier de configuration Apache n'est pas mis à jour automatiquement : le nouveau fichier de configuration amené par le rpm ne remplace pas l'ancien. Vous devez reporter les changements manuellement dans votre fichier de configuration personnalisée.
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.
Notamment, assurez-vous que votre configuration Apache personnalisée contient la directive suivante (incluant authentication).
<LocationMatch ^/centreon/(authentication|api/(latest|beta|v[0-9]+|v[0-9]+\.[0-9]+))/.*$>
ProxyPassMatch fcgi://127.0.0.1:9042/usr/share/centreon/api/index.php/$1
</LocationMatch>
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 Apache pour appliquer les modifications :
systemctl restart php-fpm httpd
Puis vérifiez le statut :
systemctl status httpd
Si tout est correct, vous devriez avoir quelque chose comme :
● 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 2020-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
Lors de la montée de version, le fichier de configuration Apache n'est pas mis à jour automatiquement : le nouveau fichier de configuration amené par le rpm ne remplace pas l'ancien. Vous devez reporter les changements manuellement dans votre fichier de configuration personnalisée.
Faites un diff entre l'ancien et le nouveau fichier de configuration Apache :
diff -u /opt/rh/httpd24/root/etc/httpd/conf.d/10-centreon.conf /opt/rh/httpd24/root/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.
Notamment, assurez-vous que votre configuration Apache personnalisée contient la directive suivante (incluant authentication).
<LocationMatch ^/centreon/(authentication|api/(latest|beta|v[0-9]+|v[0-9]+\.[0-9]+))/.*$>
ProxyPassMatch fcgi://127.0.0.1:9042/usr/share/centreon/api/index.php/$1
</LocationMatch>
Vérifiez qu'Apache est bien configuré, en exécutant la commande suivante :
/opt/rh/httpd24/root/usr/sbin/apachectl configtest
Le résultat attendu est le suivant :
Syntax OK
Redémarrez Apache pour appliquer les modifications :
systemctl restart php-fpm httpd24-httpd
Puis vérifiez le statut :
systemctl status httpd24-httpd
Si tout est correct, vous devriez avoir quelque chose comme :
● httpd24-httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd24-httpd.service; enabled; vendor preset: disabled)
Active: active (running) since mar. 2020-05-12 15:39:58 CEST; 25min ago
Process: 31762 ExecStop=/opt/rh/httpd24/root/usr/sbin/httpd-scl-wrapper $OPTIONS -k graceful-stop (code=exited, status=0/SUCCESS)
Main PID: 31786 (httpd)
Status: "Total requests: 850; Idle/Busy workers 50/50;Requests/sec: 0.547; Bytes served/sec: 5.1KB/sec"
CGroup: /system.slice/httpd24-httpd.service
├─ 1219 /opt/rh/httpd24/root/usr/sbin/httpd -DFOREGROUND
├─31786 /opt/rh/httpd24/root/usr/sbin/httpd -DFOREGROUND
├─31788 /opt/rh/httpd24/root/usr/sbin/httpd -DFOREGROUND
├─31789 /opt/rh/httpd24/root/usr/sbin/httpd -DFOREGROUND
├─31790 /opt/rh/httpd24/root/usr/sbin/httpd -DFOREGROUND
├─31802 /opt/rh/httpd24/root/usr/sbin/httpd -DFOREGROUND
├─31865 /opt/rh/httpd24/root/usr/sbin/httpd -DFOREGROUND
├─31866 /opt/rh/httpd24/root/usr/sbin/httpd -DFOREGROUND
├─31882 /opt/rh/httpd24/root/usr/sbin/httpd -DFOREGROUND
├─31903 /opt/rh/httpd24/root/usr/sbin/httpd -DFOREGROUND
└─32050 /opt/rh/httpd24/root/usr/sbin/httpd -DFOREGROUND
Finalisation de la mise à jour
- RHEL / CentOS / Oracle Linux 8
- CentOS 7
Avant de démarrer la montée de version via l'interface web, rechargez le serveur Apache avec la commande suivante :
systemctl reload httpd
Avant de démarrer la montée de version via l'interface web, rechargez le serveur Apache avec la commande suivante :
systemctl reload httpd24-httpd
Connectez-vous ensuite à l'interface web Centreon pour démarrer le processus de mise à jour :
Cliquez sur Next :
Cliquez sur Next :
La note de version présente les principaux changements, cliquez sur Next :
Le 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 :
Si le module Centreon BAM est installé, référez-vous à la documentation associée pour le mettre à jour.
Actions post montée de version
Montée de version des extensions :
Depuis le menu
Administration > Extensions > Gestionnaire
, mettez à jour toutes les extensions, en commençant par les suivantes :- License Manager,
- Plugin Packs Manager,
- Auto Discovery.
Vous pouvez alors mettre à jour toutes les autres extensions commerciales.
Redémarrez les processus Centreon :
systemctl restart cbd centengine centreontrapd gorgoned
Montée de version du serveur MariaDB
Les composants MariaDB peuvent maintenant être mis à jour.
Référez vous à la documentation officielle de MariaDB pour en savoir davantage sur ce processus :
https://mariadb.com/kb/en/upgrading-between-major-mariadb-versions/
Mettre à jour le dépôt Centreon
Cette étape est nécessaire seulement si votre environnement comprend une base de données déportée. Si le serveur central Centreon et MariaDB sont hébergés sur le même serveur, sautez cette étape.
Exécutez la commande suivante sur le serveur de base de données dédié :
- RHEL / CentOS / Oracle Linux 8
- CentOS 7
dnf install -y https://yum.centreon.com/standard/21.10/el8/stable/noarch/RPMS/centreon-release-21.10-5.el8.noarch.rpm
yum install -y https://yum.centreon.com/standard/21.10/el7/stable/noarch/RPMS/centreon-release-21.10-5.el7.centos.noarch.rpm
Mettre à jour MariaDB
Il est nécessaire de désinstaller puis réinstaller MariaDB pour changer de version majeure (c'est-à-dire pour passer d'une version 10.3 à une version 10.5).
Arrêtez le service mariadb :
systemctl stop mariadb
Désinstallez la version actuelle :
rpm --erase --nodeps --verbose MariaDB-server MariaDB-client MariaDB-shared MariaDB-compat MariaDB-common
Installez la version 10.5 :
yum install MariaDB-server-10.5\* MariaDB-client-10.5\* MariaDB-shared-10.5\* MariaDB-compat-10.5\* MariaDB-common-10.5\*
Démarrer le service mariadb :
systemctl start mariadb
Lancez le processus de mise à jour MariaDB :
mysql_upgrade
Si votre base de données est protégée par mot de passe, entrez :
mysql_upgrade -u <utilisateur_admin_bdd> -p
Exemple : si votre utilisateur_admin_bdd est
root
, entrez:mysql_upgrade -u root -p
Référez vous à la documentation officielle pour plus d'informations ou si des erreurs apparaissent pendant cette dernière étape.
Activer MariaDB au démarrage automatique
Exécutez la commande suivante :
systemctl enable mariadb
Montée de version des Remote Servers
Cette procédure est identique à la montée de version d'un serveur Centreon Central.
En fin de mise à jour, la configuration doit être déployée depuis le serveur Central.
Montée de version des Pollers
Mise à jour des dépôts
Exécutez la commande suivante :
- RHEL / CentOS / Oracle Linux 8
- CentOS 7
dnf install -y https://yum.centreon.com/standard/21.10/el8/stable/noarch/RPMS/centreon-release-21.10-5.el8.noarch.rpm
yum install -y https://yum.centreon.com/standard/21.10/el7/stable/noarch/RPMS/centreon-release-21.10-5.el7.centos.noarch.rpm
Montée de version de la solution Centreon
Videz le cache de yum :
yum clean all --enablerepo=*
Mettez à jour l'ensemble des composants :
yum update centreon\*
Acceptez les nouvelles clés GPG des dépôts si nécessaire.
Démarrez et activez gorgoned:
systemctl start gorgoned
systemctl enable gorgoned
Redémarrez centengine:
systemctl restart centengine