Cette propriété est utilisé pour générer plusieurs checks dans l'arbiter avec une seule définition de check dans le Synchronizer.
Pour cela, la fonctionnalité "duplicate foreach" lie la donnée d'un hôte ou cluster à un check.
Cette donnée lié a alors un structure particulière.
KEY: Correspond à la clé, appelé $KEY$.
VALUE: Correspond à un paramètre, appelé $VALUE$ si il y en a qu'un ou $VALUEx$, avec x allant de 1 à 16.
remarque: L'utilisation cette structure est possible dans une commande, il faut utiliser le délimiteur $ au début et fin. |
| Nombre de génération | Structure simple | Exemple | ||
|---|---|---|---|---|
| 1 |
|
| ||
| 2 |
|
| ||
| n+1 |
|
|
| Remarque: Cette structure peu être répéter autant de fois que nécessaire. Chaque structure correspond à une génération de check. (Cf. Structure avancée ci-dessous) |
| Nombre de génération | Structure avancée | Exemple | ||
|---|---|---|---|---|
| 1 |
|
| ||
| 2 |
|
| ||
| n+1 |
|
|
La fonctionnalité duplicate foreach s'active directement depuis le check que l'on souhaite générer plusieurs fois. Deux champs sont à renseigner:
Ce champ correspond au nom de la donnée de l'hôte ou cluster à utiliser.
Une fois le nom de la donnée défini, Shinken interprète au niveau de l'hôte ou cluster: Crée un check pour chaque valeur de cette donnée, sous la forme KEY1,KEY2,KEY3
remarque: Le nom du check doit contenir un $KEY$ pour l'identifier de façon unique. |
Ce champs correspond à la valeur par défaut des arguments de la donnée utiliser pour le "duplicate foreach", soit le nom de la donnée renseigné dans le champ "duplicate foreach".
| remarque: Si il y a plusieurs arguments par défaut, utiliser la virgule comme séparateur |
En partant du postulat d'avoir 3 base de données, DB1, DB2 et DB3 avec un port par défaut à 1521 et une connexion sécurisée en ssl. Le nom de la donnée de l’hôte/cluster choisi pour le "duplciate foreach" est DATABASES.
Page d'édition d'un check:
(1) Renseignez le champ "duplciate foreach" avec DATABASES.
Page d'édition d'un hôte/cluster:
(2) Ajouter la donnée DATABASES avec pour valeur: DB1$(1521,ssl)$,DB2$(1521,ssl)$,DB3$(1521,ssl)$
Page d'édition d'un check:
(1) Renseignez le champ "duplciate foreach" avec DATABASES.
(2) Renseignez la valeur par default des arguments du champ "duplciate foreach" avec 1521,ssl.
Page d'édition d'un hôte/cluster:
(3) Ajouter la donnée DATABASES avec pour valeur: DB1,DB2,DB3
Remarque: Définir un port particulier sur DB2 donnerait: Ajouter la donnée DATABASES avec pour valeur DB1,DB2$(2222)$,DB3 |