Aller au contenu

Moteur engine-che (Community)

Le moteur engine-che permet d'enrichir les événements (via son event-filter), de créer et d'enrichir les entités et de créer le context-graph.

Utilisation

Options du moteur

La commande engine-che -help liste toutes les options acceptées par le moteur.

Multi-instanciation

Il est possible, à partir de Canopsis 3.39.0, de lancer plusieurs instances du moteur engine-che, afin d'améliorer sa performance de traitement et sa résilience.

En environnement Docker, il vous suffit par exemple de lancer Docker Compose avec docker-compose up -d --scale che=2 pour que le moteur engine-che soit lancé avec 2 instances.

Cette fonctionnalité sera aussi disponible en installation par paquets lors d'une prochaine mise à jour.

Fonctionnement

À l'arrivée dans sa file, le moteur engine-che va leur appliquer les règles d'enrichissement de son event-filter.

Si l'événement est de type check ou declareticket : au prochain battement (beat) du moteur, il va ensuite créer, enrichir ou mettre à jour les entités, puis il va mettre à jour le context-graph qui gère les liens entre les entités.

Activation des plugins d'enrichissement externe (datasource)

La fonctionnalité d'event-filter peut utiliser des sources de données externes (à l'exception de entity) afin d'enrichir les évènements, à l'aide de plugins. Des plugins datasource sont disponibles pour cela, dans Canopsis Pro.

Si vous bénéficiez d'une souscription à Canopsis Pro, la procédure suivante vous permet d'activer ces plugins d'enrichissement externe. Il est néanmoins conseillé de n'appliquer cette procédure qu'en cas de réel besoin des fonctionnalités datasource.

Le conteneur che doit être modifié pour utiliser l'image canopsis/engine-che-cat à la place de l'image canopsis/engine-che proposée par défaut. L'accès à l'image canopsis/engine-che-cat nécessite une souscription Pro.

Si vous utilisez Docker Compose, adaptez votre section che à l'exemple suivant :

  che:
    image: canopsis/engine-che-cat:${CANOPSIS_IMAGE_TAG}
    env_file:
      - compose.env
    restart: unless-stopped
    command: /engine-che -dataSourceDirectory /plugins/datasource

Vous devez tout d'abord avoir installé le paquet système canopsis-engines-go-cat, qui est uniquement disponible lors d'une souscription à Canopsis Pro.

Le moteur engine-che doit ensuite être lancé avec l'option -dataSourceDirectory /opt/canopsis/lib/go/plugins/datasource, afin que le plugin datasource soit chargé.

Vous pouvez, pour cela, exécuter les commandes suivantes :

mkdir -p /etc/systemd/system/canopsis-engine-go@engine-che.service.d
cat > /etc/systemd/system/canopsis-engine-go@engine-che.service.d/datasource.conf << EOF
[Service]
ExecStart=
ExecStart=/usr/bin/env /opt/canopsis/bin/%i -dataSourceDirectory /opt/canopsis/lib/go/plugins/datasource
EOF

systemctl daemon-reload
systemctl restart canopsis-engine-go@engine-che

Voyez ensuite la documentation de l'event-filter du moteur engine-che afin d'en savoir plus sur l'utilisation de cette fonctionnalité.

Collection MongoDB associée

Les entités sont stockées dans la collection MongoDB default_entities.

Le champ type de l'objet définit le type de l'entité. Par exemple, avec une ressource, son champ type vaut resource :

{
    "_id" : "disk2/pbehavior_test_1",
    "name" : "disk2",
    "impact" : [
        "pbehavior_test_1"
    ],
    "depends" : [
        "superviseur1/superviseur1"
    ],
    "enable_history" : [
        NumberLong(1567437797)
    ],
    "measurements" : null,
    "enabled" : true,
    "infos" : {},
    "type" : "resource"
}

Dernière mise à jour: 2021-09-02