Sommaire

Description

Cette source permet de récupérer tous les hôtes d'une installation Shinken distante.

Certaines situations nécessitent l’existence de plusieurs Shinken Entreprise que l'on voudrait connecter ensemble:

  • Exemple 1: Découvrir les machines d'un sous-réseau sécurisé
    • Pour utiliser le collecteur discovery ( réalisant des scans réseau via nmap ) vers ce sous-réseau sécurisé, il faudrait ouvrir les flux vers tous les équipements ce qui créerait une faille de sécurité.
    • Pour contourner cela, il est possible d'installer un Shinken dans le sous-réseau, ce dernier réalisant les scans nmap, et le connecter à un Shinken central via le synchronizer-collector-linker pour récupérer les hôtes découverts dans le sous-réseau.

  • Exemple 2: Donner une autonomie à un administrateur Shinken qui pourrait créer ses hôtes via un Synchronizer distant et les collecter en centrale via le synchronizer-collector-linker. 

La source synchronizer-collector-linker va requêter le Synchronizer distant via son listener-shinken pour y récupérer l'intégralité des hôtes, y compris ceux en nouveau/différences.

Activation du collecteur

Vous pouvez essayer ce type de source soit en activant le collecteur "synchronizer-collector-linker" présent par défaut ou en activant vos propres collecteurs de type synchronizer-collector-linker.

Activer le collecteur synchronizer-collector-linker livré par défaut

Par défaut, l’installation ou la mise à jour de Shinken Entreprise va mettre à disposition une définition de type synchronizer-collector-linker appelé "synchronizer-collector-linker".

  • La configuration de ce collecteur se trouve par défaut dans le fichier : /etc/shinken/sources/synchronizer-collector-linker.cfg
  • Le collecteur synchronizer-collector-linker s'active comme les autres sources, c'est-à-dire en modifiant le fichier /etc/shinken/synchronizers/synchronizer-master.cfg ( ou le .cfg que vous utilisez pour définir les options du Synchronizer )
    • Ce collecteur est déjà présent dans la liste des sources livrées par défaut, il n'y a donc rien à modifier.
    • S'il n'y est pas, vous pouvez le rajouter pour qu'il soit de nouveau actif.

      Exemple:

      define synchronizer {
          [...]
          sources                   Source 1, Source 2, Source 3, synchronizer-collector-linker
          [...]
      }
  • Redémarrez le Synchronizer pour qu'il puisse prendre en compte cette nouvelle source

    service shinken-synchronizer restart

Ajouter un autre collecteur de type synchronizer-collector-linker

Vous pouvez avoir plusieurs sources du type synchronizer-collector-linker, pour par exemple se connecter à plusieurs serveurs Open LDAP.

Choisissez un nom pour ce nouveau collecteur.

  • Pour l'exemple, nous allons l'appeler "Mon-Collecteur-Synchronizer-Linker".
  • Remplacer dans l'exemple le mot "Mon-Collecteur-Synchronizer-Linker" par le nom que vous aurez choisi.


Pour ajouter une autre source, vous devez :

  • Copier le fichier de définition de la source d'exemple : /etc/shinken-user-example/configuration/daemons/synchronizers/sources/synchronizer-collector-linker/synchronizer-collector-linker-example.cfg dans le répertoire de définition des sources /etc/shinken/sources/.
    ( Exemple : /etc/shinken/sources/collector__synchronizer-collector-linker__Mon-Collecteur-Synchronizer-Linker.cfg )

    cp  /etc/shinken-user-example/configuration/daemons/synchronizers/sources/synchronizer-collector-linker/synchronizer-collector-linker-example.cfg /etc/shinken/sources/collector__synchronizer-collector-linker__Mon-Collecteur-Synchronizer-Linker.cfg
  • Ouvrer ce fichier ( collector__synchronizer-collector-linker__Mon-Collecteur-Synchronizer-Linker.cfg ) :
    • modifier la ligne source_name en remplaçant le nom par défaut "synchronizer-collector-linker" par le nom que vous avez choisi "Mon-Collecteur-Synchronizer-Linker".

      define  source {
          [...]
          source_name         Mon-Collecteur-Synchronizer-Linker
          [...]
      }
  • Ajouter le nom de la nouvelle source au Synchronizer en modifiant le paramètre sources du fichier /etc/shinken/synchronizers/synchronizer-master.cfg.

    define synchronizer {
        [...]
        sources                   Source 1, Source 2, Source 3, Mon-Collecteur-Synchronizer-Linker
        [...]
    }
  • Redémarrez le Synchronizer pour qu'il puisse prendre en compte cette nouvelle source.

    service shinken-synchronizer restart

