From 627b871171e48a2a42a4dc5016a9540d6d5f2a56 Mon Sep 17 00:00:00 2001 From: Mikael Mourcia Date: Thu, 17 Oct 2024 12:00:49 +0200 Subject: [PATCH] beginning of rn for 24.10 --- .../docs/fr/notes-de-version/24.10.0.md | 145 ++++ .../migration/migration-24.10.0.md | 624 ++++++++++++++++++ 2 files changed, 769 insertions(+) create mode 100644 community/sources/docs/fr/notes-de-version/24.10.0.md create mode 100644 community/sources/docs/fr/notes-de-version/migration/migration-24.10.0.md diff --git a/community/sources/docs/fr/notes-de-version/24.10.0.md b/community/sources/docs/fr/notes-de-version/24.10.0.md new file mode 100644 index 0000000000..f86be5220d --- /dev/null +++ b/community/sources/docs/fr/notes-de-version/24.10.0.md @@ -0,0 +1,145 @@ +# Notes de version Canopsis 24.10.0 + +Canopsis 24.10.0 a été publié le 31 octobre 2024. + +## Procédure d'installation + +Suivre la [procédure d'installation de Canopsis](../guide-administration/installation/index.md). + +## Procédure de mise à jour + +Canopsis 24.10.0 apporte des changements importants tant au niveau technique que fonctionnel. +À ce titre, le [Guide de migration vers Canopsis 24.10.0](migration/migration-24.10.0.md) doit obligatoirement être suivi pour les installations déjà en place. + +## Changements entre Canopsis 24.04 et 24.10 + +### WebuiAMQP2TTY + +Canopsis met à disposition une version graphique de l'outil [Amqp2tty](../../../guide-de-depannage/amqp2tty). +La commande ̀`amqp2tty` permet d'afficher sur une console les événements bruts présents dans le bus de données RabbitMQ avant transformation par Canopsis. + +![enregistrements-d-evenements](../../guide-utilisation/menu-administration/img/enregistrements-d-evenements.png) + +![enregistrements-d-evenements-contenu](../../guide-utilisation/menu-administration/img/enregistrements-d-evenements-contenu.png) + +## Pré requis tech metrics activés par défaut + + +## Support tool + +https://git.canopsis.net/canopsis/canopsis-pro/-/issues/5283 + +## Générateurs de liens + +Mode avancé https://git.canopsis.net/canopsis/canopsis-pro/-/issues/5621 + +### Montées de version + +Les outils suivants bénéficient de mises à jour : + +| Outil | Version d'origine | Version en 24.04 | +| ----------- | ----------------- | ------------------- | +| MongoDB | 5.0 | 7 .0 | +| TimescaleDB | 2.14.2 | 2.15.1 | +| PostgreSQ L | 13 | 15 | +| RabbitMQ | 3.11.11 | 3.12.13 | +| Vuetify | 1 | 2 | + +Les instructions pour leur mise à jour sont précisées dans le [guide de migration](migration/migration-24.10.0.md). + +### Améliorations + +* **Général :** + * Les unités acceptées pour les métriques sont à définir dans le fichier de configuration canopsis.toml (#5467) + * Ajout d'un mécanisme de nommage unique d'une instance Canopsis. Ce nom est visible dans le tooltip du logo Canopsis (#5604) + * La fonctionnalité des "métriques techniques" est à présent activable/désactivable depuis le module Healthcheck (#5584) +* **UI :** + * Le titre de l'application peut à présent être défini via un éditeur HTML (#5387) + * Mise à disposition de la fonctionnalité "Enregistrement d'événements" (#5098) + * Ajout d'options d'affichage pour le helper handlebar "tags" (#5622) + * Ajout d'un helper handlebars "map" permettant d'afficher des clés valeurs sous forme de badges (#5365) + * Le type "default_active" peut à présent être masqué (#5508) + * Le formulaire de création d'un utilisateur active l'utilisateur par défaut (#4778) + * La vue SQL `perf_data_name` a été remplacée par une table en vue d'améliorer des temps de calculs très consommateurs (#5494) + * **Bac à alarmes** + * Il est à présent possible d'exporter une sélection d'alarmes en CSV (#5556) + * La corrélation dans le bac à alarmes peut à présent être activée par défaut (#5545) + * Ajout d'un action permettant de définir un comportement périodique rapidemment (#5468) + * **Météo des services** + * Possibilité de paramétrer le comportement des tuiles lorsqu'aucune action n'est requise (comprendre lorsque toutes les alarmes ont été acquittées) (#5470) + * Un droit spécifique régit la capacité de déclarer un ticket depuis le widget "Météo des services" (#5486) + * **Compteur** + * Le compteur "Unack" est disponible dans la liste des compteurs (#5561) + * **Scenarios** + * Ajout des actions de type "Unsnooze" et "Pbehaviorremove" dans le module scénario (#5077) + * Dans un template de scénario ou de règle de déclaration de ticket, les informations d'entités des alarmes conséquences d'une méta alarme sont utilisables dans le payload (#5635) + * **Générateur de liens** + * Les variables d'environnement peuvent être utilisées dans le mode avancé des règles de génération de liens (#5621) + * Des suggestions de variables sont à présent proposées dans l'éditeur avancé (#5621) + * **Patterns** + * L'éditeur de filtres peut agir sur les méta alarmes (#5532) + * Les valeurs de types d'événements ne sont plus traduites pour éviter des confusions (#5507) + * **Comportements périodiques** + * Ajout de la possibilité de prédéfinir le nom des comportements périodiques (#5469) + * **Healthcheck** + * Tous les types d'événements peuvent être sélectionnés dans les graphs du moteur fifo (#5643) + * **Règles de méta alarmes** + * La date de dernière modification des règles de méta alarmes est mise à jour correctement (#5528) +* **API :** + * +* **Moteurs :** + * Ajout d'un fonction "strjoin" dans les templates GO (#5566) + * **Correlation** + * Il est à présent possible de conditionner la création de méta alarmes à l'activation des alarmes qui matchent le pattern (#5529) + * Correction d'un bug qui permettait à des alarmes d'être attachées à des méta alarmes déjà cloturées (#5573) + * **Comportements périodiques** + * Les comportements périodiques concernants les méta alarmes sont à présent appliqués dès leur création (#5605) + * **SNMP** + * +* **Connecteurs :** + * **SNMP** + * Le testeur de trap "traptester.py" affiche désormais l'événement traduit au lieu de l'événement brut type trap (#5613) + +* **Documentation :** + * [Enregistrements d'événements](../../guide-utilisation/menu-administration/enregistrements-d-evenements/) + * [Helpers Handlebars](../../guide-utilisation/interface/helpers/) + * [Templates GO](../../guide-utilisation/templates-go/) + + +### Corrections de bugs + +* **Général :** + * +* **UI :** + * + * **Bac à alarmes** + * + * **Météo des services** + * Correction d'un bug qui entrainait un calcul erroné de compteurs de comportements périodiques sur les tuiles de météos de service (#5606) + * **Compteur** + * Correction du template par défaut du widget "Compteur" qui affichait une balise "
" (#5589) + * **Scenarios** + * + * **Healthcheck** + * + * **Patterns** + * + * **Comportements périodiques** + * + * **Règles de déclaration de ticket** + * + * **Règles de méta alarmes** + * +* **API :** + * +* **Moteurs :** + * Correction d'un bug qui entrainait une erreur de calcul de durée active/inactive d'alarmes dans certaines situations (#5602) + * **CHE** + * Correction d'un bug qui empêchait les règles d'enrichissement d'utiliser des "ComponentInfos" qui avait été importées par l'outil import-context-graph (#5640) + * **Action** + * Correction d'un bug qui empêchait les actions scénario de type "comportement périodique" d'être exécutées plusieurs fois (#5599) + * **SNMP** + * Correction d'un bug qui présentait à tort le moteur SNMP en KO dans le module de healthcheck (#5607) +* **Connecteurs :** + * **Adapteur Centreon** + * diff --git a/community/sources/docs/fr/notes-de-version/migration/migration-24.10.0.md b/community/sources/docs/fr/notes-de-version/migration/migration-24.10.0.md new file mode 100644 index 0000000000..020098868e --- /dev/null +++ b/community/sources/docs/fr/notes-de-version/migration/migration-24.10.0.md @@ -0,0 +1,624 @@ +# Guide de migration vers Canopsis 24.10.0 + +Ce guide donne les instructions vous permettant de mettre à jour Canopsis 24.04 (dernière version disponible) vers [la version 24.10.0](../24.10.0.md). + +## Prérequis + +L'ensemble de cette procédure doit être lu avant son exécution. + +Ce document ne prend en compte que Canopsis Community et Canopsis Pro : tout développement personnalisé dont vous pourriez bénéficier ne fait pas partie du cadre de ce Guide de migration. + +Les fichiers de référence qui sont mentionnés dans ce guide sont disponibles à ces adresses + +| Édition | Sources | +| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| Édition Community | [https://git.canopsis.net/canopsis/canopsis-community/-/releases](https://git.canopsis.net/canopsis/canopsis-community/-/releases) | +| Édition pro | [https://git.canopsis.net/sources/canopsis-pro-sources/-/releases](https://git.canopsis.net/sources/canopsis-pro-sources/-/releases) | + +[TOC] + +## Procédure de mise à jour + +### Réalisation d'une sauvegarde + +Des sauvegardes sont toujours recommandées, qu'elles soient régulières ou lors de modifications importantes. + +La restructuration apportée dans les bases de données pour cette version de Canopsis nous amène à insister d'autant plus sur ce point. Il est donc fortement recommandé de réaliser une **sauvegarde complète** des VM hébergeant vos services Canopsis, avant cette mise à jour. + +### Vérification MongoDB + +!!! warning "Vérification" + + Avant de démarrer la procédure de mise à jour, vous devez vérifier que la valeur de `featureCompatibilityVersion` est bien positionnée à **5.0** + + === "Docker Compose" + ```sh + CPS_EDITION=pro docker compose exec mongodb bash + mongo -u root -p root + > db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } ) + > exit + ``` + + === "Paquets RHEL 8" + + ```sh + mongo -u root -p root + > db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } ) + > exit + ``` + + === "Helm" + ```sh + export MONGODB_ROOT_PASSWORD=$(kubectl get secret canopsis-mongodb -o jsonpath='{.data.mongodb-root-password}' | base64 --decode) + + kubectl exec canopsis-mongodb-0 -- mongosh -u root -p $MONGODB_ROOT_PASSWORD --eval 'db.adminCommand({ getParameter: 1, featureCompatibilityVersion: 1 })' + ``` + + Le retour doit être de la forme `{ "featureCompatibilityVersion" : { "version" : "5.0" }, "ok" : 1 }` + Si ce n'est pas le cas, vous ne pouvez pas continuer la mise à jour. + + +### Arrêt de l'environnement en cours de lancement + +Vous devez prévoir une interruption du service afin de procéder à la mise à jour qui va suivre. + +=== "Docker Compose" + + ```sh + CPS_EDITION=pro docker compose down + ``` + +=== "Paquets RHEL 8" + + ```sh + systemctl stop canopsis + systemctl stop mongod + systemctl stop postgresql-13 + systemctl stop rabbitmq-server + systemctl stop redis + ``` + +=== "Helm" + ```sh + kubectl delete --all deployments + ``` + +## Mise à jour Canopsis + +!!! information "Information" + + Canopsis 24.10 est livré avec un nouveau jeu de configurations de référence. + Vous devez télécharger ces configurations et y reporter vos personnalisations. + +=== "Docker Compose" + + Si vous êtes utilisateur de l'édition `community`, voici les étapes à suivre. + + Télécharger le paquet de la version 24.10.0 (canopsis-community-docker-compose-24.10.0.tar.gz) disponible à cette adresse [https://git.canopsis.net/canopsis/canopsis-community/-/releases](https://git.canopsis.net/canopsis/canopsis-community/-/releases). + + ```sh + export CPS_EDITION=community + tar xvfz canopsis-community-docker-compose-24.10.0.tar.gz + cd canopsis-community-docker-compose-24.10.0 + ``` + + Si vous êtes utilisateur de l'édition `pro`, voici les étapes à suivre. + + Télécharger le paquet de la version 24.10.0 (canopsis-pro-docker-compose-24.10.0.tar.gz) disponible à cette adresse [https://git.canopsis.net/sources/canopsis-pro-sources/-/releases](https://git.canopsis.net/sources/canopsis-pro-sources/-/releases). + + ```sh + export CPS_EDITION=pro + tar xvfz canopsis-pro-docker-compose-24.10.0.tar.gz + cd canopsis-pro-docker-compose-24.10.0 + ``` + + À ce stade, vous devez synchroniser les modifications réalisées sur vos anciens fichiers de configuration `docker-compose` avec les fichiers `docker-compose.yml` et/ou `docker-compose.override.yml`. + +=== "Paquets RHEL 8" + + Non concerné car ces configurations sont livrées directemement dans les paquets RPM. + +=== "Helm" + + Non concerné car ces configurations sont livrées directement dans les charts helm + +### Mise à jour de MongoDB + +Dans cette version de Canopsis, la base de données MongoDB passe de la version 5.0 à 7.0. +2 étapes sont nécessaires pour cette migration : + +1. De 5.0 à 6.0 +2. De 6.0 à 7.0 + +=== "Docker Compose" + + Modifiez la variable `MONGO_TAG` du fichier `.env` de cette façon : + + ```diff + -MONGO_TAG=7.0.8-jammy + +MONGO_TAG=6.0.15-jammy + ``` + + Démarrez le conteneur `mongodb` : + + ```sh + CPS_EDITION=pro docker compose up -d mongodb + ``` + + Entrez ensuite à l'intérieur de ce conteneur, afin de compléter la mise à jour vers MongoDB 6.0 : + + ```sh + CPS_EDITION=pro docker compose exec mongodb bash + mongosh -u root -p root + > db.adminCommand( { setFeatureCompatibilityVersion: "6.0" } ) + exit + ``` + + Modifiez la variable `MONGO_TAG` du fichier `.env` de cette façon : + + ```diff + -MONGO_TAG=6.0.15-jammy + +MONGO_TAG=7.0.8-jammy + ``` + + Démarrez le conteneur `mongodb` : + + ```sh + CPS_EDITION=pro docker compose up -d mongodb + ``` + + Entrez ensuite à l'intérieur de ce conteneur, afin de compléter la mise à jour vers MongoDB 7.0 : + + ```sh + CPS_EDITION=pro docker compose exec mongodb bash + mongosh -u root -p root + > db.adminCommand( { setFeatureCompatibilityVersion: "7.0", "confirm" : true } ) + ``` + + Après avoir mis à jour mongodb, l'option de telemetry sera activée. Pour la désactiver, exécutez la commande suivante : + + ```sh + CPS_EDITION=pro docker compose exec mongodb bash + mongosh -u root -p root + > disableTelemetry() + exit + ``` + + +=== "Paquets RHEL 8" + + !!! note + Si vous avez mis en place des exclusions dans le fichier `/etc/yum.conf`, veillez à la désactiver le temps de cette procédure. + + Mise à jour des paquets `mongodb` : + + ```sh + echo '[mongodb-org-6.0] + name=MongoDB Repository + baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/ + gpgcheck=1 + enabled=1 + gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc' | tee /etc/yum.repos.d/mongodb-org-6.0.repo + dnf makecache + dnf install mongodb-org-6.0.15 mongodb-org-database-6.0.15 mongodb-org-server-6.0.15 mongodb-org-mongos-6.0.15 mongodb-org-tools-6.0.15 + ``` + + Redémarrage de `mongodb` : + + ```sh + systemctl start mongod + ``` + + Ensuite, complétez la mise à jour vers MongoDB 6.0 : + + ```sh + mongosh -u root -p root + > db.adminCommand( { setFeatureCompatibilityVersion: "6.0" } ) + exit + ``` + + Mise à jour des paquets `mongodb` : + + !!! warning "Avertissement" + + Lors du passage de la version 6 à la version 7 l'option `storage.journal.enabled` est supprimée de mongodb. + + Si vous l'utilisiez, vous devez modifier le fichier `/etc/mongod.conf` et retirer les lignes suivantes: + ``` + journal: + enabled: true + ``` + + ```sh + echo '[mongodb-org-7.0] + name=MongoDB Repository + baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/7.0/x86_64/ + gpgcheck=1 + enabled=1 + gpgkey=https://www.mongodb.org/static/pgp/server-7.0.asc' | tee /etc/yum.repos.d/mongodb-org-7.0.repo + dnf makecache + dnf install mongodb-org-7.0.8 mongodb-org-database-7.0.8 mongodb-org-server-7.0.8 mongodb-org-mongos-7.0.8 mongodb-org-tools-7.0.8 + ``` + + + Redémarrage de `mongodb` : + + ```sh + systemctl start mongod + ``` + + Ensuite, complétez la mise à jour vers MongoDB 7.0 : + + ```sh + mongosh -u root -p root + > db.adminCommand( { setFeatureCompatibilityVersion: "7.0", confirm: true } ) + exit + ``` + + Après avoir mis à jour mongodb, l'option de telemetry sera activée. Pour la désactiver, exécutez la commande suivante : + + ```sh + mongosh -u root -p root + > disableTelemetry() + ``` + +=== "Helm" + + !!! warning Attention + Ce bloc est réservé uniquement aux environnements impliquant MongoDB exécuté dans un environnement Kubernetes. + + Si ce n'est pas votre cas, référez-vous au bloc [RHEL 8](#__tabbed_4_2) + + Dump de la base de données Canopsis : + ```sh + kubectl exec -n canopsis canopsis-mongodb-0 -- mongodump --uri="mongodb://cpsmongo:canopsis@localhost:27017/canopsis" --gzip --out /tmp/dump_canopsis.gz + ``` + + Récupération en local du dump : + ```sh + kubectl cp canopsis/canopsis-mongodb-0:/tmp/dump_canopsis.gz . + ``` + + Arrêt des pods MongoDB : + ```sh + kubectl scale statefulset canopsis-mongodb --replicas=0 + ``` + + Suppresion des PVCs MongoDB : + ```sh + kubectl get pvc --no-headers=true | awk '{print $1}' | grep mongodb | xargs kubectl delete pvc + ``` + + Mise à jour de MongoDB : + ```sh + helm repo update + + helm upgrade canopsis bitnami/mongodb --set auth.enabled=true --set architecture=replicaset --set replicaCount=3 --set auth.enabled=true --set auth.usernames={'cpsmongo'} --set auth.passwords={'canopsis'} --set auth.databases={'canopsis'} --set externalAccess.enable=true --set replicaSetName=rs0 --set persistence.resourcePolicy=keep --set externalAccess.service.type=ClusterIP --set arbiter.enabled=false --version 15.6.2 + ``` + + Lorsque les trois replicas sont UP, copie du dump de la DB sur l'instance 0 de MongoDB : + ```sh + kubectl cp ./canopsis canopsis-mongodb-0:/tmp/ + ``` + + Restauration du dump : + ```sh + kubectl exec -n canopsis canopsis-mongodb-0 -- mongorestore -u cpsmongo --password canopsis --gzip --db canopsis /tmp/canopsis + ``` + +### Mise à jour de TimescaleDB + +Dans cette version de Canopsis, la base de données TimescaleDB passe de la version 2.14.2 à 2.15.1. + + +Upgrading TimescaleDB from **`2.14.2-pg13`** to **`2.15.1-pg15`** + +The upgrade process is performed in two steps: first upgrading `postgres` from version **`13`** to **`15`**, and then upgrading TimescaleDB version from **`2.14.2`** to **`2.15.1`**. + +Below is instruction how to upgrade TimescaleDB if it deployed via docker compose. + +Step 1: Upgrade to `pg15` + +1. Backup your Database + +Before proceeding with any upgrade, use the `pg_dump` command to create a full dump of your database, for example: + +```bash +pg_dump ${POSTGRES_URL} -Ft -f ${POSTGRES_DUMP_ARCHIVE} +``` + +2. Stop TimescaleDB container and clean volumes. +3. Update Docker image tag to `2.14.2-pg15`. +4. Start TimescaleDB container and use the `pg_restore` command to restore the db, for example: + +```bash +pg_restore --dbname=${POSTGRES_URL} --no-owner -Ft -v ${POSTGRES_DUMP_ARCHIVE} +``` + +5. Verify PostgreSQL version with `SELECT version();` and check that all your data has been restored correctly. + + +Step 2: Upgrade to TimescaleDB `2.15.1` + +1. Stop TimescaleDB container, **do not clean volumes**. +2. Update Docker image tag to `2.15.1-pg15`. +3. Start TimescaleDB container and execute `ALTER EXTENSION timescaledb UPDATE;` for every database via `psql` command. + +**Additional note:** + +If you plan to create new databases after TimescaleDB upgrade. You need too update the default database template too. + +You can do it with psql commands: + +``` +\c template1 +ALTER EXTENSION timescaledb UPDATE; +``` + + +=== "Docker Compose" + + Relancez le conteneur `timescaledb` : + + ```sh + CPS_EDITION=pro docker compose up -d timescaledb + ``` + + Puis mettez à jour l'extension timescaledb (La chaîne de connexion doit être adaptée à votre environnement) + + ```sh + CPS_EDITION=pro docker compose exec timescaledb psql postgresql://cpspostgres:canopsis@timescaledb:5432/canopsis + canopsis=# ALTER EXTENSION timescaledb UPDATE; + ``` + + Ensuite, vérifiez que l'extension en elle-même est à présent bien à jour + + ```sh + \dx + ... + timescaledb | 2.14.2 | public | Enables scalable inserts and complex queries for time-series data (Community Edition) + ... + exit + ``` + +=== "Paquets RHEL 8" + + Mise à jour des paquets `timescaledb` : + + ```sh + dnf install timescaledb-2-postgresql-13-2.14.2 timescaledb-2-loader-postgresql-13-2.14.2 + ``` + + Relancez le service `timescaledb` (géré par PostgreSQL) : + + ```sh + systemctl start postgresql-13 + ``` + + Puis mettez à jour l'extension timescaledb (La chaîne de connexion doit être adaptée à votre environnement) + + ```sh + sudo -u postgres psql postgresql://cpspostgres:canopsis@localhost:5432/canopsis + canopsis=# ALTER EXTENSION timescaledb UPDATE; + ``` + + !!! warning "Avertissement" + Si l'opération `ALTER EXTENSION` échoue avec le message + `ERROR: must be owner of extension timescaledb` + veuillez suivre les opérations suivantes : + ```sh + su - postgres + psql -X + \c canopsis + canopsis=# ALTER EXTENSION timescaledb UPDATE; + ``` + + Ensuite, vérifiez que l'extension en elle-même est à présent bien à jour + + ```sh + \dx + ... + timescaledb | 2.14.2 | public | Enables scalable inserts and complex queries for time-series data (Community Edition) + ... + exit + ``` + +=== "Helm" + + !!! warning Attention + Ce bloc est réservé uniquement aux environnements impliquant TimescaleDB exécuté dans un environnement Kubernetes. + + Si ce n'est pas votre cas, référez-vous au bloc [RHEL 8](#__tabbed_5_2) + + Non concerné, la mise à jour est faite automatiquement lors de l'upgrade. + + +### Mise à jour de RabbitMQ + +Dans cette version de Canopsis, le bus rabbitMQ passe à la version 3.12.13. + +=== "Docker Compose" + + Il suffit de démarrer le conteneur + + ```sh + CPS_EDITION=pro docker compose up -d rabbitmq + ``` + +=== "Paquets RHEL 8" + + Passage en version 3.12 puis lancement du service `rabbitmq-server` : + + ```sh + dnf install --repo rabbitmq_erlang --repo rabbitmq_server erlang rabbitmq-server-3.12.13 + systemctl restart rabbitmq-server + ``` + +=== "Helm" + + !!! warning Attention + Ce bloc est réservé uniquement aux environnements impliquant RabbitMQ exécuté dans un environnement Kubernetes. + + Si ce n'est pas votre cas, référez-vous au bloc [RHEL 8](#__tabbed_6_2) + + + Non concerné, automatiquement géré par l'upgrade. + +### Remise à 0 du cache Redis + +Dans cette version de Canopsis, le cache de Canopsis doit repartir à 0. + +=== "Docker Compose" + + ```sh + CPS_EDITION=pro docker compose up -d redis + CPS_EDITION=pro docker compose exec redis /usr/local/bin/redis-cli -a canopsis flushall + OK + ``` + +=== "Paquets RHEL 8" + + ```sh + systemctl start redis + /bin/redis-cli -a canopsis flushall + ``` + +=== "Helm" + + Non concerné, le flush est fait automatiquement lors de l'upgrade. + +### Lancement du provisioning `canopsis-reconfigure` + +#### Synchronisation du fichier de configuration `canopsis.toml` ou fichier de surcharge + +Si vous avez modifié le fichier `canopsis.toml` (vous le voyez via une définition de volume dans votre fichier docker-compose.yml), vous devez vérifier qu'il soit bien à jour par rapport au fichier de référence. + +* [`canopsis.toml` pour Canopsis Community 24.04.0](https://git.canopsis.net/canopsis/canopsis-community/-/blob/24.04.0/community/go-engines-community/cmd/canopsis-reconfigure/canopsis-community.toml) +* [`canopsis.toml` pour Canopsis Pro 24.04.0](https://git.canopsis.net/canopsis/canopsis-community/-/blob/24.04.0/community/go-engines-community/cmd/canopsis-reconfigure/canopsis-pro.toml) + +!!! information "Information" + + Pour éviter ce type de synchronisation fastidieuse, la bonne pratique est d'utiliser [un fichier de surcharge de cette configuration](../../../guide-administration/administration-avancee/modification-canopsis-toml/). + + +Si vous avez utilisé un fichier de surcharge, alors vous n'avez rien à faire, uniquement continuer à le présenter dans un volume. + +#### Reconfiguration de Canopsis + +=== "Docker Compose" + + !!! Attention + + Si vous avez personnalisé la ligne de commande de l'outil `canopsis-reconfigure`, nous vous conseillons de supprimer cette personnalisation. + L'outil est en effet pré paramétré pour fonctionner naturellement. + + ```sh + CPS_EDITION=pro docker compose up -d reconfigure + ``` + + !!! information "Information" + + Cette opération peut prendre plusieurs minutes pour s'exécuter. + + Vous pouvez ensuite vérifier que le mécanisme de provisioning/reconfigure s'est correctement déroulé. Le conteneur doit présenté un "exit 0" + + ```sh + CPS_EDITION=pro docker compose ps -a|grep reconfigure + canopsis-pro-reconfigure-1 "/canopsis-reconfigu…" reconfigure exited (0) + ``` + +=== "Paquets RHEL 8" + + La commande `canopsis-reconfigure` doit être exécutée après mise à jour de Canopsis dans le cadre d'installation par paquets RPM. + +=== "Helm" + + Non concerné, `canopsis-reconfigure` est lancé automatiquement lors de l'upgrade + +### Mise à jour et démarrage final de Canopsis + +Enfin, il vous reste à mettre à jour et à démarrer tous les composants applicatifs de Canopsis + +=== "Docker Compose" + + ```sh + CPS_EDITION=pro docker compose up -d + ``` + + Vous pouvez ensuite vérifier que l'ensemble des conteneurs soient correctement exécutés. + + ```sh + CPS_EDITION=pro docker compose ps + NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS + canopsis-pro-action-1 docker.canopsis.net/docker/develop-pro/engine-action:24.04-rc3 "/engine-action" action 3 hours ago Up 51 minutes + canopsis-pro-api-1 docker.canopsis.net/docker/develop-pro/canopsis-api-pro:24.04-rc3 "/bin/sh -c /${CMD}" api 3 hours ago Up 51 minutes (healthy) 0.0.0.0:8082->8082/tcp, :::8082->8082/tcp + canopsis-pro-axe-1 docker.canopsis.net/docker/develop-pro/engine-axe:24.04-rc3 "/engine-axe -publishQueue Engine_correlation" axe 3 hours ago Up 51 minutes + canopsis-pro-che-1 docker.canopsis.net/docker/develop-pro/engine-che:24.04-rc3 "/engine-che" che 3 hours ago Up 51 minutes + canopsis-pro-connector-junit-1 docker.canopsis.net/docker/develop-pro/connector-junit:24.04-rc3 "/bin/sh -c /${CMD}" connector-junit 3 hours ago Up 51 minutes + canopsis-pro-correlation-1 docker.canopsis.net/docker/develop-pro/engine-correlation:24.04-rc3 "/bin/sh -c /${CMD}" correlation 3 hours ago Up 51 minutes + canopsis-pro-dynamic-infos-1 docker.canopsis.net/docker/develop-pro/engine-dynamic-infos:24.04-rc3 "/bin/sh -c /${CMD}" dynamic-infos 3 hours ago Up 51 minutes + canopsis-pro-fifo-1 docker.canopsis.net/docker/develop-pro/engine-fifo:24.04-rc3 "/bin/sh -c /${CMD}" fifo 3 hours ago Up 51 minutes + canopsis-pro-mongodb-1 mongo:7.0.8-jammy "docker-entrypoint.sh --wiredTigerCacheSizeGB 2.5 --replSet rs0 --keyFile /data/db/.keyFile" mongodb 4 hours ago Up 2 hours (healthy) 0.0.0.0:27017->27017/tcp, :::27017->27017/tcp + canopsis-pro-nginx-1 docker.canopsis.net/docker/develop-community/nginx:24.04-rc3 "/bin/sh -c /entrypoint.sh" nginx 3 hours ago Up 51 minutes 80/tcp, 0.0.0.0:80->8080/tcp, :::80->8080/tcp, 0.0.0.0:443->8443/tcp, :::443->8443/tcp + canopsis-pro-pbehavior-1 docker.canopsis.net/docker/develop-community/engine-pbehavior:24.04-rc3 "/bin/sh -c /${CMD}" pbehavior 3 hours ago Up 51 minutes + canopsis-pro-rabbitmq-1 rabbitmq:3.12.13-management "docker-entrypoint.sh rabbitmq-server" rabbitmq 4 hours ago Up 52 minutes (healthy) 4369/tcp, 5671/tcp, 0.0.0.0:5672->5672/tcp, :::5672->5672/tcp, 15671/tcp, 15691-15692/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp, :::15672->15672/tcp + canopsis-pro-redis-1 redis:6.2.14-bookworm "docker-entrypoint.sh /bin/sh -c 'redis-server --requirepass $REDIS_PASSWORD'" redis 4 hours ago Up 52 minutes (healthy) 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp + canopsis-pro-remediation-1 docker.canopsis.net/docker/develop-pro/engine-remediation:24.04-rc3 "/bin/sh -c /${CMD}" remediation 3 hours ago Up 51 minutes + canopsis-pro-snmp-1 docker.canopsis.net/docker/develop-pro/engines-python:24.04-rc3 "/bin/sh -c /entrypoint.sh" snmp 3 hours ago Up 51 minutes + canopsis-pro-timescaledb-1 timescale/timescaledb:2.14.2-pg13 "docker-entrypoint.sh postgres" timescaledb 3 hours ago Up About an hour (healthy) 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp + canopsis-pro-webhook-1 docker.canopsis.net/docker/develop-pro/engine-webhook:24.04-rc3 "/bin/sh -c /${CMD}" webhook 3 hours ago Up 51 minutes + ``` + +=== "Paquets RHEL 8" + + Mise à jour de Canopsis + + ```sh + dnf install canopsis-pro-24.04.0 canopsis-webui-24.04.0 + ``` + + Reconfiguration de Canopsis + + !!! Attention + + Si vous avez personnalisé la ligne de commande de l'outil `canopsis-reconfigure`, nous vous conseillons de supprimer cette personnalisation. + L'outil est en effet pré paramétré pour fonctionner naturellement. + + + Si vous utilisez un fichier d'override du canopsis.toml, veuillez ajouter à la ligne de commande suivante l'option `-override` suivie du chemin du fichier en question. + + ```sh + systemctl start postgresql-13 + set -o allexport ; source /opt/canopsis/etc/go-engines-vars.conf + /opt/canopsis/bin/canopsis-reconfigure -migrate-postgres=true -migrate-mongo=true -edition pro + ``` + + !!! information "Information" + + Cette opération peut prendre plusieurs minutes pour s'exécuter. + + Vous pouvez ensuite vérifier que le mécanisme de reconfigure s'est correctement déroulé en lisant les logs sur la sortie standard de la commande. + + Redémarrage de Canopsis + + ```sh + systemctl restart canopsis + ``` + + Vous pouvez ensuite vérifier que l'ensemble des services soient correctement exécutés. + + ```sh + systemctl status canopsis + ``` + +=== "Helm" + + Mise à jour de Canopsis + ```sh + helm upgrade --install canopsis canopsis/canopsis-pro -f customer-values.yaml + ``` + +Par ailleurs, le mécanisme de bilan de santé intégré à Canopsis ne doit pas présenter d'erreur. + +![Healthcheck](./img/24.04.0-healthcheck.png) +