Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue


Panel
titleSommaire

Table of Contents
stylenone



Description

XXXX

Activation du module

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.

Activation du tagger

L'activation des taggers se fait dans le fichier de configuration du Synchronizer 

  • L'activation du tagger

Le module MODULE-NAME est un module qui peut être activé seulement sur le démon DEMON-TYPE.

  • L'activation du module s'effectue en ajoutant le nom de ce module tagger dans le fichier de configuration du démon DEMON-TYPESynchronizer.
  • Pour ce faire, ouvrer le fichier de configuration du DEMON-TYPE à Synchronizer à l'emplacement /etc/shinken/etc/shinken/XXXXXsynchronizers/synchronizer-master.cfg, et ajouter le nom de votre module tagger "MODULEregexp-NAMEtags".


Exemple: par défaut, nous livrons un module tagger dont le nom est "MODULEregexp-NAMEtags":

Code Block
languagebash
define DEMON-TYPEsynchronizer {
    [...]
    modules 
    #======== Taggers =========
    taggers	        Module 1, Module 2, Module 3, MODULE-NAME TAGGER_01, regexp-tags
     [...]
}


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

Code Block
service shinken-arbitersynchronizer restart


Configuration

Définition du tagger

La configuration du module tagger se trouve par défaut dans le fichier  /etc/shinken/modulestaggers/MODULEregexp-NAMEtags.cfg

  • Vous trouverez aussi systématiquement un exemple dans /etc/shinken-user-example/configuration/daemons/DEMON-TYPEsynchronizers/modulestaggers/MODULEregexp-NAMEtags/MODULEregexp-tags-NAMEexemple.cfg

Exemple de fichier de configuration


Code Block
languagejs
# ===============================================================================
# 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


Code Block
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.


Code Block
order


Entier------

Valeur obligatoire

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


Code Block
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 : ,


Code Block
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


Code Block
languagejs
#===================================================MODULE-NAME             ---------------------------------- #
# ============================
# 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                                 ---
#============================================================================================================ #

define module {

   ...
=> Mettre le fichier livré par défaut
   ...
}

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 COLLECTEUR-NAMEsync-regexp-tag dans votre architecture Shinken.

  • Chaque instance devra avoir un nom unique.


NomTypeUnitéDéfautCommentaire


Code Block
module_name 


Texte---MODULEsync-regexp-NAMEtag

Nous vous conseillons de choisir un nom en fonction de l'utilisation du module pour que votre configuration soit simple à maintenir.

Doit être unique.


Code Block
module_type 


Texte---MODULEsync-regexp-NAMEtagNe peut être modifié.


xxxxx

Regexp definition and objects edition


Code Block
languagejs
   ... 

=> Mettre le bloc de configuration
   ...

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

Description du chapitre

Mettre tous les paramètres présents dans le chapitre de configuration


NomTypeUnitéDéfautCommentaire


Code Block
XXXX 
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 )


Code Block
matched_regexp


Texteregexp python---

Valeur obligatoire

Regexp auquel la propriété doit correspondre


Code Block
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.


Code Block
property


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

Valeur obligatoire

Quelle propriété modifier


Code Block
value


Texte------

Valeur obligatoire

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

XXXXXXXXXXXX
Code Block
XXXX 
TexteXXXXXXXX