Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Make by tools (01.00.01) - action=clean_macro_parameter
Scroll Ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-htmlfalse
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmlfalse
Panel
titleSommaire

Table of Contents
stylenone

Concept

Il est possible de définir sur un Tagger une action qui

utilise

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" ).

  • Cette action est portée par un module de type sync_ip_tag, qu'il faudra rajouter sur le Tagger.
  • L'intérêt est, par exemple, d'ajouter le modèle d'hôte DMZ sur les hôtes avec des adresses comprises dans la plage IP 172.20.0.0/26 ( voir la page Tagger utilisant un module basé sur les plages IP ).


L'activation

d'un Tagger

de ce module se fait en

trois

3 étapes :

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

    Définition du tagger

    1. .
    2. L'ajouter au Tagger qui exécutera cette règle.
      1. Si vous n'avez pas déjà de Tagger défini, il faut le mettre en place ( voir la page Definition des taggers ).
    3. Redémarrer le Synchroniser pour que cette modification soit prise en compte.

    Définition du module

    La configuration des modules La configuration des Taggers doit être placée dans le dossier /etc/shinken/taggers/. 

    Le Tagger basé sur les plages IP livré par Shinken : /etc/shinken/taggers/ip-tags.cfg.

    modules/

    • Un exemple de fichier de configuration est disponible ici : /etc/shinken-user-example/configuration/daemons/synchronizers/taggersmodules/sync_ip-_tag/MY-MODULE-ip-tags-example.cfg

    Exemple de fichier de configuration

    Code Block
    languagejs
    themeConfluence
    define tagger {
    # Shinken Enterprise. Lines added by import core. Do not remove it, it's used by Shinken Enterprise to update your objects if you re-import them.
        _SE_UUID             core-tagger-ed4200e85adc11e58e4d080027f08538
        _SE_UUID_HASH        0d3fd680dc3d526ffc3750cfa7ef49d1
    # End of Shinken Enterprise part
    
    
        tagger_name		ip-tags
        order		    1
    
        modules    		ip-tag-dmz
    
        description		This tagger will tag hosts based on their ip range
    }
    • tag.cfg
    • Copier cet exemple et adapter le au besoin ( voir plus bas, la description des différents paramètres ).

      Scroll Title
      title
    Pour prendre en compte le changement de configuration, il faut redémarrer le Synchronizer :
    • Code Block
      languagetext
      themeEmacs
    service
    • cp /etc/shinken
    -synchronizer restart

    Détails des sections composant le fichier de configuration

    Il est possible de définir plusieurs instances de Tagger s dans l'architecture Shinken .

    Chaque instance devra avoir un nom unique.

    Scroll Title
    anchorparameter_cfg
    title
    NomTypeUnitéDéfautCommentaire
    No Format
    tagger_name
    Texte--- ---

    Valeur obligatoire

    Nom du Tagger.

    Le nom doit être unique parmi tous les taggers existants.

    Caractères interdits :
    les signes inférieur ou supérieur ( < ou > ), les guillemets ( ' ou " ).

    No Format
    order
    Entier--- ---

    Valeur obligatoire

    L'ordre d'application des Taggers. Les Taggers sont exécutés les uns à la suite des autres dans l'ordre croissant de la propriété.

    Warning

    Si plusieurs Taggers qui s'enchaînent modifient la même propriété, il est possible qu'un Tagger annule les modifications de précédents Taggers.

    Attention donc à l'ordre d'exécution des Taggers

    • -user-example/configuration/daemons/synchronizers/modules/sync_ip_tag/MY-MODULE-ip-tag.cfg /etc/shinken/modules/MY-MODULE-ip-tag.cfg


      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 ).

    • Renommer le module ( paramètre module_name ).

    • Éditer les paramètres pour définir l'action du module :
      • Les hôtes à impacter. 
      • La nature de l'action.

    Exemple de fichier de configuration

    Cet exemple ajoute 

    • le modèle d'hôte DMZ, à la fin des modèles d'hôtes utilisés par chaque hôte
    • avec des adresses comprises dans la plage IP 172.20.0.0/30.
    No Format
    modules 
    Texte--- ---

    Valeur obligatoire

    Nom du module utilisé par le Tagger.

    No Format
    description
    Texte--- --- Une description du Tagger affichée dans l'Interface de Configuration

    Configuration du module ou des modules

    La configuration des modules doit être placée dans le dossier /etc/shinken/modules/

    La configuration du module livré par Shinken se trouve dans le fichier /etc/shinken/modules/ip-tag-dmz.cfgUn exemple de fichier de configuration est disponible ici :  /etc/shinken-user-example/configuration/daemons/synchronizers/modules/ip-tag-dmz/ip-tag-dmz-exemple.cfg


    Code Block
    languagejs
    themeConfluence
    #===============================================================================
    # 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{
    # Shinken Enterprise. Lines added by import core. Do not remove it, it's used by Shinken Enterprise to update your objects if you re-import them.
        _SE_UUID             core-module-07a50e365adc11e5a550080027f08538
        _SE_UUID_HASH        5d15556b0225fcc39cecf7d86d636120
    # End of Shinken Enterprise part
    
        #======== Module identity =========
        # Module name. Must be unique
        module_name            MY-MODULE-ip-tag-dmz
    
        # 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
    
    }
    Pour prendre en compte le changement de configuration, il faut redémarrer
    le Synchronizer :
    Code Block
    languagetext
    themeEmacs
    service shinken-synchronizer restart

    Détails des sections composant le fichier de configuration

    Identification du module

    Code Block
    languagejs
    themeConfluence
    #======== Module identity =========
    # Module name. Must be unique
    module_name                   MY-MODULE-ip-tag-dmz
    
    # 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 .

    • Chaque instance devra avoir un nom unique.


    Scroll Title
    anchorparameter_cfg
    title
    NomTypeUnitéDéfautCommentaireDescription
    No Format
    module_name 
    Texte--- ---

    Valeur obligatoire

    Nom du module.

    Doit être unique parmi tous les modules.

    No Format
    module_type 
    Texte--- sync_ip_tag Ne pas modifier.

    Définition

    de la

    des hôtes où l'action de modification sera appliquée ( plage d'adresses IP et

    de l'édition des objets

    exclusion )

    Code Block
    languagejs
    themeConfluence
        #======== 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 
    Scroll Title
    anchorparameter_cfg
    title
    NomTypeUnitéDéfautDescription
    No Format
    ip_range
    TexteIP/masque ---

    Valeur obligatoire

    Plage d'IP à détecter.

    No Format
    ignore_hosts
    Liste------

    Liste de nom d'hôtes ( et pas de leurs adresses ) qui seront ignorés par ce module de Tagger.

    Édition des hôtes

    Code Block
    languagejs
    themeConfluence
        
    
    # 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
    
    
    Scroll Title
    anchorparameter_cfg
    title

    Valeur obligatoire

    Plage d'IP à détecter.
    NomTypeUnitéDéfautCommentaire
    No Format
    ip_range
    TexteIP/masque --- Description
    No Format
    property
    Texte--- ---

    Valeur obligatoire

    Nom de la propriété à modifier sur l'hôte.

    Ex : use pour les modèles de l'hôte.

    No Format
    method 
    Texte---replaceappend

    Valeur obligatoire

    Méthode d'édition : 

    • replace : ajoute la valeur si elle est absente.
    • append  : ajoute la valeur à la fin.
    • prepend : ajoute la valeur au début.
    • set : remplace la valeur actuelle ou l'ajoute si absente.
    No Format
    value
    Texte--- ---

    Valeur obligatoire

    Valeur utilisée par la méthodelors de l'application de la règle.

    Déclarer le

    Tagger

    Module dans le

    Synchronizer

    Tagger

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

    Il

    Pour qu'un Tagger utilise les règles définies dans un module, il faut ajouter le nom du

    Tagger

    module au paramètre

    taggers

    modules dans le fichier de configuration du

    démon Synchronizer

    Tagger (ex : /etc/shinken/

    synchronizers

    taggers/

    synchronizer

    MY-

    master

    TAGGER.cfg )

    .


    Exemple : Le Tagger livré par défaut dont le nom est "ip-tags"avec un Tagger appelé MY-TAGGER :

    Code Block
    languagejs
    themeConfluence
    define synchronizertagger {
        [...]     
    tagger_name         MY-TAGGER
        order         #======== Taggers =========
          1
    
     taggers	   modules             TAGGER_-MODULE-01, TAGGER-MODULE-02, MY-MODULE-ip-tagstag
     
        [...] description         
    }

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

    Code Block
    languagetext
    themeEmacs
    service shinken-synchronizer restart


    Excerpt Include
    Configuration ( Synchronizer )
    Configuration ( Synchronizer )
    pageDefaultLink[destination=Optional[PageResourceIdentifier[spaceKey=<null>,title=Configuration ( Synchronizer )]],body=Optional.empty,tooltip=Optional.empty,anchor=Optional.empty,target=Optional.empty]
    nopaneltrue

    Affichage des Taggers sur l'interface de Configuration

    Les Taggers apparaissent sur la page Principale de l'Interface de Configuration ( voir la page Page Principale ). Excerpt IncludePage PrincipalePage Principalenopaneltruerègles apportées par chaque module apparaissent à l'intérieur du Tagger, dans l'onglet Règles :

    Panel

    Image Added