| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
Description
Ce module permet 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 templates d'hôtes/clusters sur les éléments s'ils respectent une règle de nommage sur le nom.
Voir : Tagger sur le nom de l'hôte
Activation du tagger
L'activation des taggers se fait dans le fichier de configuration du Synchronizer
- L'activation du tagger s'effectue en ajoutant le nom de ce tagger dans le fichier de configuration du démon Synchronizer.
- Pour ce faire, ouvrer le fichier de configuration du Synchronizer à l'emplacement /etc/shinken/etc/shinken/synchronizers/synchronizer-master.cfg, et ajouter le nom de votre tagger "regexp-tags".
Exemple: par défaut, nous livrons un tagger dont le nom est "regexp-tags":
| Code Block | ||
|---|---|---|
| ||
define synchronizer {
[...]
#======== Taggers =========
taggers TAGGER_01, regexp-tags
[...]
} |
Pour prendre en compte le changement de configuration, redémarrer le Synchronizer:
| Code Block |
|---|
service shinken-synchronizer restart |
Définition du tagger
La configuration du tagger se trouve par défaut dans le fichier /etc/shinken/taggers/regexp-tags.cfg
- Vous trouverez aussi systématiquement un exemple dans /etc/shinken-user-example/configuration/daemons/synchronizers/taggers/regexp-tags/regexp-tags-exemple.cfg
Exemple de fichier de configuration
| Code Block | ||
|---|---|---|
| ||
#===============================================================================
# regexp-tags
#===============================================================================
define tagger {
tagger_name regexp-tags
order 1
modules sync-regexp-tag
description This tagger will tag host based on the host_name
} |
Détails des sections composant le fichier de configuration
Il est possible de définir plusieurs instances de tagger dans votre architecture Shinken.
- Chaque instance devra avoir un nom unique.
| Nom | Type | Unité | Défaut | Commentaire | ||
|---|---|---|---|---|---|---|
| Texte | --- | regexp-tags | Valeur obligatoire Nous vous conseillons de choisir un nom en fonction de l'utilisation du tagger pour que votre configuration soit simple à maintenir. Doit être unique. Ne doit pas contenir les caractères suivants: < > " ' | ||
| Entier | --- | --- | Valeur obligatoire L'ordre du tagger dans l'interface de configuration ( Les taggers seront executé dans l'ordre lors de l'import ). | ||
| Liste | nom de modules | --- | Valeur obligatoire Liste de nom de modules utilisé par le tagger. Voir ci-dessous pour la configuration des modules. Le séparateur est le caractère : , | ||
| Texte | --- | --- | Une description du tagger affiché dans l'interface de configuration |
Configuration
La configuration du module se trouve par défaut dans le fichier /etc/shinken/modules/sync-regexp-tag.cfg
- Vous trouverez aussi systématiquement un exemple dans /etc/shinken-user-example/configuration/daemons/synchronizers/modules/sync-regexp-tag/sync-regexp-tag-exemple.cfg
Exemple de fichier de configuration
| Code Block | ||
|---|---|---|
| ||
#===============================================================================
# sync-regexp-tag
#===============================================================================
# Daemons that can load this module:
# - synchronizer (into a tagger object)
# This module add new templates into hosts objects based on their hostname (regexp check)
#===============================================================================
define module{
#======== Module identity =========
# Module name. Must be unique
module_name sync-regexp-tag
# Module type (to load module code). Do not edit.
module_type sync-regexp-tag
#======== Regexp definition and objects edition =========
# matched_prop: which object property to check the regexp
matched_prop host_name
# regexp to try to detect
matched_regexp .*shinkendemo.*
# property: which property to edit on the hosts. Default: use (templates definitions)
property use
# method: how to edit the host "property". Several methods are available:
# - replace = put the value if not another one is in place
# - append = add the value at the END
# - prepend = add the value at the BEGINING
# - set = just the value, erase the previous value set by other tagger or source.
method append
# value: which value to set on the property
value SHINKEN-DEMO-REGEXP-EXAMPLE
} |
Détails des sections composant le fichier de configuration
Identification du module
Il est possible de définir plusieurs instances de module de type sync-regexp-tag dans votre architecture Shinken.
- Chaque instance devra avoir un nom unique.
| Nom | Type | Unité | Défaut | Commentaire | ||
|---|---|---|---|---|---|---|
| Texte | --- | sync-regexp-tag | Nous vous conseillons de choisir un nom en fonction de l'utilisation du module pour que votre configuration soit simple à maintenir. Doit être unique. | ||
| Texte | --- | sync-regexp-tag | Ne peut être modifié. |
Regexp definition and objects edition
| Code Block | ||
|---|---|---|
| ||
... #======== Regexp definition and objects edition ========= # matched_prop: which object property to check the regexp matched_prop host_name # regexp to try to detect matched_regexp .*shinkendemo.* # property: which property to edit on the hosts. Default: use (templates definitions) property use # method: how to edit the host "property". Several methods are available: # - replace = put the value if not another one is in place # - append = add the value at the END # - prepend = add the value at the BEGINING # - set = just the value, erase the previous value set by other tagger or source. method append # value: which value to set on the property value SHINKEN-DEMO-REGEXP-EXAMPLE ... |
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
| Nom | Type | Unité | Défaut | Commentaire | ||
|---|---|---|---|---|---|---|
| Texte | Nom de propriété d'un hôte | host_name | la propriété que l'on va regarder pour vérifier qu'elle correspond à ce que l'on recherche.
| ||
| Texte | regexp python | --- | Valeur obligatoire Regexp auquel la propriété doit correspondre | ||
| Texte | --- | --- | Valeur obligatoire Comment la modification de la propriété va avoir lieu sur l’élément :
| ||
| Texte | Nom de propriété d'un hôte | --- | Valeur obligatoire Quelle propriété modifier | ||
| Texte | --- | --- | Valeur obligatoire La valeur qui sera ajouter/que prendra la propriété |
...