L'enrichissement

Canopsis étant un hyperviseur, une des fonctions attendues concerne l'enrichissement de données.
Nous pouvons considérer que les informations transmises par les sources de données et notamment les superviseurs, sont des informations pauvres.

Elles sont pauvres dans le sens où elles nous signifient dans la majeure partie des cas qu'il y a une alarme (ou une mise à jour d'alarme) concernant une entité.

Une entité ?

Une entité est un composant typé (composant, ressource, observateur)

Pour aider les pilotes des centres d'opérations, il est indispensable d'enrichir ces informations et ainsi de qualifier au plus juste les alarmes à traiter.

L'idée est donc de classer les alarmes, apporter de l'information objective sur des météos de services, afin de faciliter la prise de décision.

Plusieurs possibilités sont offertes dans Canopsis :

  • Enrichissement systématique depuis les événements
  • Enrichissement conditionné par des règles de gestion appliquées aux événements (CAT)
  • Enrichissement par l'intermédiaire de référentiels externes (CAT)

Warning

Dans tous les cas, ces possibilités ne sont offertes que par l'utilisation des moteurs GO.

Enrichissement depuis les événements

Vous avez paramétré des connecteurs de données qui transmettent des événements à Canopsis.
Un événement est constitué d'attributs, certains sont mandataires, d'autres facultatifs.

Considérons l'événement suivant :

{
  "resource": "ressource-doc1",
  "event_type": "check",
  "component": "composant-doc1",
  "connector": "cas-d-usage",
  "source_type": "resource",
  "state": 2,
  "connector_name": "cas-usage-enrichissement-evenement",
  "output": "doc cas d'usage",
  "client": "client-doc1"
}

En publiant cet événement, l'attribut client ne sera pas interprété car il ne participe pas à la spécification d'un événement.
Vous souhaitez néanmoins que cette information soit disponible pour l'entité ressource-doc1/composant-doc1.

2 options du moteur che vont vous permettre de systématiser cette prise en charge.

-enrichContext

Cette option active l'enrichissment à partir d'un événement.

-enrichInclude "client"

Cette option va permettre l'ajout de l'attribut client dans la champ infos de l'entité correspondante. Pour rendre cette valeur visible sur l'interface de Canopsis, il faut ensuite l'ajouter manuellement. Pour cela, 2 solutions :

  • Pour un widget de manière générale (Plus d'infos / Info popup / Template) : {{ entity.infos.client.value }}
  • Pour une colonne de bac à alarmes : entity.infos.client.value

Nom des colonnes Bac à alarmes

Enrichissement via des règles de gestion

Dans Canopsis, il existe la possibilité de définir des règles event-filter dont le but est de

  • manipuler les attributs d'un événement, d'une alarme, d'une entité
  • d'enrichir les entités
  • d'enrichir les entités à partir d'une collection de données externe (CAT)

La documentation complète se trouve sur cette page

Prenons le cas d'usage suivant :

Si l'événement contient un attribut "groupe" : "grp1" alors l'entité appartient aus domaine métier "Logistique"

Considérons l'événement suivant :

{
  "resource": "ressource-doc2",
  "event_type": "check",
  "component": "composant-doc2",
  "connector": "cas-d-usage",
  "source_type": "resource",
  "state": 2,
  "connector_name": "cas-usage-enrichissement-regle",
  "output": "doc cas d'usage",
  "groupe": "grp1"
}

Chose importante, les attributs pris en charge sont inscrits ici.
Dans notre cas, l'attribut groupe est personalisé et sera donc positionné automatiquement dans un dictionnaire extrainfos.

On commence à ajouter une règle via le menu adéquat

Menu Event-filter

Ajout d'une règle

Ensuite on définit sur quels événements sera exécutée cette règle. Dans notre cas, nous utilisons un critère tel que connector_name.

Définition du pattern

Dernière étape, nous allons récupérer le contenu de l'attribut groupe et le positionner dans un nouvel attribut d'entité domainemetier.
Ajout d'une action

Warning

Pour manipuler l'entité comme nous venons de le faire, une opération préalable est nécessaire.
Une règle de copie d'entité doit être présente

Le résultat pourra être observé sur un bac à alarmes par exemple :

Nom des colonnes Bac à alarmes

Enrichissement via référentiels externes

L'enrichissement par référentiel externe passe par le développement d'un driver dont le métier est de synchroniser un référentiel tiers avec le contexte Canopsis.
Dans l'édition CAT de Canopsis, il est notamment possible d'interconnecter les outils Service Now et iTop.
Pour plus d'informations, n'hésitez pas à nous consulter.

Annexes

Consulter le contexte

De manière générale, vous pouvez consulter le contenu de la base de données qui porte les entités, le contexte.
Pour cela, vous devez instancier un widget Explorateur de contexte et effectuer une recherche sur l'entité voulue.

Voici un exemple avec ressource-doc1.

Contexte

Puis avec ressource-doc2.

Contexte