Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

La fonctionnalité de duplication des Checks par donnée de l'Hôte (ou "duplicate foreach") permet de pouvoir dupliquer des checks sur un même hôte grâce à une donnée dédiée à cet effet.

En effet, si un hôte héberge plusieurs services de même type (par exemple, plusieurs bases de données) il peut être intéressant de dupliquer toute la configuration de vérification pour chacun de ces services, en leur dédiant à chacun des checks.

Un template donné ne s'applique qu'à un hôte dans son ensemble et ne peut pas y être dupliqué. Pour pouvoir dupliquer les checks d'un hôte, il faut utiliser des checks ayant la propriété "Duplicate for each" (Dupliqué pour chaque valeur de la Donnée de l'hôte).

Nous verrons dans ce chapitre comment configurer la façon dont ils seront dupliqués sur cet hôte, et notamment comment obtenir des données spécifiques à chaque copie, qui seront récupérées dans cette Macro (donnée) de Duplicate for each ou via les arguments par défaut.

Fonctionnement

Les checks

Pour qu'un check soit dupliqué, il doit remplir plusieurs conditions.

  • Le nom du check doit contenir $KEY$ (1). Cette macro sera remplacée par les différentes valeurs de la donnée de Duplicate for each de l'hôte, de manière à ne pas générer de collision de nom.
  • (Optionnel) Le champ "Args" permet de passer des arguments séparés entre !
    Pour des arguments lors d'un Duplicate for each, les macro sont $VALUEx$ (2)
  • Le champ "Duplicate for each host data" (3) doit contenir le nom d'une donnée définie dans l'hôte. C'est la donnée qui servira à dupliquer le check.
  • (Optionnel) Le champ "Duplicate for each default arguments" (4) permet de spécifier les valeurs par défaut pour les macros $VALUEn$. Exemple de syntaxte : $(ma_valeur1)$$(ma_valeur2)$

Le check peut alors utiliser, dans sa configuration, $KEY$, et $VALUE1$ à $VALUE16$. Ces macros seront remplacées de façon spécifique à chaque copie.

 

 

 

Panel
titleCommande Dummy

Panel

 

L'hôte

Pour que l'hôte duplique ses checks, il doit alors renseigner les valeurs à dupliquer, via les différentes valeurs de la donnée Duplicate for each de l'hôte.

Un hôte ayant des checks à dupliquer qui lui sont attachés, doit obligatoirement fournir des valeurs dans sa donnée de Duplicate for each. Les données apparaîtront en Warning si elle sont manquantes.

 

 

 

Image Removed
Panel

Image Added

 

La donnée renseignée dans la donnée doit définir une ou plusieurs clés séparées par des virgules comme montré dans l'exemple. Les arguments sont passés entres $( et )$ de manière consécutives.

Dès que la saisie du champ est terminée, le nombre de checks de l'hôte est mis à jour.

Voici un exemple de Donnée Duplicate For Each avec interprétation de Valeurs : DB1$(1520 ok,warning$(1)$$(Dummy WARNING)$,critical$(2)$$(sslDummy CRITICAL)$,DB2$unknown$(15213)$$(sslDummy UNKNOWN)$,DB3$(1530

Dans cet exemple, la première valeur "ok" n'a aucun argument défini, le valeur par défaut des arguments sera alors utilisée, à savoir, dans notre example : $(0)$$(sslDummy OK)$
Pour la valeur  "warning", cette valeur a deux arguments "1" et "Dummy WARNING".

Panel

Image Added

 

PanelImage Removed

L'onglet check permet de vérifier le résultat de la duplication.

Les checks obtenus ont des configurations identiques. Pour pouvoir leur donner des données spécifiques, il faudra utiliser les valeurs.

On voit ici que le check a bien été dupliqué pour les 4 valeurs de données Duplicate for each.

Pour chaque duplication, les arguments sont bien récupérés pour le passage dans la commande.

Panel

Image Added

Panel
titleEvaluation de commande

Image AddedImage Removed

Les valeurs

Pour que chaque check puisse exécuter une vérification différente sur l'hôte, il est possible de paramétrer spécifiquement chaque copie.

Pour cela, l'hôte peut passer des arguments de duplication à chaque copie sous la forme de valeurs dans la donnée de Duplicate ForEach.

 

La syntaxe est la suivante :

Code Block
themeMidnight
red$(IndianRed)$$(CD5C5C)$,green$(ForestGreen)$,blue

 

Notez que la valeur default_value ne peut remplir de façon implicite que la première valeur d'argument. Pour cet exemple, $VALUE2$ sera une chaîne vide dans les copie "green" et "blue"

CheckMacroValeur
Check-Duplicate-red

$VALUE1$

$VALUE2$

IndianRed

CD5C5C

Check-Duplicate-green

$VALUE1$

ForestGreen

Check-Duplicate-blue

$VALUE1$

default_value1