Versions Compared

Key

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

Table of Contents
stylenone

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.


Cette page vous explique comment de définir ce type de collecteur et la page Collecteur de type ( ldap-import ) depuis un serveur OpenLDAP vous décrit comment l'utiliser.


Info
titleEn cas de problème de connexion à l’annuaire

La page suivante contient les informations nécessaires pour identifier et résoudre les problèmes de connexion: Erreur d'authentification à un serveur LDAP ou Active directory.

Activation du collecteur

Vous pouvez essayer ce type de source soit en activant le collecteur openldap-example présent par défaut ou en activant  vos propres collecteurs de type ldap-import .

Activer le collecteur openldap-example 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 appelé "openldap-exemple".

  • 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.
    • S'il n'y est pas, vous pouvez le rajouter pour qu'il soit de nouveau actif.

      Exemple :

      Code Block
      languagejs
      themeConfluencebash
      define synchronizer {
          [...]
          sources                   Source 1, Source 2, Source 3, openldap-example
          [...]
      }
  • Redémarrez le Synchronizer pour qu'il puisse prendre en compte cette nouvelle source

    Code Block
    languagebash
    themeConfluence
    service shinken-synchronizer restart
    Excerpt Include
    Configuration ( Synchronizer )
    Configuration ( Synchronizer )
    pageDefaultLink[destination=Optional[PageResourceIdentifier[spaceKey=<null>,title=Configuration ( Synchronizer )]],body=Optional.empty,tooltip=Optional.empty,anchor=Optional.empty,target=Optional.empty]
    nopaneltrue

Ajouter un autre collecteur de type ldap-import ( pour Open LDAP )

Vous pouvez avoir plusieurs sources du type ldap-import, 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-Open-LDAP".
  • Remplacer dans l'exemple le mot "Mon-Collecteur-Open-LDAP" par le nom que vous aurez choisi.


Pour ajouter une autre source, vous devez : 

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

    Code Block
    languagebashtext
    themeConfluenceEmacs
    mkdir -p /etc/shinken-user/source-data/source-data__Mon-Collecteur-Open-LDAP/_configuration
  • Copier les fichiers d'exemple dans le répertoire de configuration de la source :

    Code Block
    languagebashtext
    themeConfluenceEmacs
    cp /etc/shinken-user-example/configuration/daemons/synchronizers/sources/openldap/openldap-* /etc/shinken-user/source-data/source-data__Mon-Collecteur-Open-LDAP/_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/collector__ldap-import__Mon-Collecteur-Open-LADP.cfg )

    Code Block
    languagebashtext
    themeConfluenceEmacs
    cp /etc/shinken/sources/openldap.cfg /etc/shinken/sources/collector__ldap-import__Mon-Collecteur-Open-LADP.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 :

    Code Block
    languagebashjs
    themeConfluence
    ...
        #======== source identity =========
        # Source name. Must be unique
        source_name                Mon-Collecteur-Open-LDAP
    ...
        # Configuration file for your openldap connection (server, user, password, ...)a
        connection_configuration_file  /etc/shinken-user/source-data/source-data__Mon-Collecteur-Open-LDAP/_configuration/openldap-connection.json
        # Configuration file for your import rules (like OU=>template rules)
        rules_configuration_file       /etc/shinken-user/source-data/source-data__Mon-Collecteur-Open-LDAP/_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__Mon-Collecteur-Open-LDAP/_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 :

    Code Block
    languagetext
    themeEmacs
    chown -R shinken:shinken /etc/shinken/sources/collector__ldap-import__Mon-Collecteur-Open-LADP.cfg
  • Faire pareil avec les fichiers de configurations de la source et leur ajouter les droits d'écriture :

    Code Block
    languagebashtext
    themeConfluenceEmacs
    chown -R shinken:shinken /etc/shinken-user/source-data/source-data__Mon-Collecteur-Open-LDAP/_configuration
    chmod -R 755 /etc/shinken-user/source-data/source-data__Mon-Collecteur-Open-LDAP/_configuration/
  • Ajouter le nom de la nouvelle source au Synchronizer en modifiant le paramètre sources du fichier  /etc/shinken/synchronizers/synchronizer-master.cfg .

    Code Block
    languagejs
    themebashConfluence
    define synchronizer {
        [...]
        sources                   Source 1, Source 2, Source 3, openldap-example
        [...]
    }


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

    Code Block
    languagebash
    themeConfluence
    service shinken-synchronizer restart

Configuration

  • Excerpt Include
    Configuration ( Synchronizer )
    Configuration ( Synchronizer )
    pageDefaultLink[destination=Optional[PageResourceIdentifier[spaceKey=<null>,title=Configuration ( Synchronizer )]],body=Optional.empty,tooltip=Optional.empty,anchor=Optional.empty,target=Optional.empty]
    nopaneltrue

