| Scroll Ignore | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
|
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 | ||
|---|---|---|
| ||
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 activantvos 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 language js theme Confluence 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
Excerpt Include Configuration ( Synchronizer ) Configuration ( Synchronizer ) page DefaultLink[destination=Optional[PageResourceIdentifier[spaceKey=<null>,title=Configuration ( Synchronizer )]],body=Optional.empty,tooltip=Optional.empty,anchor=Optional.empty,target=Optional.empty] nopanel true
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 language text theme Emacs 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 language text theme Emacs 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 language text theme Emacs 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 language js theme Confluence ... #======== 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 language text theme Emacs 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 language text theme Emacs 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 language js theme Confluence 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
Excerpt Include Configuration ( Synchronizer ) Configuration ( Synchronizer ) page DefaultLink[destination=Optional[PageResourceIdentifier[spaceKey=<null>,title=Configuration ( Synchronizer )]],body=Optional.empty,tooltip=Optional.empty,anchor=Optional.empty,target=Optional.empty] nopanel true
Configuration
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/collector__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/openldap/openldap-example.cfg
| Code Block | ||||
|---|---|---|---|---|
| ||||
#===============================================================================
# - openldap-example
#===============================================================================
# Daemons that can load this source:
# - synchronizer
# This source imports hosts and contacts from an OpenLDAP server
#===============================================================================
define source {
# Shinken Enterprise. 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
# End of Shinken Enterprise part
#======== 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 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 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-connection.json ==> how to connect to your active directory 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
#======== 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é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 | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||
|
Fonctionnement de la source
| Code Block | ||||
|---|---|---|---|---|
| ||||
define source {
...
order 3
import_interval 5
enabled 0
description This source is about loading hosts from active directories
...
} |
| Scroll Title | |||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||
|
Options du module
| Code Block | ||||
|---|---|---|---|---|
| ||||
define source {
...
# Connection mode:
# - ad: 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 | |||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||
|
Clés de synchronisation ( sync_key )
| Code Block | ||||
|---|---|---|---|---|
| ||||
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 | |||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||
|
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 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
|