Bonjour,
pour bien voir le fonctionnement, voici quelques rappels.
Dans un événement qui circule, il existe des informations liées à une entité et probablement à une alarme.
L’entité doit être vue comme le CI sur qui porte l’information.
Dans Canopsis, on trouve un référentiel qui porte les informations sur les entités et une base d’alarmes.
Ce que vous cherchez à faire c’est de venir compléter le référentiel interne à partir d’informations fournies dans un événement.
Pour des raisons de performances, Canopsis est en train de migrer ses moteurs consommateurs de ressources de python vers GO.
En fonction de la stack que vous avez déployée, il y a donc 2 solutions.
En python
Le mécanisme est géré par le moteur context-graph.
Vous devez donc éditer la configuration du manager : etc/context_graph/manager.conf
extra_fields = type_env,nom_dc
Un restart plus loin vous fera apparaitre dans le référentiel
db.default_entities.find({"name" : "testforum"}).pretty()
"infos" : {
"nom_dc" : "DC1",
"type_env" : "production"
},
Du point de vue de l’UI, pour utiliser ces nouveaux attributs vous pouvez ajouter une colonne par exemple sur un bac à alarme
En GO
Cela passe par une configuration du moteur che qui est documenté ici :
https://doc.canopsis.net/guide-administration/moteurs/#utilisation-de-engine-che
(paramètre enrichInclude
)
Conf utilisées
$ cat test.ini
[amqp]
url=amqp://cpsrabbit:canopsis@localhost:5672/canopsis
[event]
connector.constant=forum
connector_name.constant=forum
event_type.constant=check
source_type.constant=component
component.value=component
output.value=output
state.value=state
nom_dc.value=nom_dc
type_env.value=type_env
Puis la commande pour produire l’événement
$ python sendevent2canopsisamqp.py -c test.ini -p '{"component" : "testforum", "output" : "pour répondre au forum", "state" : 2, "nom_dc" : "DC1", "type_env" : "production"}'