Il est possible de définir sur un Tagger une action qui va utiliser une plage d’adresses IP afin d'éditer automatiquement une propriété des hôtes issus de l'import des sources en fonction de la valeur de leur IP ou nom DNS ( propriété "address" ).
sync_ip_tag, qu'il faudra rajouter sur le Tagger.L'activation de ce module se fait en 3 étapes :
sync_ip_tag.La configuration des modules doit être placée dans le dossier /etc/shinken/modules/
Copier cet exemple et adapter le au besoin ( voir plus bas, la description des différents paramètres ).
|
Shinken recommande d'intégrer, dans le nom du module, un rappel du type du module. C'est plus simple en gestion ( ex : MY-MODULE-ip-tag.cfg ).
Cet exemple ajoute
#===============================================================================
# ip-tag-*
#===============================================================================
# Daemons that can load this module:
# - synchronizer (into a tagger object)
# This module add new templates into hosts objects based on their IP range. For example to set a DMZ template is an host is in a DMZ ip range.
#===============================================================================
define module{
#======== Module identity =========
# Module name. Must be unique
module_name MY-MODULE-ip-tag
# Module type (to load module code). Do not edit.
module_type sync_ip_tag
#======== Ip range definiton, and objects edition =========
# IP range to detect. Should looks like: XXX.XXX.XXX.XXX/YY
ip_range 172.20.0.0/30
# host_name listed will be skipped by tagger
# ignore_hosts
# 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 DMZ
} |
#======== Module identity ========= # Module name. Must be unique module_name MY-MODULE-ip-tag # Module type (to load module code). Do not edit. module_type sync_ip_tag |
Il est possible de définir plusieurs instances de module de type sync_ip_tag dans l'architecture Shinken .
|
#======== Ip range definiton, and objects edition =========
# IP range to detect. Should looks like: XXX.XXX.XXX.XXX/YY
ip_range 172.20.0.0/30
# host_name listed will be skipped by tagger
# ignore_hosts |
|
# 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 DMZ |
|
Pour qu'un Tagger utilise les règles définies dans un module, il faut ajouter le nom du module au paramètre modules dans le fichier de configuration du Tagger ( ex : /etc/shinken/taggers/MY-TAGGER.cfg )
Exemple avec un Tagger appelé MY-TAGGER :
define tagger {
tagger_name MY-TAGGER
order 1
modules TAGGER-MODULE-01, TAGGER-MODULE-02, MY-MODULE-ip-tag
description
} |
Pour prendre en compte le changement de configuration, il faut redémarrer le Synchronizer :
Les règles apportées par chaque module apparaissent à l'intérieur du Tagger, dans l'onglet Règles :
|