Notes de version Canopsis 3.37.0

Canopsis 3.37.0 a été publié le 28 février 2020.

Procédure de mise à jour

Suivre la procédure standard de mise à jour de Canopsis.

Docker : mise à jour de version des conteneurs de services externes

En environnement Docker, si vous utilisez InfluxDB, MongoDB, RabbitMQ ou Redis dans un des conteneurs suggérés par défaut, veuillez noter que les versions de référence ont été légèrement mises à jour vers les versions suivantes :

INFLUX_TAG=1.5.4-alpine
MONGO_TAG=3.6.17-xenial
RABBITMQ_TAG=3.7.24-management
REDIS_TAG=4.0.14-buster

Aucune mise à jour majeure n'a été réalisée sur ces éléments ; il s'agit simplement d'utiliser les dernières versions mineures de ces composants. La mise à jour de MongoDB peut apporter de légères améliorations de performances.

Vous pouvez faire correspondre le fichier .env adjoint à votre docker-compose.yml avec ces changements, et valider cette mise à jour (docker-compose up -d) dans un environnement maîtrisé.

Moteurs Go : nouveau paramètre CancelAutosolveDelay

Le moteur engine-axe utilise dorénavant un nouveau paramètre CancelAutosolveDelay, défini dans le fichier /opt/canopsis/etc/default_configuration.toml.

Dans le cadre d'une mise à jour d'un environnement Go, vous devez vous assurer que ce nouveau paramètre est bien présent (cette ligne ne sera absente que dans certains cas de mise à jour) :

grep -q ^CancelAutosolveDelay /opt/canopsis/etc/default_configuration.toml || echo 'CancelAutosolveDelay = "1h"' >> /opt/canopsis/etc/default_configuration.toml

Vous devez ensuite redémarrer le moteur engine-axe avec son nouveau paramètre -ignoreDefaultTomlConfig (décrit plus bas), pour que cette mise à jour du fichier default_configuration.toml soit synchronisée en base de données. Notez que cette manipulation va resynchroniser en base la totalité de votre fichier default_configuration.toml.

En installation par paquets, vous pouvez relancer le moteur avec ce paramètre :

# Arrêt du moteur
systemctl stop canopsis-engine-go@engine-axe.service

# Modification de ses options de lancement
systemctl edit canopsis-engine-go@engine-axe.service

# Si aucun contenu n'existe, ajouter exactement ceci dans l'éditeur de texte :
[Service]
ExecStart=
ExecStart=/usr/bin/env /opt/canopsis/bin/%i -ignoreDefaultTomlConfig
# Sinon, modifier le contenu existant pour que l'option
# -ignoreDefaultTomlConfig apparaisse dans la ligne ExecStart.
#
# Quitter l'éditeur de texte en sauvegardant.

# Redémarrage du moteur
systemctl daemon-reload
systemctl start canopsis-engine-go@engine-axe.service

En installation Docker, assurez-vous que l'option soit présente dans la commande de démarrage du moteur engine-axe :

  axe:
    image: canopsis/engine-axe:${CANOPSIS_IMAGE_TAG}
    env_file:
      - compose.env
    restart: unless-stopped
    command: /engine-axe -ignoreDefaultTomlConfig

et redémarrez votre environnement Docker avec docker-compose up -d.

Changements entre Canopsis 3.36.0 et 3.37.0

Ajout d'un mécanisme de retry dans les Webhooks (CAT)

Dans l'édition CAT, les Webhooks disposent maintenant d'un mécanisme de retry, permettant de renouveler l'appel à un Webhook si celui-ci a rencontré une erreur (code de retour HTTP différent de 200, erreur réseau, identifiants incorrects…).

Consultez la documentation pour connaître les détails d'utilisation de ce nouveau mécanisme.

Moteurs Go : prise en compte des mises à jour du fichier default_configuration.toml

En environnement Go, le fichier default_configuration.toml comporte quelques variables permettant de configurer des comportements génériques des moteurs.

Par défaut, ce fichier de configuration n'est synchronisé qu'une seule fois en base, lors du tout premier lancement du moteur.

Canopsis 3.37.0 ajoute une nouvelle option de lancement -ignoreDefaultTomlConfig au moteur engine-axe. Lorsque le moteur est appelé avec cette option (désactivée par défaut), le fichier de configuration sera resynchronisé en base à chaque redémarrage.

Cette option n'est pas activée par défaut, et doit être explicitement ajoutée afin que ce nouveau comportement soit effectif.

Consultez la documentation du moteur engine-axe pour en savoir plus.

Liste des modifications

  • Images Docker / paquets :
    • Docker : Mise à jour de Nginx 1.17.7 vers 1.17.8, pour l'image canopsis/nginx:3.37.0 (#2150)
  • Documentation :
  • Moteurs :
    • Moteurs nouvelle génération (Go) :
      • Ajout d'opérateurs de regex avancés dans la directive regex_match, tels que les opérateurs de backtracking permettant de tester la non présence d'une chaîne de caractères (#2114)
      • Ajout d'une possibilité de configurer le délai à partir duquel une alarme annulée est considérée comme résolue, à l'aide d'une nouvelle option CancelAutosolveDelay (cf. documentation du moteur engine-axe) (#170)
      • Ajout d'une nouvelle option de lancement -ignoreDefaultTomlConfig au moteur engine-axe, permettant de forcer la resynchronisation du fichier de configuration default_configuration.toml en base (voir plus haut) (#179)
      • CAT : Ajout d'un mécanisme de retry dans le moteur engine-webhook (voir plus haut) (#2096)
      • Mise à jour de Go 1.12.12 vers Go 1.12.16, en installation par paquets (#2149)
  • UI :
    • Ajout d'un système de tutoriel dans l'interface, permettant de présenter certaines des nouveautés apparaissant dans les mises à jour de Canopsis. Dans cette version, ce tutoriel présente la nouvelle icône permettant de déplier les alarmes (voir plus bas) (#2124)
    • Correction de problèmes de pagination sur certains widgets (#2183, #2162)
    • Correction de l'affichage du compteur de rafraîchissement périodique de vue introduit dans Canopsis 3.35.0 (#2147, #2133)
    • Bac à alarmes :
      • Refonte de la timeline des alarmes du Bac à alarmes : l'alarme peut maintenant être dépliée à l'aide d'une icône dédiée à gauche de l'alarme (#2116), et l'encart Plus d'infos est maintenant affiché à cet endroit (#2138) avec une largeur configurable (#2142)
      • Correction d'un problème d'affichage de longs commentaires de pbehaviors (#2196)
    • Météo des services :
      • Correction de la couleur des entêtes de modales de météo, qui correspondent à nouveau à l'état des watchers concernés (#2195)
    • CRUD Webhooks :
      • Ajout de la prise en charge du nouveau mécanisme de retry dans l'interface de gestion des Webhooks (#2096)
  • Expérience utilisateur :
    • Ajout d'infobulles explicatives sur les boutons d'action du Bac à alarmes qui n'en disposaient pas (#1684)
    • Ajout d'une possibilité de réorganisation du menu de gauche de l'interface à l'aide d'un simple glisser-déposer (#2106)

Dernière mise à jour: 2020-03-19