Versions Compared

Key

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

Table of Contents
stylenone

Description

Concept

Il est possible Ce module permet de définir sur un tagger qui va 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 l'adresse de l'hôte, modifier une propriété choisi.la valeur de leur IP ou nom DNS ( propriété "address" ).

Activation du tagger
  • Cette action est portée par un module de type sync_ip_tag, que vous aurez besoin d'ajouter sur votre Tagger.
  • L'intérêt est, par exemple, d'ajouter le modèle d'hôte
  • 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.
  • Par exemple ajouter le template DMZ sur les hôtes avec des adresses compris dans l'espace : comprises dans la plage IP 172.20.0.0/30.

Voir : Tagger sur le nom de l'hôte


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

  • L'activation du tagger s'effectue en ajoutant le nom de ce tagger dans le fichier de configuration du démon Synchronizer.
  • Pour ce faire, ouvrez le fichier de configuration du Synchronizer à l'emplacement /etc/shinken/etc/shinken/synchronizers/synchronizer-master.cfg, et ajouter le nom de votre tagger "ip-tags".

Exemple: par défaut, nous livrons un tagger dont le nom est "ip-tags":

Code Block
languagebash
define synchronizer {
    [...]     
    #======== Taggers =========
    taggers	          TAGGER_01, ip-tags
    [...]
}
Pour prendre en compte le changement de configuration, redémarrer le Synchronizer:
Code Block
service shinken-synchronizer restart

Définition du tagger

en 3 étapes :

  1. Définir le module de type sync_ip_tag.
  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 Les modules taggers ).
  3. Redémarrer le Synchroniser pour que cette modification soit prise en compte.

Définition du module

La configuration du module se trouve par défaut dans le fichier  La configuration des modules doit être placée dans le dossier /etc/shinken/modules/ip-tag-dmz.cfg

  • Un exemple de fichier de configuration est disponible ici : Vous trouverez aussi systématiquement un exemple dans/etc/shinken-user-example/configuration/daemons/synchronizers/taggersmodules/sync_ip-_tag/MY-MODULE-ip-tags-example.cfg
Exemple de fichier de configuration
  • tag.cfg
  • Copier cet exemple et adapter le à votre besoin ( voir plus bas, la description des différents paramètres ).

    Scroll Title
    title
    Code Block
    languagetext
    theme
js
#===============================================================================
# ip-tags
#===============================================================================

define tagger {
    tagger_name         ip-tags
    order               1
    modules             ip-tag-dmz
    description         This tagger will tag hosts based on their ip range
}

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.
  • Emacs
    cp /etc/shinken-user-example/configuration/daemons/synchronizers/modules/sync_ip_tag/MY-MODULE-ip-tag.cfg /etc/shinken/modules/MY-MODULE-ip-tag.cfg


    Nous vous recommandons 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.


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

Ne doit pas contenir les caractères suivants: < > " '

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/ip-tag-dmz.cfg

  • Vous trouverez aussi systématiquement un exemple dans /etc/shinken-user-example/configuration/daemons/synchronizers/modules/ip-tag-dmz/ip-tag-dmz-exemple.cfg
Code Block
languagejs
#===============================================================================
# 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-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

}

Détails des sections composant le fichier de configuration

Identification

de la source

du module

Code Block
languagejs
themeConfluence
#======== 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 votre l'architecture Shinken .

  • Chaque instance devra avoir un nom unique.


Scroll Title
anchorparameter_cfg
title
NomTypeUnitéDéfaut
Commentaire
Description
code
No Format
module_name 
Texte---
ip
--
tag
-
dmzNous vous conseillons de choisir un nom en fonction de l'utilisation du module pour que votre configuration soit simple à maintenir

Valeur obligatoire

Nom du module.

Doit être unique parmi tous les modules.

code
No Format
module_type 
Texte--- sync_ip_tag Ne
peut être modifié.

IP définition et édition d'objets

pas modifier.

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

Ces paramètres vous permettront de définir un tagger basé sur les plages IP

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
NomTypeUnitéDéfautDescription
No Format
property
Texte---
NomTypeUnitéDéfautCommentaire
Code Block
ip_range
TexteIP/MASK172.20.0.0/30Rang d'IP à détecter
Code Block
property
Texte
---
useQuelle propriété

Valeur obligatoire

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

code

.

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

No Format
method 
Texte---append

Valeur obligatoire

Méthode d'édition : 

  • replace :
mettre
  • ajoute la valeur si
aucun autre n’est en place
  • elle est absente.
  • append  : ajoute la valeur à la
FIN
  • fin.
  • prepend : ajoute la valeur au
DÉBUT
  • début.
  • set :
juste
  • remplace la valeur
, effacer la valeur précédente définie par un autre tagger ou source
  • actuelle ou l'ajoute si absente.
No Format
code
value
Texte--- ---
DMZ

Valeur obligatoire

Valeur

à définir sur la propriété

Mise en place du tagger

utilisée lors de l'application de la règle.

Déclarer le Module dans le Tagger

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 : Vous devez éditer la définition du tagger pour la lier au nouveau module dans le fichier  /etc/shinken/taggers/ipMY-tagsTAGGER.cfg )


Exemple avec un Tagger appelé MY-TAGGER :

Code Block
languagejs
themeConfluence
define tagger {
    tagger_name         ipMY-tagsTAGGER
    order               1

    modules             TAGGER-MODULE-01, TAGGER-MODULE-02, MY-MODULE-ip-tag-dmz
 
 description   description  This tagger will tag hosts based on their ip range
}

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

Code Block
languagetext
themeEmacs
service shinken-synchronizer restart

Affichage des Taggers sur l'interface de Configuration

Les règles apportées par chaque module apparaissent à l'intérieur du Tagger, dans l'onglet Règles :

Panel

Image Added

Info

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

  • <
  • >
  • "
  • '

Pour que les modifications soient prises en compte, vous devez redémarrer le Synchronizer.

Si votre configuration est correcte, vous devriez retrouver votre tagger en bas de page de l'interface de configuration :

Panel
Image Removed