Fonctionnement

Vous pouvez définir un tagger qui va utiliser automatiquement le nom pour ajouter des modèles aux hôtes / clusters détectés.

Le nom commun du tagger est regexp-tags et peut charger de nouvelles règles de nommage.

Comment définir une règle Regexp

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

define module{
  module_name       sync-regexp-tag-windows
  module_type       sync-regexp-tag
  matched_prop      host_name
  matched_regexp    .*srvwin.*
  method            append
  property          use
  value             windows
}

Les propriétés sont :

  • module_name: le nom du module ( doit être unique )
  • module_type: doit être égal à sync-regexp-tag
  • matched_prop: 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: Regexp auquel la propriété doit correspondre
  • method: Comment la modification des modèles 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: quelle propriété modifier
  • value: la liste des modèles qui seront ajoutés.


Vous devez alors éditer le fichier rexexp-tags pour lier le nouveau tagger dans le fichier  /etc/shinken/taggers/regexp-tags.cfg:

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
}


La propriété tagger_name ne doit pas contenir les caractères suivants:

  • <
  • >
  • "
  • '


Une fois votre fichier sauvegardé, vous devez l'ajouter dans la liste des taggers du Synchronizer concerné ( par exemple /etc/shinken/synchronizers/synchronizer-master.cfg )


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 l'interface de configuration :


Visualisation dans l'interface de configuration

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.