Description

Le module de source ldap-import permet d’interroger un serveur Active Directory ou OpenLDAP afin de récupérer toutes les informations disponibles des hôtes, groupes d'hôtes, utilisateurs et groupes d'utilisateurs présents.

Il est possible d'importer uniquement des hôtes ou des contacts, depuis certains endroits seulement.

Définition de la source

Activer le collecteur Open LDAP livré par défaut

Par défaut, l’installation ou la mise à jour de Shinken Entreprise va mettre à disposition une définition de collecteur Open LDAP.

La configuration de ce collecteur se trouve par défaut dans le fichier : /etc/shinken/sources/openldap.cfg


Le collecteur openldap-example 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

Exemple :

  sources               syncui, discovery, listener-shinken, server-analyzer, cfg-file-shinken, listener-rest, openldap-example


Ajouter un autre collecteur Open LDAP

Vous pouvez avoir plusieurs sources du type ldap-import, pour par exemple se connecter à plusieurs serveurs Open LDAP.

Pour ajouter une autre source, vous devez : 

  • Créer un répertoire pour contenir les fichiers de configuration de la source :

    mkdir -p /etc/shinken-user/source-data/source-data-serveur_Open_LDAP_France/_configuration


  • Copier les fichiers d'exemple dans le répertoire de configuration de la source :

    cp /etc/shinken-user-example/sources/openldap/openldap-* /etc/shinken-user/source-data/source-data-serveur_Open_LDAP_France/_configuration


  • Copier le fichier de définition de la source d'exemple : /etc/shinken/sources/openldap.cfg dans le répertoire de définition des sources /etc/shinken/sources/ et modifier son nom pour qu'il soit différent de l'autre source de type ldap-import.
    ( Exemple : /etc/shinken/sources/serveur_Open_LDAP_France.cfg )

    cp /etc/shinken/sources/openldap.cfg /etc/shinken/sources/serveur_Open_LDAP_France.cfg



  • Dans ce nouveau fichier, changez le nom de la source et faire correspondre les chemins vers les fichiers de configurations précédemment copiés :

    ...
        #======== source identity =========
        # Source name. Must be unique
        source_name                serveur_Open_LDAP_France
    ...
        # Configuration file for your Active Directory connection (server, user, password, ...)a
        connection_configuration_file  /etc/shinken-user/source-data/source-data-serveur_Open_LDAP_France/_configuration/openldap-connection.json
        # Configuration file for your import rules (like OU=>template rules)
        rules_configuration_file       /etc/shinken-user/source-data/source-data-serveur_Open_LDAP_France/_configuration/openldap-rules.json
    
        # Configuration file for your ldap fields mapping (like for openldap users)
        mapping_configuration_file     /etc/shinken-user/source-data/source-data-serveur_Open_LDAP_France/_configuration/openldap-mapping.json
    ...
    


  • Une fois que le fichier a été édité, vérifiez que le fichier possède comme droits utilisateurs shinken. Si ce n'est pas le cas, effectuez la commande suivante :

    chown -R shinken:shinken /etc/shinken/sources/serveur_Open_LDAP_France.cfg


  • Faire pareil avec les fichiers de configurations de la source et leur ajouter les droits d'écriture :

    chown -R shinken:shinken /etc/shinken-user/source-data/source-data-serveur_Open_LDAP_France/_configuration
    chmod -R 755 /etc/shinken-user/source-data/source-data-serveur_Open_LDAP_France/_configuration/


  • Ajouter le nom de la nouvelle source au Synchronizer en modifiant le paramètre sources du fichier /etc/shinken/synchronizers/synchronizer-master.cfg.

        sources               syncui,cfg-file-shinken,active-dir-example,cfg-file-nagios,discovery,openldap-example,synchronizer-collector-vmware,serveur_Open_LDAP_France


  • Redémarrez le Synchronizer pour qu'il puisse prendre en compte cette nouvelle source

    service shinken-synchronizer restart


Configuration

Voici la détail de fichier de configuration de la source se trouve

  • soit le fichier /etc/shinken/sources/openldap.cfg
  • soit dans le fichier que vous venez de créer en ajoutant le module ( par exemple /etc/shinken/sources/serveur_Open_LDAP_France.cfg )

Vous trouverez un exemple dans /etc/shinken-user-example/configuration/daemons/synchronizers/sources/active-dir-hosts/active-dir-hosts-example.cfg

Exemple de fichier de configuration


#===============================================================================
# - openldap-example
#===============================================================================
# Daemons that can load this source:
# - synchronizer
# This source imports hosts and contacts from an OpenLDAP server
#===============================================================================


