| Scroll Ignore |
|---|
| scroll-viewport | true |
|---|
| scroll-pdf | true |
|---|
| scroll-office | true |
|---|
| scroll-chm | true |
|---|
| scroll-docbook | true |
|---|
| scroll-eclipsehelp | true |
|---|
| scroll-epub | true |
|---|
| scroll-html | truefalse |
|---|
|
|
Le module MODULE-NAME est un module qui peut être activé seulement sur le démon DEMON-TYPE.
- L'activation du module s'effectue en ajoutant le nom de ce module dans le fichier de configuration du démon DEMON-TYPE.
- Pour ce faire, ouvrer le fichier de configuration du DEMON-TYPE à l'emplacement /etc/shinken/XXXXX/, et ajouter le nom de votre module "
MODULE-NAME".
Exemple: par défaut, nous livrons un module dont le nom est "MODULE-NAME":
| Code Block |
|---|
|
define DEMON-TYPE {
[...]
modules Module 1, Module 2, Module 3, MODULE-NAME
[...]
} |
Pour prendre en compte le changement de configuration, redémarrer l'Arbiter:| Code Block |
|---|
service shinken-arbiter restart |
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, clusters, modèles d'hôtes et modèles de clusters issus de l'import des sources en fonction de la valeur d'une donnée ou d'une propriété.
L'activation de ce module se fait en 3 étapes :
- Définir le module de type
sync-regexp-tag. - L'ajouter au Tagger qui exécutera cette règle.
- Si vous n'avez pas déjà de Tagger défini, il faut le mettre en place ( voir la page Les modules taggers ).
- Redémarrer le Synchroniser pour que cette modification soit prise en compte.
La configuration des modules doit être placée dans le dossier /etc/shinken/modules/
La configuration du module se trouve par défaut dans le fichier /etc/shinken/modules/MODULE-NAME.cfg
Exemple de fichier de configuration
Cet exemple ajoute
- le modèle d'hôte Bordeaux, à la fin des modèles d'hôtes utilisés par chaque hôte
- dont le nom commence par : bdx
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
#===================================================# ============================
# ip-tag-*
#=============================================================================== #
# ---------------------------------- MODULE-NAME ---------------------------------- #
#
# Daemons that can load this module:
# - synchronizer (into a tagger object)
# This module add new templates into hosts objects based on their hostname (regexp check)
#===============================================================================
define module{
#======== Module identity =========
# Module name. Must be unique
module_name MY-MODULE-regexp-tag
# Module type (to load module code). Do not edit.
module_type sync-regexp-tag
#======== Regexp definition and objects edition =========
# matched_prop: which object property to check the regexp
# --- matched_prop host_name
# regexp to try to detect
matched_regexp ^bdx.*
# 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 Bordeaux
} |
Détails des sections composant le fichier de configuration
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
#======== Module identity =========
# Module name. Must be unique
module_name MY-MODULE-regexp-tag
# Module type (to load module code). Do not edit.
module_type sync-regexp-tag |
Il est possible de définir plusieurs instances de module sync-regexp-tag dans l'architecture Shinken.
- Chaque instance devra avoir un nom unique.
| Scroll Title |
|---|
| anchor | parameter_cfg |
|---|
| title | |
|---|
|
| Nom | Type | Unité | Défaut | Description |
|---|
| Texte | --- | --- | Valeur obligatoire. Nom du Module. - Doit être unique parmi tous les modules.
| | Texte | --- | sync-regexp-tag | Ne pas modifier. |
|
Définition des hôtes où l'action de modification sera appliquée ( expression régulière )
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
#======== Regexp definition and objects edition =========
# matched_prop: which object property to check the regexp
matched_prop host_name
# regexp to try to detect
matched_regexp ^bdx.* |
| Scroll Title |
|---|
| anchor | parameter_cfg |
|---|
| title | |
|---|
|
| Nom | Type | Unité | Défaut | Description |
|---|
| Texte | Nom de propriété d'un hôte | --- | Valeur obligatoire La propriété comparée à l'expression régulière. | | Texte | regexp python | --- | Valeur obligatoire Regexp auquel la propriété doit correspondre. |
|
Ecrire une Expression Régulière ( Regexp ) pour la propriété matched_regexp
Une expression régulière est une séquence de caractères qui forme un motif de recherche.
- Ce motif est utilisé pour rechercher des correspondances dans des textes.
- Les caractères simples, comme
a, b, 1, 2, etc., recherchent une correspondance exacte.
Par exemple, le motif "bdx" recherchera exactement la séquence "bdx" dans la propriété ou la donnée définie dans "matched_prop". Les valeurs ci-dessous contiennent le motif "bdx", elles correspondent donc au motif défini et le Tagger appliquera la modification :
- bdx-serveur-mysql
- serveur-mysql-bdx
- serveux-bdx-mysql
Certains caractères sont spéciaux et ont une signification particulière dans les expressions régulières. Par exemple :
. : Correspond à n'importe quel caractère sauf un retour à la ligne.* : Correspond à zéro ou plusieurs occurrences du caractère précédent.+ : Correspond à une ou plusieurs occurrences du caractère précédent.? : Correspond à zéro ou une occurrence du caractère précédent.[] : Correspond à n'importe quel caractère à l'intérieur des crochets. Par exemple, [abc] cherchera les lettres "a", "b" ou "c".(): Permet de grouper des motifs.- | : Correspond à l'un ou l'autre des motifs séparés par le pipe.
- Par exemple, le motif "(
bdx|bordeaux)" cherchera dans un texte la chaîne "bdx" ou "bordeaux".- Si au moins une des deux est présente, alors la chaîne correspond au motif.
^ : Correspond au début d'une ligne.$ : Correspond à la fin d'une ligne.
Pour chercher un de ces caractères spéciaux dans un texte ( par exemple si le nom de l'hôte contient le signe dollar $ ) il faut le faire précéder d'un antislash, comme ceci : \$
- Ces caractères servent à affiner la recherche.
- Pour plus d'explications sur comment écrire des expressions régulières, il est possible de se référer à la documentation de Python ( voir la page Guide des expressions régulières ).
Si seuls les éléments dont le nom commence par "bdx" doivent recevoir le modèle d'hôte Bordeaux, le motif précédent ne suffit plus, pour cela il faut également utiliser le symbole ^ :
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
^bdx |
Si le nom doit commencer par "bdx" OU "bordeaux" il faut également ajouter les parenthèses :
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
^(bdx|bordeaux) |
Exemples de valeurs :
| Texte | Correspondance avec le motif |
|---|
| bdx-serveur-1 | OUI |
| serveur-mysql1-bdx | NON car "bdx" n'est pas au début |
| bordeaux-mysql | OUI |
| Bordeaux-mysql | NON car le B est une lettre majuscule |
| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
# 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 ---
#============================================================================================================ #
define module {
...
=> Mettre le fichier livré par défaut
...
}
|
Détails des sections composant le fichier de configuration
append
# value: which value to set on the property
value Bordeaux |
| Scroll Title |
|---|
| anchor | parameter_cfg |
|---|
| title | |
|---|
|
Il est possible de définir plusieurs instances de module de type COLLECTEUR-NAME dans votre architecture Shinken.
Chaque instance devra avoir un nom unique.Commentaire| Code Block |
module_name MODULE-NAME | Nous vous conseillons de choisir un nom en fonction de l'utilisation du module pour que votre configuration soit simple à maintenir. Doit être unique. | | --- | Valeur obligatoire Nom de la propriété à modifier. Ex : use pour les modèles de l'hôte. | | Texte | --- | append | 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.
| |
|
| Code Block |
module_type MODULE-NAME | Ne peut être modifié. | | --- | Valeur obligatoire Valeur utilisée par la méthode. |
|
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 : /etc/shinken/taggers/MY-TAGGER.cfg )
Exemple avec un Tagger appelé MY-TAGGER :
xxxxx| Code Block |
|---|
| language | js |
|---|
| theme | Confluence |
|---|
|
define tagger {
tagger_name ...
=> Mettre le bloc de configuration
...
MY-TAGGER
order 1
modules TAGGER-MODULE-01, TAGGER-MODULE-02, MY-MODULE-regexp-tag
description
} |
Pour prendre en compte le changement de configuration, il faut redémarrer le Synchronizer :
| Code Block |
|---|
|
service shinken-synchronizer restart |
Les règles apportées par chaque module apparaissent à l'intérieur du Tagger, dans l'onglet Règles :
| Panel |
|---|
Image Added
|
Description du chapitre
Mettre tous les paramètres présents dans le chapitre de configuration
| Nom | Type | Unité | Défaut | Commentaire |
|---|
XXXX | XXXX | XXXX | Texte | XXXX | XXXX