Sommaire

Concept

Il est possible de définir un Tagger qui utilise 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  ).

Configurer un Tagger

L'activation d'un Tagger se fait en trois étapes

  • Définir un Tagger qui utilise un module de type sync_ip_tag ( ex : /etc/shinken/taggers/ip-tags.cfg ).
  • Configurer les règles du module ( ex : /etc/shinken/modules/ip-tag-dmz.cfg ).
  • Déclarer le Tagger dans le Synchronizer  ( /etc/shinken/synchronizers/synchronizer-master.cfg ).


( voir la page Module ip-tag-dmz ).



Le Tagger compare les adresses IP des hôtes à une plage d’adresses définie. Si un hôte utilise un nom DNS comme adresse, le module effectue une résolution DNS afin de déterminer son adresse IP.

Exemple : automatiquement assigner au royaume Bordeaux les hôtes/clusters dont l'IP est dans la plage 192.168.0.1/24

Exemple 1 : mettre la valeur du royaume directement dans la valeur du royaume

Si les serveurs dans la plage IP 192.168.0.1/24  se trouvent à Bordeaux, il est pertinent de les assigner automatiquement au royaume Bordeaux. Cela permet une supervision plus efficace, par exemple en utilisant le Poller du royaume Bordeaux, autorisé par les pare-feux de ces serveurs.


Le module de type sync_ip_tag suivant permet ce comportement :

  • Si l’adresse IP définie dans la propriété address de l’hôte appartient à la plage 192.168.0.0/24
    • ALORS, on va écraser ( paramètre method à la valeur "set" ) la propriété realm ( paramètre "property" ) avec la valeur Bordeaux ( paramètre "value" ).



define module{

  module_name    ip-tag-bordeaux-basic
  module_type    sync_ip_tag

  # La plage IP de l'hôte ( propriété address )
  ip_range       192.168.0.0/24

  # Liste des noms d'hôte qui seront ignorés par le Tagger ( propriété host_name )
  # ignore_hosts    


  # On va alors écraser la propriété realm avec la valeur Bordeaux
  property          realm
  method            set
  value             Bordeaux

}

Shinken conseil de passer par des modèles d'hôtes, car ils permettent plus de flexibilité. Il suffit de faire évoluer le modèle dans le temps sans avoir besoin de modifier la configuration de Shinken.

Exemple 2 : ajouter un modèle "bordeaux", prioritaire aux autres modèles

Si la méthode précédente fonctionne, elle n'est pas optimale : en effet, changer le royaume par Bordeaux est utile, mais d'autres éditions de propriétés seront peut-être nécessaires dans le futur ( ajout d'utilisateur à notifier sur l'hôte, dépendances réseaux ... ). Or la méthode précédente impose de créer un nouveau Tagger avec un nouveau module de type sync_ip_tag  pour chaque nouvelle édition de propriété.


Il est donc fortement recommandé de ne pas modifier les propriétés directement, mais plutôt de passer par des modèles d'hôtes.

Il sera ainsi facile de faire des changements sur toutes les machines situées à Bordeaux, en modifiant juste le modèle Bordeaux.


Le module de type sync_ip_tag suivant permet ce comportement.

  • SI l’adresse IP définie dans la propriété address de l’hôte appartient à la plage 192.168.0.0/24
    • ALORS, on va rajouter au début ( paramètre method à la valeur "prepend" ) de la propriété use ( paramètre "property"  ) la valeur bordeaux ( paramètre "value" ).
define module{

  module_name    ip-tag-bordeaux-basic
  module_type    sync_ip_tag

  # La plage IP de l'hôte ( propriété address )
  ip_range       192.168.0.0/24

  # Liste des noms d'hôte qui seront ignorés par le Tagger ( propriété host_name )
  # ignore_hosts    


  # On va alors écraser la propriété realm avec la valeur Bordeaux
  property          realm
  method            prepend
  value             Bordeaux

}

Visualisation dans l'interface de configuration

Sur l'Interface de Configuration, les noms des Taggers listés, sont des liens cliquables qui redirigent sur leurs configurations.



Un onglet permet de visualiser également un résumé des règles qui vont s'appliquer.