Capensis.fr
Support professionnel

Canopsis context

canopsis

#1

Bonjour à tous

Je cherche de l information sur la possibilité de remonter des informations de configuration lors de la generatiin d un event au sein du context canopsis. Les éléments sont de type environnement, nom du datacenter etc…
Le but final est etant de filtrer les vues sur ces élements de configuration.

Lorsque j ajoute ces elements a mon event il arrive bien dans le topic. Mais je ne les retrouve pas dans le context.

Comment faire ?


#2

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"}'

#3

Super. c’est impeccable.
Merci beaucoup