Sommaire et présentation¶
Les évènements envoyés par des connecteurs à Canopsis sont traités à l'aide de moteurs.
Un moteur a plusieurs rôles :
- consommation d'un évènement : pour le traiter, puis l'acheminer vers le(s) moteur(s) suivant(s).
- effectuer une tâche périodique : appelée « beat », cette tâche sera exécutée à intervalle régulier.
- consommation d'un enregistrement lorsque les enregistrements de la base de données sont disponibles.
Un moteur peut avoir les propriétés suivantes :
- un type (le module Python à charger)
- un nom (obligatoirement unique)
- un identifiant (0, 1, 2, 3, ..., obligatoirement unique)
- un niveau de log (debug, info, warning, ou error)
Le listing des moteurs peut être réalisé grâce à cette commande : systemctl list-units "canopsis*"
Liste des moteurs¶
Moteurs Go¶
Moteur | Description | CAT ? |
---|---|---|
action | Applique des actions définies par l'utilisateur. | |
axe | Gère le cycle de vie des alarmes. | |
axe@webhooks | Gère le système de webhooks vers des services externes. | ✅ |
che | Supprime les évènements invalides, gère le contexte, et enrichit les évènements via sa fonctionnalité d'event-filter. | |
heartbeat | Surveille des entités, et lève des alarmes en cas d'absence d'information. | |
stat | Calcule des statistiques sur les états des alarmes. | |
watcher | Calcule les états des watchers. |
Moteurs Python¶
Moteur | Description | CAT ? |
---|---|---|
canopsis-engine@dynamic-alerts.service | Gère le cycle de vie des alarmes et l'alarm-filter. | |
canopsis-engine@cleaner-cleaner_alerts.service | Supprime les évènements invalides. | |
canopsis-engine@cleaner-cleaner_events.service | Supprime les évènements invalides. | |
canopsis-engine@dynamic-context-graph.service | Stocke les données contextuelles des évènements. | |
datametrie | Gère le connecteur datametrie. | ✅ |
canopsis-engine@event_filter-event_filter.service | Applique des règles de filtrage. | |
canopsis-engine@metric-metric.service | Stocke les données de métrologie des évènements. | |
canopsis-engine@dynamic-pbehavior.service | Gère les périodes de maintenance. | |
canopsis-engine@scheduler-scheduler.service | Envoyer un travail à des gestionnaires de tâches. | |
canopsis-engine-cat@snmp | Gère les traps SNMP. | ✅ |
canopsis-engine-cat@statsng-statsng.service | Calcule des statistiques sur les alarmes et les entités. | ✅ |
canopsis-engine@task_dataclean-task_dataclean.service | Gestionnaire pour supprimer anciennes données. | |
canopsis-engine@task_importctx-task_importctx.service | Gestionnaire des imports de données en masse. | |
canopsis-engine-cat@task_ackcentreon-task_ackcentreon.service | ACK descendants vers Centreon. | ✅ |
canopsis-engine@task_mail-task_mail.service | Gestionnaire de tâches pour envoyer du courrier. | |
canopsis-engine@ticket-ticket.service | Gère les tickets externes. | |
canopsis-engine@dynamic-watcher.service | Gère les watchers (groupes de surveillance). |
Flags & Usage¶
Utilisation de engine-action¶
-d debug -version version infos
Utilisation de engine-axe¶
-d debug -featureHideResources Active les features de gestion de ressources cachées. -featureStatEvents Envoie les évènements de statistiques -postProcessorsDirectory Le répetoire contenant les plugins de post-traitement (par défaut ".") -printEventOnError Afficher les évènements sur les erreurs de traitement. -publishQueue Publie les événements sur cette file. (par défaut "Engine_watcher") -version version infos
Utilisation de engine-che¶
-alwaysFlushEntities Always flush the entity cache. This makes sure the entities are always written in the database. This option is deprecated, and is likely to cause severe performance drops in high-traffic environment. -consumeQueue string Consomme les évènements venant de cette file. (default "Engine_che"). -createContext Active la création de context graph. Activé par défaut. WARNING: désactiver l'ancien moteur context-graph lorsque vous l'utilisez. (default true) -d debug -dataSourceDirectory The path of the directory containing the event filter's data source plugins. (default ".") -enrichContext Active l'enrichissment de context graph à partir d'un event. Désactivé par défaut. WARNING: désactiver l'ancien moteur context-graph lorsque vous l'utilisez. (default true) -enrichExclude string Liste de champs séparés par des virgules ne faisant pas partie de l'enrichissement du contexte -enrichInclude string Coma separated list of the only fields that will be part of context enrichment. If present, -enrichExclude is ignored. -printEventOnError Print event on processing error -processEvent enable event processing. enabled by default. (default true) -publishQueue Publie les événements sur cette file. (default "Engine_event_filter") -purge purge consumer queue(s) before work -version version infos
Utilisation de engine-heartbeat¶
-d debug -version version infos
Utilisation de engine-stat¶
-d debug -version version infos
Utilisation de engine-watcher¶
Info
Disponible à partir de Canopsis 3.23.0.
-autoRecomputeWatchers Recalcule automatiquement l'état des watchers chaque minute. -d debug -printEventOnError Afficher les évènements sur les erreurs de traitement. -publishQueue string Publie les événements sur cette file. (par défaut "Engine_action") -version version infos
Le flag -autoRecomputeWatchers
permet de s'assurer que l'état des watchers est mis à jour à chaque battement du moteur watcher.
Changer le niveau de log d'un moteur¶
Dans le cadre de la résolution d'un incident, ou pour identifier l'origine d'un bug, il peut être nécessaire d'obtenir des logs plus détaillés de la part des moteurs.
Cette documentation explique les étapes à suivre pour passer d'un niveau de log "info" à un niveau "debug".
Moteurs Python avec systemd¶
Afficher la configuration du moteur avec la commande suivante :
systemctl cat canopsis-engine@dynamic-alerts.service
Le résultat ressemble à ceci :
[Unit] Description=Canopsis Engine %i After=network.target Documentation=https://doc.canopsis.net [Service] User=canopsis Group=canopsis WorkingDirectory=/opt/canopsis Environment=VIRTUAL_ENV=/opt/canopsis Environment=HOME=/opt/canopsis Environment=PATH=$VIRTUAL_ENV/bin:/bin/:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin Environment=LOGLEVEL=info ExecStart=/opt/canopsis/bin/engine-launcher-systemd %i PIDFile=/var/run/canopsis-engine-%i.pid Restart=on-failure Type=simple [Install] WantedBy=multi-user.target
Puis éditer cette configuration dans un autre terminal :
systemctl edit canopsis-engine@dynamic-alerts.service
Une fenêtre d'édition vide s'affiche, copiez les éléments suivants pour surcharger la configuration actuelle :
[Service] Environment=LOGLEVEL=debug
Sauvegarder et quitter l'éditeur.
Recharger systemd pour prendre en compte la modification.
systemctl daemon-reload
Terminer en redémarrant le moteur.
systemctl restart canopsis-engine@dynamic-alerts.service
Et vérifier son nouveau statut :
systemctl status canopsis-engine@dynamic-alerts.service ● canopsis-engine@dynamic-alerts.service - Canopsis Engine dynamic-alerts Loaded: loaded (/etc/systemd/system/canopsis-engine@.service; disabled; vendor preset: disabled) Active: active (running) since ven. 2019-05-03 14:53:21 UTC; 12s ago Docs: https://doc.canopsis.net Main PID: 4479 (engine-launcher) CGroup: /system.slice/system-canopsis\x2dengine.slice/canopsis-engine@dynamic-alerts.service ├─4479 /bin/bash /opt/canopsis/bin/engine-launcher-systemd dynamic-alerts └─4489 /opt/canopsis/bin/python /opt/canopsis/bin/engine-launcher -e canopsis.engines.dynamic -n alerts -w dynamic-alerts -l debug
Le paramètre -l debug
visible à la fin de la dernière ligne indique bien que le service est maintenant en niveau de log "debug".
Moteurs obsolètes¶
Les moteurs Python suivants ne sont plus pris en charge lors d'une nouvelle installation ou d'une mise à jour de Canopsis :
- acknowledgement
- cancel
- context
- ticket
- task_dataclean : non fonctionnel depuis Canopsis 3.0
- task_linklist : n'existe plus depuis Canopsis 3.0, remplacé par linkbuilder
- perfdata : n'existe plus depuis Canopsis 3.0, remplacé par metric
- eventstore : désactivé par défaut depuis Canopsis 3.31.0, utile uniquement pour l'exploitation de l'ancienne vue SNMP de l'UIv2
- task_mail : désactivé par défaut depuis Canopsis 3.31.0, remplacé par les Webhooks
Moteurs Go :
- engine-stat : désactivé par défaut depuis Canopsis 3.31.0