Concept

Les règles de mapping permettent, lors de l'import, de mettre en relation un champ du fichier Excel avec une propriété ou une donnée de Shinken en fonction du type de l'élément ( hôte, modèle d'hôte, etc ... ).

  • Elles s'appliquent pour tous les types d’éléments présents dans l'interface de Shinken.

Elles peuvent être visualisées depuis l'onglet "Mapping vers les propriétés et les données de Shinken" de l'interface de la source.

Définition des règles de mapping

Les règles de mapping sont écrites dans l'onglet "Configuration" du fichier Excel.

Il est possible de sélectionner les données que l'on veut de la source ( Voir les règles de mapping décrites ci-après ) dans un champ spécifique.


Une propriété est une information nécessaire au moteur Shinken.

  • Pour utiliser une propriété Shinken, il faut utiliser le nom de cette propriété défini pour l'import des fichiers ( voir la liste des clés d'import présente dans la page Syntaxe des fichiers d'imports ).

Une donnée est une valeur qui va être ajoutée en complément des propriétés.

  • Pour utiliser une donnée, il faut lui donner un nom en la faisant commencer par underscore "_", par exemple "_OS_TYPE".

Exemple de mapping dans le fichier excel


Il existe 5 règles de mapping définies dans le mapping ci-dessus :

Propriétés dans ExcelPropriétés dans ShinkenDescription du mapping

Serveur / Application

host_nameLa valeur dans la colonne "Serveur / Application" deviendra le nom de l'hôte ( propriété host_name ).
IPaddressLa valeur dans la colonne "IP"  sera prise en compte comme adresse pour l'hôte ( propriété address ).
Datacenter_DATACENTERLa valeur dans la colonne "Datacenter" deviendra une donnée nommée _DATACENTER sur l'hôte
CONCAT($Type$ - $OS$, Modèle hôtes - $Datacenter$)use

Les valeurs dans les colonnes "Type", "OS" et "Datacenter" seront concaténées et le résultat sera utilisé pour lister les modèles de l'hôte ( propriété use ).

Par exemple si l'hôte a les valeurs suivantes :

  • Colonne "Type" → "server"
  • Colonne "OS" → "linux"
  • Colonne "Datacenter" → "bordeaux"

Sa propriété "use" vaudra :

  • "server - linux, Modèle hôtes - bordeaux"

Voir Règles de mapping pour les concaténations ( CONCAT )

Status>TRANSFORM(ONGOING=>0,OK=>1)enabled

La valeur de la colonne "Status" sera transformée et servira à définir si l'hôte est activé ou non ( propriété enabled ):

  • Si la valeur de l'hôte dans la colonne "Status" vaut "ONGOING", la propriété enabled vaudra "0"
  • Si la valeur de l'hôte dans la colonne "Status" vaut "OK", la propriété enabled vaudra "1"

Voir Règles de mapping pour les transformations ( TRANSFORM )

  • La clé d'import Shinken n'est pas le nom affiché dans les pages des éléments, mais le nom de la propriété lors de l'import dans Shinken.
    Ouvrir l'aide d'une propriété dans une page d'édition d'un élément permet de savoir quelle clé d'import utiliser ( voir la page Editer les Eléments ( hôte, clusters, checks, utilisateurs ... ) ( paragraphe "Informations contextuelles" ) ).

La propriété shinken _SE_UUID ne peut pas être mappée.

Règles de mapping pour les transformations ( TRANSFORM )

Grâce à la règle TRANSFORM il est possible de transformer du texte.

  • Exemple : Le fichier excel fournie la valeur "Préproduction" et l'on veut transformer cette valeur en "PREPROD" à la place.
  • Exemple : Le fichier excel fournie la valeur "TODO" et l'on veut transformer cette valeur en "0" à la place.


La syntaxe de TRANSFORM est la suivante :

TRANSFORM(transformation1,transformation2,transformation3)
  • TRANSFORM permet d'indiquer plusieurs transformations, ces dernières sont séparées par des virgules.
  • Attention à ne pas mettre d'espace avant ou après une virgule, autrement, il sera pris en compte dans la transformation.
  • Il n'y a actuellement pas de limite sur le nombre de transformations autorisées.


Pour écrire une transformation, il faut séparer le texte à transformer par "=>" du texte désiré ( désigné ci-après par le mot "séparateur" ) : TEXTE1=>TEXTE2

Voici un exemple de syntaxe avec 2 transformations :

TRANSFORM(BORDEAUX=>BDX,PARIS=>PAR)


TRANSFORM permet également de supprimer du texte en laissant vide la partie à droite du séparateur ( => ) censée contenir la modification à apporter au texte.

TRANSFORM(DEAUX=>,IS=>)


Exemple avec une machine possédant la colonne suivante :

ENV

Production_Bordeaux


Et le mapping suivant :

TypePropriétés dans ExcelPropriétés dans Shinken
ColonneENV>VALUES(=Bordeaux)>TRANSFORM(Production=>Prod,Bordeaux=>bdx)_TRANSFORM_OPERATION


La data _TRANSFORM_OPERATION contiendra donc la valeur suivante :

  • 'Prod_bdx'


Il n'est pas possible d'utiliser le caractère $ dans une règle de transformation.

Règles de mapping pour les concaténations ( CONCAT )

Il est possible de concaténer les valeurs de plusieurs colonnes pour former la valeur d'une propriété d'un élément de Shinken. Cela est possible grâce à la règle : CONCAT.

Exemple : Un hôte possédant les colonnes suivantes :

OSLinux
ENVProduction
LOCATIONBordeaux

Et les informations doivent apparaître de la manière suivante dans la donnée nommée _MACHINE_INFOS : "Production - Linux - Bordeaux"


La syntaxe se fera de la manière suivante dans le fichier de Mapping.

TypePropriétés dans ExcelPropriétés dans Shinken
ColonneCONCAT($OS$ - $ENV$ - $LOCATION$)_MACHINE_INFOS

Le caractère $ est utilisé ici pour indiquer à CONCAT d'aller chercher les valeurs souhaitées, il n'est donc pas possible de l'utiliser dans un autre but que celui-ci.

Si colonne est vide, alors CONCAT ne fournira pas de valeur pour cette colonne.

Exemple, avec les mêmes données que l'exemple précédent, sauf que "LOCATION" n'a aucune valeur, la donnée _MACHINE_INFOS vaudra : "Production - Linux - "

Désactivation d'un mapping

Les mappings peuvent être désactivés, cela permet de conserver un mapping sans qu'il soit importé, afin de ne pas avoir à le supprimer. 

  • Pour désactiver un mapping, au lieu de choisir une propriété Shinken ( ou donnée ), il faut utiliser le mot-clé "disable "


Désactivation du champ Status>TRANSFORM(TODO=>0,OK=>1)

TypePropriétés dans ExcelPropriétés dans Shinken
ColonneStatus>TRANSFORM(TODO=>0,OK=>1)disable

Visualiser la liste des mappings

Pour visualiser la liste des mapping définie pour cette source, il faut se rendre dans l'onglet "Mapping vers les propriétés de Shinken". 

Dans cet onglet, se trouve le chemin du fichier de configuration ( 1 )

  • (warning) Un message d'avertissement apparaîtra si le fichier n'existe pas.
  • Pour résoudre ce problème, créer le fichier avec le chemin indiqué sur l'interface puis appuyer le bouton de rafraîchissement ( 2  ).
  • Ce fichier ne peut être vide, si l'onglet "Configuration" n'est pas rempli la source générera des erreurs.


Dans l'entête de la liste, se trouve également le bouton de rafraîchissement de la liste des mappings ( 2 ).

  • Ce bouton permet de rafraîchir la liste des mappings sans devoir redémarrer le Synchronizer.
  • Il faudra relancer un import pour réappliquer les nouveaux mappings sur les éléments importés.




La liste des mappings ( 3 ) comporte à la fois les mappings définis par l'utilisateur ( ligne bleue ) et les mappings par défaut ( ligne grise ).

La liste affiche pour chaque mapping une série de colonnes :

  • Prob. => Affiche les problèmes ou les avertissements si le mapping n'a pas été correctement défini.
  • Défini par => Par qui le mapping a été définie ( Par défaut ou par l'utilisateur ).
  • Classe => Le type de l'objet concernés par le mapping ( hôte, cluster, etc ).
    • Si plusieurs types ont le même mapping deux lignes différentes seront affichées
  • La clé dans la source => Le nom de la colonne dans la source excel.
  • Description => La description du champ dans la source.
  • Clé Shinken => Nom de la propriété ou donnée Shinken vers laquelle la valeur sera copiée.
  • Nom de la propriété dans l'interface => Le nom de la propriété ou donnée Shinken dans l'interface.


Certaines des règles de mapping défini par "Défaut" ont une valeur définie dans les champs "Clé de la source" et la "Description", mais aucune valeur dans les champs " Clé Shinken" et " Nom de propriété dans l'interface ".

  • Cela signifie que ces mappings ne seront liés à aucune propriété Shinken.
  • Ils sont volontairement listés ici pour être vus, et faciliter la création de son propre mapping ( afin de ne pas partir d'une feuille blanche ).


En bas à droite ( 4 ) se trouve le bouton pour afficher l'aide de la page ( Raccourci sur la touche F1 ).