Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue


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.

Activation du collecteur

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

Activer le collecteur Active Directory livré par défaut

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

  • La configuration de ce collecteur se trouve par défaut dans le fichier : /etc/shinken/sources/active-dir-hosts.cfg
  • Vérifier que le nom "active-dir-example" est présent dans le paramètre sources du fichier  /etc/shinken/synchronizers/synchronizer-master.cfg ( ou le .cfg que vous utilisez pour définir les options du Synchronizer ).
    • Ce collecteur est normalement présent dans la liste des sources livrées par défaut.
    • S'il n'y est pas ( car modifié ), vous pouvez le rajouter pour qu'il soit de nouveau actif.

      Exemple :

      Code Block
      languagebash
      define synchronizer {
          [...]
          sources                   Source 1, Source 2, Source 3, active-dir-example
          [...]
      }


  • Si vous avez rajouté la source, redémarrez le Synchronizer pour qu'il puisse prendre en compte cette nouvelle source.

    Code Block
    languagebash
    themeConfluence
    service shinken-synchronizer restart


Ajouter un autre collecteur Active Directory

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-Active-Directory".
  • Remplacer dans l'exemple le mot "Mon-Collecteur-Active-Directory" 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
    languagebash
    themeConfluence
    mkdir -p /etc/shinken-user/source-data/source-data__Mon-Collecteur-Active-Directory/_configuration


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

    Code Block
    languagebash
    themeConfluence
    cp /etc/shinken-user-example/sources/active-directory/active-directory-* /etc/shinken-user/source-data/source-data__Mon-Collecteur-Active-Directory/_configuration/


  • Copier le fichier de définition de la source d'exemple : /etc/shinken/sources/active-dir-hosts.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/Mon-Collecteur-Active-Directory.cfg )

    Code Block
    languagebash
    themeConfluence
    cp /etc/shinken/sources/active-dir-hosts.cfg /etc/shinken/sources/collector__ldap-import__Mon-Collecteur-Active-Directory.cfg


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

    Code Block
    languagebash
    themeConfluence
    ...
        #======== source identity =========
        # Source name. Must be unique
        source_name                serveur_AD_France
    ...
        # Configuration file for your Active Directory connection (server, user, password, ...)a
        connection_configuration_file  /etc/shinken-user/source-data/source-data__Mon-Collecteur-Active-Directory/_configuration/active-directory-connection.json
    
        # Configuration file for your import rules (like OU=>template rules)
        rules_configuration_file       /etc/shinken-user/source-data/source-data__Mon-Collecteur-Active-Directory/_configuration/active-directory-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-Active-Directory/_configuration/active-directory-mapping.json
    ...
    

    Vous trouverez plus de détail sur ces fichiers dans la page Collecteur (ldap-import) Import depuis un serveur Active Directory.

  • 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
    chown -R shinken:shinken /etc/shinken/sources/collector__ldap-import__Mon-Collecteur-Active-Directory.cfg


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

    Code Block
    languagebash
    themeConfluence
    chown -R shinken:shinken /etc/shinken-user/source-data/source-data__Mon-Collecteur-Active-Directory/_configuration
    chmod -R 664 /etc/shinken-user/source-data/source-data__Mon-Collecteur-Active-Directory/_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
    languagebash
    themeConfluence
        sources               syncui,cfg-file-shinken,active-dir-example,cfg-file-nagios,discovery,openldap-example,synchronizer-collector-vmware,Mon-Collecteur-Active-Directory 


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

    Code Block
    languagebash
    themeConfluence
    service shinken-synchronizer restart


Configuration

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

  • Soit le fichier /etc/shinken/sources/active-dir-hosts.cfg
  • Soit dans le fichier que vous venez de créer en ajoutant le module ( par exemple /etc/shinken/sources/serveur_AD_France.cfg )

Exemple de fichier de configuration

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

Code Block
languagebash
#===============================================================================
# active-dir-example
#===============================================================================
# Daemons that can load this source:
# - synchronizer
# This source import hosts and contacts from an Active Directory 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-ae7394945adc11e580e6080027f08538 #======== source identity =========
    # Source name. Must be unique
    source_name		       active-dir-example

    # Module type (to load module code). Do not edit.
    _SE_UUID_HASH module_type       d1d512d1e37aae8486d6c2060cada8fd
# End of Shinken Enterprise partldap-import

    #======== order: source identity =========
    # Source name. Must be unique
    source_name       order for a source imply if a source is before another source when merging data
    order		           2

    #  active-dir-example

    # Module type (to load module code). Do not editimport_interval:  in minutes, what is the schedule import interval for this source.
    module_type             # note: 0 = don't schedule this source, will run only if an administrator launch it from the interface
    import_interval	       ldap-import5

    # orderenabled: sourceis orderthis forsource aenabled sourceor implynot
 if a source isenabled		 before an another source when
    # merging data0

    order# description: display a description on the interface for this source
    description		       This source is about loading hosts from active  3directories

    # Connection import_interval:  in minutes, what is the schedule import interval for this sourcemode:
    # - ad: active directory
    # - openldap: openldap.
    #mode note: 0 = don't schedule this source,  will run only ifad



 an administrator launch it from the
    # interface #======== Active directory access and data mapping =========
    import_interval# In order to configure this source, you must copy or edit the sample active-directory source-data available in the  5directory


    # enabled: is this source enabled or not/etc/shinken-user/source-data/source-data-active-directory-sample/ with theses files:
    enabled#  * _configuration/active-directory-connection.json   ==> how to connect to your active directory server
    #      * _configuration/active-directory-rules.json    0

    # description: display a description on the interface for this source==> what are the import rule to setup (like OU=>template rules)
    description#  * _configuration/active-directory-mapping.json      ==> if you have custom Ldap fields, Thisyou sourcecan isdefined aboutthem loading hosts from active directories
