| Scroll Ignore | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
|
Fonctionnement
Concept
Un Tagger basé sur des expressions régulières s'applique sur les éléments suivants issus de l'import des sources :
- les hôtes,
- les clusters,
- les modèles d'hôtes ou
- les modèles de clusters
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
Il est possible de définir un tagger qui va utiliser automatiquement le nom pour modifier des propriétés sur les hôtes / clusters qui respectent sa règle de nommage ( une regexp ) sur une propriété.
Typiquement, le 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.
Comment définir un tagger
Configurer un Tagger
L'activation d'un Tagger se fait en trois étapes :
- Définir un Tagger qui utilise un module de type sync_ip_tag ( ex : /etc/shinken/taggers/ip-tags.cfg ).
- Configurer les règles du module ( ex : /etc/shinken/modules/ip-tag-dmz.cfg ).
- Déclarer le Tagger dans le Synchronizer (/etc/shinken/synchronizers/synchronizer-master.cfg ).
Voir la documentation comment configurer le tagger : ( voir la page Module sync-regexp-tag ).
Exemple
Cas d'exemple: automatiquement assigner au royaume Bordeaux les hôtes/clusters dont le nom commence par bdx
Exemple 1: mettre la valeur du royaume directement dans la valeur du royaume
Si les éléments dont le nom des hôtes ou clusters commence par la chaine bdx, on sait qu'il est situé sont situés à Bordeaux. Il est donc intéressant de l’assigner , il est pertinent de les assigner automatiquement au royaume Bordeaux, ce qui permettra de les superviser au plus proche possible ( et donc avoir les bonnes règles de firewall par exemple pour lancer les sondes vers les serveurs ).
On peut donc définir le module suivant qu'on accroche au tagger ( comme indiqué précédemment ).
. 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 comportementIl va fonctionner ainsi :
- SI la propriété host_name ( le nom ) de l'hôte/cluster commence par bdx
- ALORS, on va on va écraser ( paramètre
method=à la valeur "set") la propriété realm ( paramètre "property") avec la valeur Bordeaux ( paramètre ").value"
- ALORS, on va on va écraser ( paramètre
| Code Block | ||||
|---|---|---|---|---|
| ||||
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
} |
| Info |
|---|
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 ) |
Exemple 2: plus flexible, rajouter un modèle "bordeaux"
(, prioritaire sur les autres modèles
)Si la méthode 1 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 la localisation à Bordeaux va peut-être demander à ce qu'une équipe locale ait les droits d'accès et de notifications sur la machine par exemple.Il faudrait alors faire un second module, ce n'est pas l'idéal( 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 en masse sur toutes les machines situées à Bordeaux, en modifiant juste le modèle Bordeaux.
On peut définir le module suivant qu'on accroche au tagger ( comme indiqué ci-dessus ).
Il va Le module de type sync_regexp_tag suivant permet ce comportement :
- SI la propriété host_name ( le nom ) de l'hôte/cluster commence par bdx
- ALORS, on va rajouter au début ( paramètre
method=à la valeur "prepend") de la propriété use ( paramètre "property") avec la valeur bordeaux ( paramètre "value").
- ALORS, on va rajouter au début ( paramètre
| Code Block | ||||
|---|---|---|---|---|
| ||||
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
} |
Visualisation dans l'interface de configuration
On peut consulter la configuration des différents taggers sur nom d'hôtes présent sur le Synchronizer sur la page d'accueil en cliquant sur regexp-tagsSur l'Interface de Configuration, les noms des Taggers listés, sont des liens cliquables qui redirigent sur leurs configurations.
| Panel |
|---|
Un onglet permet de visualiser également un résumé des règles qui vont s'appliquer.
| Panel |
|---|

