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":

define synchronizer {
    [...]     
    #======== Taggers =========
    taggers	          TAGGER_01, regexp-tags
    [...]
}


Pour prendre en compte le changement de configuration, redémarrer le Synchronizer:

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


#===============================================================================
# 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.


NomTypeUnitéDéfautCommentaire


tagger_name



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: < > " '


order


Entier------

Valeur obligatoire

L'ordre du tagger dans l'interface de configuration ( Les taggers seront executé dans l'ordre lors de l'import ).


modules 


Listenom 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 : ,


description


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


#===============================================================================
# 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.


NomTypeUnitéDéfautCommentaire


module_name 


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.


module_type 


Texte---sync-regexp-tagNe peut être modifié.


Regexp definition and objects edition


   ... 

	#======== 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


NomTypeUnitéDéfautCommentaire


matched_prop


TexteNom 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.
  • Par défaut, la propriété est le host_name ( Nom de l'objet hôte/cluster )


matched_regexp


Texteregexp python---

Valeur obligatoire

Regexp auquel la propriété doit correspondre


method


Texte------

Valeur obligatoire

Comment la modification de la propriété va avoir lieu sur l’élément :

  • replace: si aucune valeur n’était définie dans la propriété à vérifier, le contenu de value sera mis dans la propriété visée, c.a.d. property.
  • append: ajoute le contenu de value à la fin dans la propriété visée, c.a.d. property.
  • prepend: ajoute le contenu de value au début de la propriété visée, c.a.d. property.
  • set: force le contenu de value dans la propriété visée, c.a.d. property.


property


TexteNom de propriété d'un hôte---

Valeur obligatoire

Quelle propriété modifier


value


Texte------

Valeur obligatoire

La valeur qui sera ajouter/que prendra la propriété