in this file (ex: for openldap users)
    # Connection mode:
    # - adNote: activeIf directory
a file is commented, #the -configuration openldap: openldap.
    mode  will be load from the default directory /etc/shinken/_default/sources/active-directory-source

    # Configuration file for your Active Directory connection (server, user, password, ...)
    connection_configuration_file   /etc/shinken-user/source-data/source-data-active-directory-sample/_configuration/active-directory-connection.json

    # Configuration file for ad


your import rules (like #======== Active directory access and data mapping =========
OU=>template rules)
    rules_configuration_file      # In order to configure this source, you must copy or edit the sample active-directory source-data available in the directory
    # /etc/shinken-user/source-data/source-data /etc/shinken-user/source-data/source-data-active-directory-sample/ with theses files:
    #  * _configuration/active-directory-connectionrules.json

   ==> how# toConfiguration connectfile tofor your activeldap directoryfields server
mapping (like for  #openldap users)
    mapping_configuration_file    *  /etc/shinken-user/source-data/source-data-active-directory-sample/_configuration/active-directory-rulesmapping.json


    #======== Synchronization   keys =========>
 what are the import# ruleThe tolist setupof (like OU=>template rules)
    #  * _configuration/active-directory-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 load from the default directory /etc/shinken/_default/sources/active-directory-source

    # Configuration file for your Active Directory connection (server, user, password, ...)
    connection_configuration_file   /etc/shinken-user/source-data/source-data-active-directory-sample/_configuration/active-directory-connection.json

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

    # Configuration file for your ldap fields mapping (like for openldap users)
    mapping_configuration_file     /etc/shinken-user/source-data/source-data-active-directory-sample/_configuration/active-directory-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
Code Block
source_name 
Texte---active-dir-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 "$".
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
    # properties_used_as_synckey_for_contact            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.


NomTypeUnitésDéfautCommentaire


Code Block
source_name 


Texte--- active-dir-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
Code Block
module_type 
Texte---ldap-importNe 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
    ...
}




NomTypeUnitésDéfautCommentaire


Code Block
order


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


Code Block
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 Block
enabled


Booléen--- 0

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


Code Block
description


Texte---

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


Options du module


Code Block
languagebash
define source { 
	... 
	# Connection   mode:
	# - ad: active directory
	# - openldap:                        ad
    connection_configuration_file    openldap.
	mode ad
	
	
	
	#======== Active directory access and data mapping =========
	# In order to configure this source, you must copy or edit the sample active-directory source-data available in the directory
	# /etc/shinken-user/source-data/source-data-active-directory-sample/ with theses files:
	# * _configuration/active-directory-connection.json
 ==> how to rules_configuration_fileconnect to your active directory      /etc/shinken-user/source-data/source-data-active-directory-sample/server
	# * _configuration/active-directory-rules.json
 ==> what are mapping_configuration_filethe import rule to setup (like OU=>template rules)
	#  /etc/shinken-user/source-data/source-data-active-directory-sample/* _configuration/active-directory-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 load from the default directory /etc/shinken/_default/sources/active-directory-source
	
	# Configuration file for your Active Directory connection (server, user, password, ...)
	connection_configuration_file /etc/shinken-user/source-data/source-data-active-directory-sample/_configuration/active-directory-connection.json
	
	# Configuration file for your import rules (like OU=>template rules)
	rules_configuration_file /etc/shinken-user/source-data/source-data-active-directory-sample/_configuration/active-directory-rules.json
	
	# Configuration file for your ldap fields mapping (like for openldap users)
	mapping_configuration_file /etc/shinken-user/source-data/source-data-active-directory-sample/_configuration/active-directory-mapping.json
    ...
}



NomTypeUnitésDéfautCommentaire






Code Block
mode


Texte--- 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 Block
connection_configuration_file 


Path---

Fichier de configuration de connexion

NomTypeUnitésDéfautCommentaire
Code Block
mode
Texte---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 Block
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 Block
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 Block
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-mappingconnection.json
  • Pour le mode openldap : /etc/shinken/_default/sources/openldap-source/openldap-mapping.jsonopenldap-connection.json


Code Block
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 Block
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 )


Code Block
languagebash
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_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
	# properties_used_as_synckey_for_contact 			contact_name, email
...
}
Clés de synchronisation ( sync_key )


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.

Info

Ces paramètres sont utilisables dans ce type de source, mais absent des fichiers d'exemples.



NomTypeUnitéDéfautCommentaire


Code Block
properties_used_as_synckey_for_host	


Texte--- host_name, address 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ée comme synckey.


Code Block
properties_used_as_synckey_for_hostgroup


Texte--- hostgroup_name 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 Block
properties_used_as_synckey_for_contactgroup


Texte--- contactgroup_name 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 Block
properties_used_as_synckey_for_contact


Texte--- contact_name, email

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ées.
  • C'est pour ça que cette option n'est pas par défaut dans le fichier de configuration de la source.


NomTypeUnitéDéfautCommentaire


Code Block
not_stored_properties


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