Introduction
Fonctionnement
Le collecteur synchronizer-collector-linker va se connecter à chaque shinken distant listé:
- Il interroge le listener « shinken-listener » de chaque shinken distant.
- Il récupère tous les hôtes présents, y compris
- les hôtes en nouveau
- les hôtes avec leurs différences ( comme si elles avaient été acceptées )
Il interrogera à tour de rôle chacun des Shinkens distants pour collecter les hôtes et les présenter au mécanisme de calcul de nouveauté et différence du Synchronizer qui l'héberge.
| Panel |
|---|
Configuration ( affichage de la source dans la page d’accueil )
La définition du collecteur
Il faut créer dans le répertoire /etc/shinken/sources le fichier synchronizer-collector-linker.cfg
Voici les paramètres à renseigner :
| Propriété | Exemple | Description |
|---|---|---|
source_name | synchronizer-collector-linker | Nom de la source . ( doit être unique ). |
order | 3 | Ordre dans la consolidation de l'algorithme pour cette source . Voir dans la page Synchronizer pour plus d'information |
import_interval | 5 | Intervalle en minute de lancement de la source pour réaliser un import. |
module_type | synchronizer-collector-linker | Le type de module à lancer par le Synchronizer ( mécanique interne au démon ) |
data_backend | mongodb | Base de donnée backend utilisée ( forcément une base mongoDB ) |
mongodb_database | synchronizer | Base de donnée mongo dans laquelle sera la configuration du module |
mongodb_uri | mongodb://localhost/?safe=false | URI de la base mongodb |
description | This collector will gather hosts from remote Shinken | La description à montrer dans l'UI. |
enabled | 1 | 1 - Activer le collecteur 0 - Vue dans l'interface, mais ne collecte pas de données. |
not_stored_properties | _SE_UUID | Cette valeur ne doit pas être enlevée, sauf si vous désirez que les hôtes récupérés des sites distants gardent leur |
Un exemple ce trouve dans le répertoire /etc/shinken-user-example/configuration/daemons/synchronizers/sources/synchronizer-collector-linker/synchronizer-collector-linker-example.cfg.
Copier et éditer l'exemple dans le dossier /etc/shinken/sources/
Exemple de définition:
| Code Block |
|---|
#===============================================================================
# synchronizer-collector-linker
#===============================================================================
# Daemons that can load this source:
# - synchronizer
# This source is about loading remote synchronizers configurations
#===============================================================================
define source {
source_name synchronizer-collector-linker
order 2
import_interval 5
module_type synchronizer-collector-linker
data_backend mongodb
mongodb_uri mongodb://localhost/?safe=false
mongodb_database synchronizer
description This source is about loading remote synchronizers configurations
enabled 1
not_stored_properties _SE_UUID
} |
Une fois le fichier copié, il faut ajouter les droits shinken au fichier :
| Code Block |
|---|
cd /etc/shinken/sources/ chown -R shinken:shinken synchronizer-collector-linker.cfg |
Configuration du démon Synchronizer pour déclarer le collecteur
Modifiez le fichier /etc/shinken/synchronizers/synchronizer-master.cfg A la fin de la ligne "sources", rajoutez votre source. |
Exemple :
| Code Block |
|---|
sources syncui,cfg-file-shinken,active-dir-example,sync-vmware,cfg-file-nagios,discovery,openldap-example,synchronizer-collector-linker |
Redémarrez le Synchronizer pour qu'il prenne acte de la nouvelle source :
| Code Block | ||
|---|---|---|
| ||
service shinken-synchronizer restart |
Vous verrez dans l'interface le nouveau collecteur apparaître
Utilisation du collecteur
Définir la connexion aux Shinken distants
Il faut définir les sites distants qui vont être contactés pour récupération de leurs hôtes :
- Cliquer sur le nom de la source dans la page principale pour ouvrir la page de détail du dernier lancement de la source. Ensuite il faut cliquer sur l'onglet "Liste des Synchronizers distant".
- Cliquer sur le bouton à droite pour ouvrir la page d'édition d'un site distant
- Les champs à remplir sont les suivants:
| Propriété | Exemple | Description |
|---|---|---|
Nom | Site distant 1 | Nom d'affichage du site distant dans la liste des sites distants. (Doit être unique) |
Adresse | 192.168.1.100 | Adresse du Synchronizer distant. (Par défaut : le Nom) |
Nom de l'utilisateur | Shinken | Lors de la connexion, le collecteur va se connecter au listener shinken-listener avec ce nom d'utilisateur. |
Mot de passe | Shinken | Le mot de passe qui va avec le nom d'utilisateur |
HTTPS | Vrai | Est-ce que la connexion vers shinken-listener est en HTTPS? |
Préfixe de Renommage | Site-Distant-1 | Ce préfixe sera ajouté à tous hôtes récupérés de ce site distant.
|
Notes | Site de bordeaux | Description affichée dans la liste des sites distants |
Activé | Vrai | Est-ce que le synchronizer défini sera utilisé dans le prochain import d'hôtes. |
Une sauvegarde réussie redirigera vers la liste des Synchronizers distants.
| Tip | ||
|---|---|---|
| ||
| Vérifier dans la page de définition du shinken-listener distant que le mot de passe est le même que celui renseigné dans cette page. Sinon la connexion au Synchronizer distant sera impossible. |
Lors de la création, le Synchronizer distant doit impérativement être joignable pour que la sauvegarde puisse avoir lieu.
Durant une modification, le Synchronizer distant doit être joignable uniquement quand le champ adresse est modifié.
En effet, lors de la vérification, le synchronizer-collector-linker interroge le Shinken distant pour récupérer son identifiant unique.
Cela permet d'identifier
- un Synchronizer distant si celui-ci venait à être ré-installé, sans qu'il y ai besoin de modifier la configuration du linker.
- tous les hôtes venant d'un synchronizer distant, car ils sont "marqués" avec cette identifiant pour pouvoir les retrouver au prochain import.
| Info |
|---|
Si une nouvelle installation est faite sans restauration, les hôtes récupérés seront considérés comme nouveaux, car ceux-ci n'utilisent pas cet identifiant comme clef de synchronisation. |
| Info | ||
|---|---|---|
| ||
Vous pouvez tester manuellement la connexion avec le Synchronizer distant à l'aide de la commande affichée sous le formulaire d'édition.
| Panel |
|---|
| Info |
|---|
Deux sites distants ne peuvent pas avoir le même préfixe de renommage. Une erreur vous avertira si vous rentrez un préfixe déjà utilisé par un autre synchronizer distant. |
Liste des synchronizers distants
Vous pouvez voir sur cette page la liste de tout les Synchronizers distants que vous avez configuré ainsi que leurs caractéristiques.
Un Synchronizer peut avoir plusieurs statuts :
- Les éléments ont été importés sans rencontrer de problèmes
- Les éléments ont été partiellement importés, un événement empêche l'import de tous les éléments.
- Les éléments n'ont pas été importés, une erreur est survenue.
- Les éléments sont en train d'être importés.
- Les éléments n'ont jamais été importés.
- Les éléments ne sont plus importés, la connexion à ce Synchronizer distant est désactivée.
La colonne message peut vous aider en donnant plus d'informations sur le statut affiché.
Vous pourrez modifier la définition d'un site distant en cliquant sur l'engrenage ou sur le nom.
| Panel |
|---|
Précisions techniques
Clés de synchronisation
Les clés de synchronisation sont accrochés aux éléments importés utilisées pour les identifier dans les sources. Le fonctionnement et l'utilité des clés de synchronisation sont décrits de manière plus détaillée dans la page de documentation dédiée: Précision techniques sur le fonctionnement de l'import des sources.
Les propriétés suivantes sont ajoutées comme clés de synchronisation de l'objet Shinken:
- UUIDShinkenDistant-UUID : il est donc composé de 2 valeurs séparées par un tiret.
- UUIDShinkenDistant : unique dans une Installation Shinken
- UUID de l'hôte sur le synchronizer distant
hostname (pour rappel, le hostname est égal à PREFIX-HOSTNAME ( du site distant ), au moment de l'import). Cette clé de synchronization est dynamique. En effet, si le préfixe de renommage du Synchronizer distant change, les noms des hôtes seront renommés ainsi que leur sync-key pour être en adéquation.







