Une règle d'application des modèles permet de définir une ou plusieurs condition(s), permettant à la source d'attribuer un modèle à un hôte en fonction de la valeur d'un champ de l'API VMWare.
La source dispose de quelques règles d'application fournies par défaut, mais il vous est possible de :
Une règle d'application est écrite au format JSON ( clé <-> valeur ):
| clé | commentaire | ||
|---|---|---|---|
| Nom de la règle
| ||
| Nom du ou des modèle(s) qui seront attachés. Les modèles peuvent être listés en les séparant par une virgule. | ||
| Défini une condition d'application de la règle :
| ||
|
Non obligatoire
|
[
{
"name" : "rule 32 bit generation",
"template" : "x86,32-bit",
"condition1" : "config.product.osType=86",
"disable" : "true"
},
{
"name" : "windows Server 64bits",
"template" : "windows_server,64-bit,x64",
"condition1" : "config.product.osType=64 AND config.guestFullName=windows server",
"condition2" : "config.product.osType=64 AND config.guestFullName=^Microsoft Server$",
"condition3" : "config.product.osType=64 AND config.guestFullName=vista server"
}
] |
Dans l'exemple, nous pouvons voir qu'il y a deux règles qui sont définies.
Il est possible d'ajouter des commentaires dans ce fichier.
Toutes les lignes qui commencent par le caractère # seront considérées comme des commentaires.
Une condition est séparée en 2 parties et utilise le caractère "=" comme symbole séparateur :
Cette valeur ne prend pas en compte les majuscules, ce qui fait que WINDOWS et windows sont pareils |
Dans cet exemple pour que les modèles soient ajoutés, il faut que le nom de l'OS (système d'exploitation) contienne le texte "myOS". |
Voici les syntaxes possibles pour les conditions des règles d'application des modèles :
| Signification | Syntaxe | Description | Exemple |
|---|---|---|---|
| Contient | NOM_DE_CHAMP=texte | La condition signifie que le champ VMWare choisi doit CONTENIR le texte. |
|
| Commence par | NOM_DE_CHAMP=^texte | Si l'expression commence par le caractère "^", la condition signifie que le résultat attendu doit COMMENCER par le texte |
|
| Termine par | NOM_DE_CHAMP=texte$ | Si l'expression termine par le caractère "$" la condition signifie que le résultat attendu doit TERMINER par le texte. |
|
| Est strictement égal | NOM_DE_CHAMP=^texte$ | Si l'expression commence par "^" ET termine par "$", la condition signifie que le résultat attendu doit être l'expression EXACTE |
|
| Une condition et l'autre sont remplies | Condition1 AND Condition2 | Le modèle sera appliqué si la condition 1 et 2 sont remplies | os=myOS AND osversion=^2 |
Note : c'est le 1er '=' qui sépare le nom du champ et le texte.
|
Au lieu de supprimer une ligne, il est possible de la rendre inutile en la commentant grâce au signe "#". |
Les règles par défaut peuvent être surchargées en créant une règle avec le même nom.
Le modèle ajouté pour la règle set template for virtual machines sera maintenant vmware virtual host |
Noter qu'une surcharge ne possédant pas au minimum un nom et un modèle ne sera pas prise en compte |
[
{
"name" : "set template for virtual machines",
"template" : "vmware virtual host"
}
] |
Il est possible de désactiver les règles par défaut en créant une règle avec le même nom et la clé disable à true.
( dans ce cas, le modèle n'est pas nécessaire )
[
{
"name" : "set template for virtual machines",
"disable" : "true"
}
] |
Lors d'une surcharge, si les clés template ou condition ne sont pas spécifiés, les valeurs par défaut de celle-ci sont récupérées si la règle est activée.
Exemple avec la règle set template for virtual machines définies à droite :
[
{
"name" : "set template for virtual machines",
"template" : "vmware virtual host",
"disable" : "false"
}
] |
Avant surcharge de la règle set template for virtual machines
|
Après surcharge de la règle set template for virtual machines

Pour ajouter une règle utilisateur d'application des modèles, il faut éditer le chemin suivant :
/etc/shinken-user/source-data/source-data-[nom de la source]/configuration/host_template_binding/host_template_binding_rule.json |
/etc/shinken-user/source-data/source-data-synchronizer-collector-vmware/configuration/host_template_binding/host_template_binding_rule.json |
Retrouvez la liste complète des champs collectés par la source sur la page Liste complète des champs collectés auprès des VCenters ou ESXs |
Pour visualiser la liste des règles définies pour cette source, rendez-vous dans l'onglet "Règles d'application des modèles".
Dans cet onglet, vous trouverez le chemin du fichier de définition des règles d'application des modèles utilisateur ( 1 ).
Dans l'en-tête, vous trouverez aussi le bouton de rafraîchissement de la liste des règles ( 2 ).
La liste des règles ( 3 ) comporte à la fois les règles définies par l'utilisateur et les règles par défaut.
La liste affiche pour chaque règle :
|
En bas à droite ( 4 ) se trouve le bouton pour afficher l'aide de la page.
Cette page d'aide explique le fonctionnement de l'onglet et peut être ouverte en appuyant sur la touche F1.
En utilisant la syntaxe de définition des règles, vous pourrez définir vos propres règles ou surcharger celles existantes par défaut.
Avant
|
Après
|
Si un champ obligatoire est manquant ou erroné, un Avertissement ou une Erreur apparaîtra sur la règle en question.