Configuration

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

  • Soit le fichier

Voici le 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/openldap.cfg
  • Soit dans le fichier que vous venez de créer en ajoutant le module ( par exemple /etc/shinken/sources/collector__ldapcollector__ldap-import__Mon-Collecteur-Open-LADP.cfg )

Exemple de fichier de configuration

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

Code Block
languagejs
themebashConfluence
#===============================================================================
# - openldap-example
#===============================================================================
# Daemons that can load this source:
# - synchronizer
# This source importimports hosts and contacts from an OpenLDAP server
#===============================================================================


define source {

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

    # Module type (to load module code). Do not edit.
    module_type  Lines added by import core. Do not remove it, it's used by Shinken Enterprise to update your objects if you re-import them.
   _SE_UUID             core-source-329478485f9a11e6b751080027e5acbd
   _SE_UUID_HASH        a87db31b7730dca3c067fa71d3c3a6bb
#  ldap-importEnd of Shinken Enterprise part

    # order: ======== source order for a source imply if a source is before another source when merging dataidentity =========
    # Source name. Must be unique
    source_name		openldap-example

    order# Module type (to load  4

module code). Do not edit.
    # import_interval:module_type  in minutes, what is the schedule import interval for this source. ldap-import

    # noteorder: 0source =order don'tfor schedulea this source, willimply runif onlya ifsource anis administratorbefore launchanother itsource fromwhen themerging interfacedata
    import_interval	5

order    # enabled: is4

 this source enabled or not
# import_interval:  in minutes, enabled		what is the schedule import interval for     0
this source.
    # descriptionnote: display0 a= descriptiondon't on the interface for schedule this source
, will run only description		if an administrator launch it from the Thisinterface
 source is about loading hosts from an open ldap server import_interval	5

    # Connection modeenabled:
 is this source #enabled - ad: active directoryor not
    #enabled		 - openldap: openldap.
    mode    0

    # description: display a openldap



description on the  #======== Open ldap access and data mapping =========
interface for this source
    description		     # In orderThis tosource configureis thisabout source,loading youhosts mustfrom copyan andopen editldap theserver

 sample openldap source-data available# in the directoryConnection mode:
    # /etc/shinken-user-example/sources/openldap/ from theses files and update the paths below to refer to the copy :
 ad: active directory
    # - openldap: openldap.
    mode    #  * _configuration/openldap-connection.json   ==> how toopenldap



 connect to your OpenLDAP server
    #  * _configuration/openldap-rules.json        ==> what are the import rule to setup (like OU=>template rules)
     #======== Open ldap access and data mapping =========
    # In order to configure this source, you must copy or edit the sample openldap source-data available in the directory
    # /etc/shinken-user/source-data/source-data-openldap-sample/ with theses files:
    #  * _configuration/openldap-mappingconnection.json      ==> ifhow youto haveconnect customto Ldapyour fields,active youdirectory canserver
 defined them in this# file (ex: for openldap users)
* _configuration/openldap-rules.json     #
   ==> #what Note:are Ifthe aimport filerule isto commented,setup the configuration will be loaded from the default directory /etc/shinken/_default/sources/openldap-source

(like OU=>template rules)
    #  * _configuration/openldap-mapping.json    # 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
==> if you have custom Ldap fields, you can defined them in this file (ex: for openldap users)
    #
 Configuration file for your# importNote: rulesIf (like OU=>template rules)
    rules_configuration_file      a file is commented, the configuration will be loaded from the default directory /etc/shinken-user/source-data/source-data-openldap-sample/_configuration/openldap-rules.json/_default/sources/openldap-source

    # Configuration file for your ldapopenldap fieldsconnection mapping (likeserver, foruser, openldap userspassword, ...)
    mappingconnection_configuration_file     /etc/shinken-user/source-data/source-data-openldap-sample/_configuration/openldap-mappingconnection.json


    #======== Synchronization keys =========
    # The list of properties to be used as sync_keys in addition to the item name and the SE_UUID. Properties not managed by Shinken can be added here.
    # properties_used_as_synckey_for_host               host_name, address
    # properties_used_as_synckey_for_hostgroup          hostgroup_name
    # properties_used_as_synckey_for_contactgroup       contactgroup_name

    # For the contact, you can add the "short_name" to add the email's part before the "@" into the sync_key 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


    #======== Synchronization keys =========
    # The list of properties to be used as sync_keys in addition to the item name and the SE_UUID. Properties not managed by Shinken can be added here.
    # properties_used_as_synckey_for_contacthosts               contacthost_name, email

}

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.
address
    # properties_used_as_synckey_for_hostgroups          hostgroup_name
    # properties_used_as_synckey_for_contactgroups       contactgroup_name

    # For the contact, you can add the "short_name" to add the email's part before the "@" into the sync_key
    # properties_used_as_synckey_for_contacts            contact_name, email


}
 

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.