Configuration

Voici le détail du fichier de configuration de la source qui se trouve ( suivant la procédure choisie ) :

  • Soit dans le fichier que vous venez de créer en ajoutant le module ( par exemple /etc/shinken/sources/collector__synchronizer-collector-linker__Mon-Collecteur-Synchronizer-Linker.cfg ).
  • Soit dans le fichier /etc/shinken/sources/synchronizer-collector-linker.cfg.

Exemple de fichier de configuration

Vous trouverez aussi systématiquement un exemple dans /etc/shinken-user-example/configuration/daemons/synchronizers/sources/synchronizer-collector-linker/synchronizer-collector-linker-example.cfg


#===============================================================================
# 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
    mongodb_uri                     mongodb://localhost/?safe=false
    mongodb_database                synchronizer
    description                     This source is about loading remote synchronizers configurations
    enabled                         1

    # Do not remove _SE_UUID from this property unless you want hosts retrieved from remote sites to keep their _SE_UUID
    # in the main Shinken (where synchronizer-collector-linker is present)
    not_stored_properties           _SE_UUID

}
  

Détails des sections composant le fichier de configuration

Identification de la source

Il est possible de définir plusieurs instances de module de type synchronizer-collector-linker dans votre architecture Shinken.

  • Chaque instance devra avoir un nom unique.


NomTypeUnitéDéfautCommentaire
source_name 
Texte---synchronizer-collector-linker

Nous vous conseillons de choisir un nom en fonction de l'utilisation du module pour que votre configuration soit simple à maintenir.

Chaîne de caractères composée de lettres, de chiffres et des caractères _  et - .

  • Doit être unique.
  • Doit commencer par une lettre.
  • D'une longueur maximum à 40 caractères.
  • Ne doit pas contenir le caractère "$".
module_type 
Texte---synchronizer-collector-linkerNe peut être modifié




Interval d'import et ordre de la source


NomTypeUnitéDéfautCommentaire
import_interval

Entier positif

minute0

Délai écoulé entre les imports automatiques de la source.
Si 0, l'import de la source ne sera jamais exécuté automatiquement. ( uniquement manuellement )

order
Entier positif

---

2

L'ordre de la source dans l'interface de configuration ( A un impact dans la fusion des données lors des imports de sources ).

Voir la page du Synchronizer pour plus d'information au sujet des fusions. 

Remarque

Si vous changez l'ordre depuis l'interface ( page d’accueil ), le fichier .cfg sera mis à jour.

 

Connexion à la base mongo

Afin de garder en mémoire les différents identifiants de communication avec vos autres Synchronizers, le module a besoin de se connecter à une base mongo, pour y sauvegarder ces informations.

...
	mongodb_uri mongodb://localhost/?safe=false
	mongodb_database synchronizer
...


NomTypeUnitéDéfautCommentaire
mongodb_uri
Texte---mongodb://localhost/?safe=falseVous pouvez trouver la syntaxe de l'uri de MongoDB à l'adresse https://docs.mongodb.com/manual/reference/connection-string/
mongodb_database
Texte---synchronizerNom de la base de données où sont stockés les données du module

Propriétés non récupérées

...
    #======== Properties not stored ========
    # Properties which can be defined in the items from the source but which Shinken will not import.
    # not_stored_properties
...


NomTypeUnitéDéfautCommentaire


not_stored_properties
Texte---_SE_UUIDEmpêche la récupération de certaines propriétés des hôtes récoltés

Il est possible de définir des propriétés que la source ne devra pas récupérer. Ceci est utile si vos instances Shinken distantes utilisent des propriétés propres à leur fonctionnement.

Nous vous conseillons de laisser la valeur "_SE_UUID" et d'en rajouter d'autres si vous le souhaitez. Si vous supprimez la valeur "_SE_UUID", vos hôtes posséderont les mêmes "_SE_UUID" que sur le Shinken sur lesquels ils ont été récupérés.