define source {

    #======== source identity =========
    # Source name. Must be unique
    source_name                    openldap-example

    # Module type (to load module code). Do not edit.
    module_type                    ldap-import

    # order: source order for a source imply if a source is before an another source when
    # merging data
    order                          4

    # import_interval:  in minutes, what is the schedule import interval for this source.
    # note: 0 = don't schedule this source, will run only if an administrator launch it from the
    # interface
    import_interval                5

    # enabled: is this source enabled or not
    enabled                        0

    # description: display a description on the interface for this source
    description                This source is about loading hosts from an open ldap server

    # Connection mode:
    # - ad: active directory
    # - openldap: openldap.
    mode                           openldap



    #======== Open ldap access and data mapping =========
    # In order to configure this source, you must copy and edit the sample openldap source-data available in the directory
    # /etc/shinken-user-example/sources/openldap/ from theses files and update the paths below to refer to the copy :
    #  * _configuration/openldap-connection.json   ==> how to connect to your OpenLDAP server
    #  * _configuration/openldap-rules.json        ==> what are the import rule to setup (like OU=>template rules)
    #  * _configuration/openldap-mapping.json      ==> if you have custom Ldap fields, you can defined them in this file (ex: for openldap users)
    #
    # Note: If a file is commented, the configuration will be loaded from the default directory /etc/shinken/_default/sources/openldap-source

    # Configuration file for your OpenLDAP connection (server, user, password, ...)
    connection_configuration_file   /etc/shinken-user/source-data/source-data-openldap-sample/_configuration/openldap-connection.json


    # Configuration file for your import rules (like OU=>template rules)
    rules_configuration_file       /etc/shinken-user/source-data/source-data-openldap-sample/_configuration/openldap-rules.json

    # Configuration file for your ldap fields mapping (like for openldap users)
    mapping_configuration_file     /etc/shinken-user/source-data/source-data-openldap-sample/_configuration/openldap-mapping.json


}


Détails des sections composant le fichier de configuration

Identification du module

Il est possible de définir plusieurs instances de module de type ldap-import dans votre architecture Shinken.

  • Chaque instance devra avoir un nom unique.


NomTypeUnitésDéfautCommentaire


source_name 


Texte---openldap-example

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---ldap-importNe peut être modifié


Fonctionnement de la source


define source { 
	...
    order              3
    import_interval    5
    enabled            0
    description        This source is about loading hosts from active directories
    ...
}




NomTypeUnitésDéfautCommentaire


order


Entier---4

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

  • Un nombre
  • 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.


import_interval


Entierminutes5

Délai écoulé entre les imports automatiques de la source. 

  • Un nombre ( en minutes )
  • Si 0, la source ne sera jamais exécutée automatiquement.



enabled


Booléen---0

Permets d'activer ou désactiver la source ( 1 pour activer, 0 pour désactiver ).


description


Texte---

Description du module qui apparaît dans l'interface du Synchronizer.


Options du module


define source { 
	...
    mode                              ad
    connection_configuration_file     /etc/shinken-user/source-data/source-data-openldap-sample/_configuration/active-directory-connection.json
    rules_configuration_file          /etc/shinken-user/source-data/source-data-openldap-sample/_configuration/active-directory-rules.json
    mapping_configuration_file        /etc/shinken-user/source-data/source-data-openldap-sample/_configuration/active-directory-mapping.json
    ...
}



NomTypeUnitésDéfautCommentaire






mode


Texte---openldap

Deux modes possibles :

  • ad : Ce mode permet de communiquer avec ad. 
    Lorsque ce mode est activé, cela modifie les chemins par défaut de ces paramètres :
    • connection_configuration_file
    • rules_configuration_file
    • mapping_configuration_file
  • openldap : Ce mode permet de communiquer avec un openldap. 
  • Lorsque ce mode est activé, cela modifie les chemins par défaut de ces paramètres :
    • connection_configuration_file
    • rules_configuration_file
    • mapping_configuration_file


connection_configuration_file 


Path---

Fichier de configuration de connexion:

  • Pour le mode ad : /etc/shinken/_default/sources/active-directory-source/active-directory-connection.json
  • Pour le mode openldap : /etc/shinken/_default/sources/openldap-source/openldap-connection.json


rules_configuration_file 


Path---

Fichier de configuration des règles d'import:

  • Pour le mode ad : /etc/shinken/_default/sources/active-directory-source/active-directory-rules.json
  • Pour le mode openldap : /etc/shinken/_default/sources/openldap-source/openldap-rules.json






mapping_configuration_file 



Path---

Fichier de configuration du mapping des champs personnalisés:

  • Pour le mode ad : /etc/shinken/_default/sources/active-directory-source/active-directory-mapping.json
  • Pour le mode openldap : /etc/shinken/_default/sources/openldap-source/openldap-mapping.json


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

Il est possible de définir des propriétés que la source ne devra pas récupérer.

  • Dans le cas de cette source, si possible nous conseillons de ne pas utiliser cette option, car il est possible de choisir les champs collecter par cette source.
    • En choisissant les champs collectés, vous gagnerez en performances car ces informations ne seront pas importées puis supprimés.
  • C'est pour ça que cette option n'est pas par défaut dans le fichier de configuration de la source.


NomTypeUnitéDéfautCommentaire


not_stored_properties


Texte------Empêche la récupération de certaines propriétés des éléments récoltés.