Un Tagger basé sur des expressions régulières s'applique sur les éléments suivants issus de l'import des sources :
Il utilise une expression régulière ( regexp ) sur une propriété ou une donnée pour sélectionner les éléments auxquels appliquer la modification configurée pour le Tagger.
Un cas d'usage classique est de rajouter/modifier des modèles d'hôtes/clusters sur les éléments s'ils respectent une règle de nommage sur le nom.
L'activation d'un Tagger se fait en trois étapes :
( voir la page Module sync-regexp-tag ).
Si les éléments dont le nom commence par la chaine bdx, sont situés à Bordeaux, il est pertinent de les assigner automatiquement au royaume Bordeaux. Cela permet une supervision plus efficace, par exemple en utilisant le Poller du royaume Bordeaux, autorisé par les pare-feux de ces serveurs.
Le module de type sync_regexp_tag suivant permet ce comportement :
method à la valeur "set" ) la propriété realm ( paramètre "property"
) avec la valeur Bordeaux ( paramètre "value" ).define module{
module_name sync-regexp-tag-bordeaux-basic
module_type sync-regexp-tag
# La regexp a appliquer
matched_regexp ^bdx.*
# on va appliquer la regexp sur le nom de l'hote/cluster
matched_prop host_name
# On va alors ecraser la propriete realm avec la valeur Bordeaux
property realm
method set
value Bordeaux
} |
Shinken conseil de passer par des modèles d'hôtes, car ils permettent plus de flexibilité. Il suffit de faire évoluer le modèle dans le temps sans avoir besoin de modifier la configuration de Shinken. ( voir l'exemple suivant ) |
Si la méthode précédente fonctionne, elle n'est pas optimale : en effet, changer le royaume par Bordeaux est utile, mais d'autres éditions de propriétés seront peut-être nécessaires dans le futur ( ajout d'utilisateur à notifier sur l'hôte, dépendances réseaux ... ). Or la méthode précédente impose de créer un nouveau Tagger avec un nouveau module de type sync_regexp_tag pour chaque nouvelle édition de propriété.
Il est donc fortement recommandé de ne pas modifier les propriétés directement, mais plutôt de passer par des modèles d'hôtes/cluster.
Il sera ainsi facile de faire des changements sur toutes les machines situées à Bordeaux, en modifiant juste le modèle Bordeaux.
Le module de type sync_regexp_tag suivant permet ce comportement :
method à la valeur "prepend" ) de la propriété use ( paramètre "property" ) la valeur bordeaux ( paramètre "value" ).define module{
module_name sync-regexp-tag-bordeaux-recomanded
module_type sync-regexp-tag
# La regexp a appliquer
matched_regexp ^bdx.*
# on va appliquer la regexp sur le nom de l'hote/cluster
matched_prop host_name
# On va alors rajouter le template bordeaux au debut de use (prioritaire)
property use
method prepend
value bordeaux
} |
Sur l'Interface de Configuration, les noms des Taggers listés, sont des liens cliquables qui redirigent sur leurs configurations.
|
Un onglet permet de visualiser également un résumé des règles qui vont s'appliquer.
|