Skip to main content
Version: 22.10

Upgrade from Centreon 20.10

This chapter describes how to upgrade your Centreon platform from version 20.10 to version 22.10.

When you upgrade your central server, make sure you also upgrade all your remote servers and your pollers. All servers in your architecture must have the same version of Centreon. In addition, all servers must use the same version of the BBDO protocol.

If you want to migrate your Centreon server to Oracle Linux / RHEL 8 you need to follow the migration procedure

To perform this procedure, your MariaDB version must be >= 10.3.22. If not, please follow this procedure in order to update MariaDB before you can continue with the upgrade from version 20.10 to version 21.04 as described by this document.

Warning, following the correction of a problem relating to the database schema, it will be necessary to stop the insertion of the data collected into the database during the update. These will be stored in temporary files and then installed at the end of the update process.

Prerequisites

Perform a backup

Be sure that you have fully backed up your environment for the following servers:

  • Central server
  • Database server

Update the RPM signing key

For security reasons, the keys used to sign Centreon RPMs are rotated regularly. The last change occurred on October 14, 2021. When upgrading from an older version, you need to go through the key rotation procedure, to remove the old key and install the new one.

Update to the last minor version

  1. On your 20.10 platform, replace https://packages.centreon.com/rpm-standard or https://yum.centreon.com/standard by https://archives.centreon.com/standard/ in your current YUM configuration (by default, /etc/yum.repos.d/centreon.repo).

  2. Update your Centreon 20.10 to the latest minor version.

Upgrade the Centreon Central server

Since 21.04, Centreon uses MariaDB 10.5.

This upgrade process will only upgrade Centreon components first.

MariaDB will be upgraded afterwards.

Update the Centreon repository

Remove the centreon.repo file:

rm /etc/yum.repos.d/centreon.repo

Run the following commands:

dnf install -y dnf-plugins-core
dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/22.10/el8/centreon-22.10.repo

If you have an offline license, install the corresponding repository for the plugin packs. If you are using a Business edition, install the correct Business repository too. You can find the repositories on the support portal.

Install the MariaDB repository

curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=rhel --os-version=7 --mariadb-server-version="mariadb-10.5"

Upgrade PHP

Centreon 22.10 uses PHP in version 8.1.

First, you need to install the remi repository:

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

Then, you need to change the PHP stream from version 7.3 to 8.1 by executing the following commands and answering y to confirm:

dnf module reset php
dnf module install php:remi-8.1

Upgrade the Centreon solution

Make sure all users are logged out from the Centreon web interface before starting the upgrade procedure.

If you have installed Business extensions, update the Business repository to version 22.10. Visit the support portal to get its address.

Stop the Centreon Broker process:

systemctl stop cbd

Delete existing retention files:

