| Scroll Ignore |
|---|
| scroll-viewport | true |
|---|
| scroll-pdf | true |
|---|
| scroll-office | true |
|---|
| scroll-chm | true |
|---|
| scroll-docbook | true |
|---|
| scroll-eclipsehelp | true |
|---|
| scroll-epub | true |
|---|
| scroll-html | false |
|---|
|
|
Un Tagger utilisant un module basé sur les expressions régulières ( de type sync-regexp-tag ) s'applique sur les hôtes, clusters, les modèles d'hôtes, les modèles de clusters, 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 par son module.
| Info |
|---|
Pour résoudre les éléments qu'il doit modifier, ce Tagger peut utiliser n'importe quelle propriété ou donnée de l'élément à configurer. De plus, il n'est pas limité aux hôtes. - Ce que ne peut pas faire un Tagger utilisant un module basé sur les plages IP
|
Exemple : automatiquement assigner au royaume Bordeaux les hôtes/clusters dont le nom commence par bdx
Exemple 1 : mettre le nom du royaume directement dans la propriété définissant le royaume
Vous pouvez définir un tagger qui va utiliser automatiquement le nom pour ajouter des modèles aux objets détectés. Le nom commun du tagger est regexp-tags et peut charger de nouvelles règles de nommage
Pour chaque règle Regexp , vous devrez définir un nouveau module et l'ajouter dans la configuration du tagger regexp-tags .
Vous pouvez copier l'exemple /etc/shinken/modules/sync-regexp-tag.cfg dans un nouveau fichier pour le modifier
| Code Block |
|---|
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 :
- SI la propriété host_name ( le nom ) de l'hôte/cluster commence par bdx
- ALORS, on va écraser ( paramètre
method à la valeur "set" ) la propriété realm ( paramètre "property" ) avec la valeur Bordeaux ( paramètre "value" ).
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
define module{
module_name sync-regexp-tag- |
windowsbordeaux
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 |
matched_regexp .*srvwin.*ecraser la propriete realm avec la valeur Bordeaux
|
methodappend
propertyusewindows| Warning |
|---|
|
À noter que cette méthode est facile à appréhender, mais n'est pas une bonne pratique sur le long terme : - en effet, il pourra être nécessaire de modifier d'autres propriétés liées, en lien avec le datacenter de bordeaux dans le futur ( ajout d'utilisateur à notifier sur l'hôte, dépendances réseaux ... ),
- cela nécessitera d'ajouter des modules de Taggers de type
sync-regexp-tag pour chaque nouvelle édition de propriété.
La bonne pratique est de définir un modèle d'hôte et de l'accrocher systématiquement aux équipements de ce datacenter. - Ainsi, vous pourrez avoir un modèle où mettre les futures spécificités du datacenter de bordeaux.
- le prochain exemple en explique la mise en place.
|
Exemple 2: plus flexible, rajouter un modèle "bordeaux", prioritaire sur les autres modèles
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 :
- 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" ) la valeur bordeaux ( paramètre "value" ).
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
define module{
module_name sync-regexp-tag-bordeaux
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 |
Les propriétés sont :
- module_name: doit être unique
- module_type: doit être égal à sync-regexp-tag
matched_prop: la propriété qui doit correspondre. Par défaut, la propriété est le nom de l'objet hôte (host_name)
matched_regexp: Regexp auquel l'objet doit correspondre
- method: comment vous voulez modifier l'objet détecté:
- replace: mettre la valeur si aucune en place
- append: ajouter la valeur à la FIN du modèle
- prepend: ajouter la valeur au DÉBUT du modèle
- set: juste la valeur, en écrasant la valeur précédente .
- property: quelle propriété modifier
- value: quelle valeur prendre en compte
Vous devez alors éditer le fichier rexexp-tags pour lier le nouveau module dans le fichier /etc/shinken/taggers/regexp-tags.cfg:
| Code Block |
|---|
define tagger {
tagger_name regexp-tags
order 1
modules sync-regexp-tag,sync-regexp-tag-windows
description This tagger will tag host based on the host_name
} |
| Info |
|---|
Le tagger_name ne doivent pas contenir les caractères suivants: - <
- >
- "
- '
|
Une fois votre fichier sauvegardé, vous devez l'ajouté dans la liste des taggers du synchronizer concerné. ( par exemple /etc/shinken/synchronizers/synchronizer-master.cfg )
| Code Block |
define synchronizer {
[ ... ]
# Taggers:
# ip-tags
# regexp-tags
taggers ip-tags,regexp-tags,my-new-tagger
[...]Pour que les modifications soient prises en compte, vous devez ensuite redémarrer le Synchronizer.
Si votre configuration est correcte, vous devriez retrouver votre tagger en bas de page de Visualisation dans l'interface de configuration
:
Image Removed
Visualisation dans Sur l'
interface de configurationInterface de Configuration, les noms des Taggers listés sont des liens cliquables.
| Panel |
|---|
Image Added
|
- Ces liens redirigent sur leurs configurations.
| Panel |
|---|
Image Added
|
Vous pouvez 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-tags.
Image Removed
Un onglet vous - permet de visualiser également un résumé des règles qui vont s'appliquer.
Image Removed
| Panel |
|---|
Image Added |