Scroll Title
anchorparameter_cfg
title
NomTypeUnitéDéfautDescription
Panel
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 "$".
Panel
module_type 
Texte--- ldap-import Ne peut être modifié




Fonctionnement de la source

Code Block
languagejs
themeConfluence
define source { 
	...
    order              3
    import_interval    5
    
NomTypeUnitésDéfautCommentaire
Code Block
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 "$".
Code Block
module_type 
Texte--- ldap-import Ne peut être modifié

Fonctionnement de la source

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



Scroll Title
anchorparameter_cfg
title
NomType
Unités
UnitéDéfaut
Commentaire
Description
code
Panel
order
Entier---
4
3

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
Synchronizer
)
  •  

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

code
Panel
import_interval
Entierminutes 5

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.
code


Panel
enabled
Booléen--- 0

Permets d'

activer

r ou

désactiver

désr la source ( 1 pour

activer

r, 0 pour

désactiver

désr ).

code
Panel
description
Texte---

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

Options du module

Code Block
languagebashjs
themeConfluence
definedefine source { 
...
	# 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
...
}
Scroll Title
anchorparameter_cfg
title
NomType
Unités
UnitéDéfaut
Commentaire
Description
code
Panel
mode
Texte---
openldap
ad

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
code
Panel
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
code
Panel
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
code
Panel
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




Clés de synchronisation ( sync_key )_key )

Code Block
languagejs
themeConfluence
define source { 
...           

    #======== Synchronization keys =========
    # The list of properties to be used as sync_keys in addition to the item name and the SE_UUID. Properties not managed by Shinken can be added here.
    # properties_used_as_synckey_for_hosts               host_name, address
    # properties_used_as_synckey_for_hostgroups          hostgroup_name
    # properties_used_as_synckey_for_contactgroups       contactgroup_name

    # For the contact, you can add the "short_name" to add the email's part before the "@" into the sync_key
    # properties_used_as_synckey_for_contacts            contact_name, email }

Défini la liste des propriétés qui seront utilisées pour générer les clés de synchronisation pour chaque type d'éléments importés.

Info

À noter :  On ne peut pas supprimer le nom et le _SE_UUID, mais on peut les compléter.

Scroll Title
anchorparameter_cfg
title
NomTypeUnitéDéfaut
Commentaire
Description
code
Panel
properties_used_as_synckey_for_
host
hosts
Texte--- host_name, address
Définit
Défini la liste de propriétés qui seront utilisées en plus du nom et du _SE_UUID de l'élément pour générer les clés de synchronisation (sync_key) pour les hôtes. Ce paramètre est optionnel. Si ce paramètre n'est pas présent, sa valeur par défaut vaut "host_name, address".
S'il est défini à vide, la propriété "address" ne sera pas
utilisé
utilisée comme synckey.
code
Panel
properties_used_as_synckey_for_
hostgroup
hostgroups
Texte--- hostgroup_name
Définit
Défini la liste de propriétés qui seront utilisées en plus du nom et du _SE_UUID de l'élément pour générer les clés de synchronisation (sync_key) pour les groupes d'hôtes. Ce paramètre est optionnel. Si ce paramètre n'est pas présent, ou défini à vide, sa valeur par défaut vaut tout de même "hostgroup_name".
code
Panel
properties_used_as_synckey_for_
contactgroup
contactgroups
Texte--- contactgroup_name
Définit
Défini la liste de propriétés qui seront utilisées en plus du nom et du _SE_UUID de l'élément pour générer les clés de synchronisation (sync_key) pour les groupes de contact. Ce paramètre est optionnel. Si ce paramètre n'est pas présent, ou défini à vide, sa valeur par défaut vaut tout de même "contactgroup_name".
code
Panel
properties_used_as_synckey_for_
contact
contacts
Texte---contact_name, email
Définit

Défini la liste de propriétés qui seront utilisées en plus du nom et du _SE_UUID de l'élément pour générer les clés de synchronisation (sync_key) pour les contacts. Ce paramètre est optionnel. Si ce paramètre n'est pas présent, sa valeur vaut "contact_name, email".

S'il est défini à vide, la propriété "email" ne sera pas utilisé comme synckey.



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.




Scroll Title
anchorparameter_cfg
title
NomTypeUnitéDéfaut
Commentaire
Description
code
Panel
not_stored_properties
Texte--- --- Empêche la récupération de certaines propriétés des éléments récoltés.