rm /var/lib/centreon-broker/* -f

Clean yum cache:

yum clean all --enablerepo=*

Then upgrade all the components with the following command:

yum update centreon\* php-pecl-gnupg

Accept new GPG keys from the repositories as needed.

Execute the following commands:

systemctl enable php-fpm
systemctl restart php-fpm

Update your customized Apache configuration

This section only applies if you customized your Apache configuration. When upgrading your platform, the Apache configuration file is not upgraded automatically: the new configuration file brought by the rpm does not replace the old file. You must copy the changes manually to your customized configuration file.

Run a diff between the old and the new Apache configuration files:

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 upgrade): this file contains the custom configuration. It does not contain anthing new brought by the upgrade, e.g. the authentication string in the LocationMatch directive
  • 10-centreon.conf.rpmnew (post upgrade): this file is provided by the rpm; it contains the authentication string, but does not contain any custom configuration.

For each difference between the files, assess whether you should copy it from 10-centreon.conf.rpmnew to 10-centreon.conf.

In particular, make sure your customized Apache configuration contains the following directive (with authentication).

<LocationMatch ^\${base_uri}/?(authentication|api/(latest|beta|v[0-9]+|v[0-9]+\.[0-9]+))/.*$>
ProxyPassMatch "fcgi://127.0.0.1:9042${install_dir}/api/index.php/$1"
</LocationMatch>

Customized Apache configuration: enable text compression

In order to improve page loading speed, you can activate text compression on the Apache server. It requires the brotli package to work. This is optional but it provides a better user experience.

Add the following code to your Apache configuration file, in both the <VirtualHost *:80> and <VirtualHost *:443> elements:

<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

Upgrade the MariaDB server

The MariaDB components can now be upgraded.

Refer to the official MariaDB documentation to know more about this process:

https://mariadb.com/kb/en/upgrading-between-major-mariadb-versions/

Update the Centreon repository

This step is required ONLY when your environment features an architecture with a dedicated remote DBMS. If your environment features Centreon Central and MariaDB together on the same server, you SHOULD simply skip this step.

Run the following command on the dedicated DBMS server:

dnf install -y dnf-plugins-core
dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/22.10/el8/centreon-22.10.repo

Upgrading MariaDB

You have to uninstall then reinstall MariaDB to upgrade between major versions (i.e. to switch from version 10.3 to version 10.5).

  1. Stop the mariadb service:

    systemctl stop mariadb
  2. Uninstall the current version:

    rpm --erase --nodeps --verbose MariaDB-server MariaDB-client MariaDB-shared MariaDB-compat MariaDB-common

    During this uninstallation step, you may encounter an error because one or several MariaDB packages are missing. In that case, you have to execute the uninstallation command without including the missing package.

    For instance, you get the following error message:

    package MariaDB-compat is not installed

    As MariaDB-compat is the missing package, please execute the same command without quoting MariaDB-compat:

    rpm --erase --nodeps --verbose MariaDB-server MariaDB-client MariaDB-shared MariaDB-common

Make sure you have installed the official MariaDB repository before you continue the procedure.

  1. Install the 10.5 version:

    yum install MariaDB-server-10.5\* MariaDB-client-10.5\* MariaDB-shared-10.5\* MariaDB-common-10.5\*
  2. Start the mariadb service:

    systemctl start mariadb
  3. Launch the MariaDB upgrade process:

    mysql_upgrade

    If your database is password-protected, enter:

    mysql_upgrade -u <database_admin_user> -p

    Example: if your database_admin_user is root, enter:

    mysql_upgrade -u root -p

    Refer to the official documentation for more information or if errors occur during this last step.

Enable MariaDB on startup

Execute the following command:

systemctl enable mariadb

Finalizing the upgrade

Before starting the web upgrade process, reload the Apache server with the following command:

systemctl reload httpd

Then log on to the Centreon web interface to continue the upgrade process:

Click on Next:

image

Click on Next:

image

The release notes describe the main changes. Click on Next:

image

This process performs the various upgrades. Click on Next:

image

Your Centreon server is now up to date. Click on Finish to access the login page:

image

As the interface layout has changed in version 22.10, you need to clear your browser cache to display the new theme.

If the Centreon BAM module is installed, refer to the upgrade procedure.

Post-upgrade actions

  1. Upgrade extensions. From Administration > Extensions > Manager, upgrade all extensions, starting with the following:

    • License Manager,
    • Plugin Packs Manager,
    • Auto Discovery.

    Then you can upgrade all other commercial extensions.

  2. Deploy the configuration.

  3. Restart the processes:

    systemctl restart cbd centengine centreontrapd gorgoned

Upgrade the Remote Servers

This procedure is the same as for upgrading a Centreon Central server.

At the end of the update, configuration should be deployed from the Central server.

Upgrade the Pollers

Update the Centreon repository

Run the following command:

dnf install -y dnf-plugins-core
dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/22.10/el8/centreon-22.10.repo

Upgrade the Centreon solution

Clean yum cache:

yum clean all --enablerepo=*

Upgrade all the components with the following command:

yum update centreon\*

Accept new GPG keys from the repositories as needed.

Start and enable gorgoned:

systemctl start gorgoned
systemctl enable gorgoned

Restart centengine:

systemctl restart centengine