Sommaire

Présentation

L'onglet de configuration affiché les paramètres de configuration définie dans le fichier de configuration de votre module peut être consultés dans cet onglet ( voir la page Collecteur de type ldap-import ( pour Active Directory ) ) :

Elle est divisée en 5 chapitres :

  • Configuration générale.
  • Options de mélange des sources.
  • Choix de l'espace où seront placé les éléments importés.
  • Paramètres spécifiques à la source.
  • Clé de synchronisation ( sync_key ).

Remarque : Cet onglet ne permet pas encore d'éditer la configuration ( => Sera implémenté dans une prochaine version )

Configuration générale

Ce chapitre contient tous les paramètres pour le chargement et le fonctionnement des sources en général.


NomTypeUnitéDéfautCommentaire
source_name 
Texte--- discovery

Shinken conseille de choisir un nom en fonction de l'utilisation du module pour que la configuration soit simple à maintenir.

Doit être unique.

module_type 
Texte--- discovery-import

Valeur obligatoire et non modifiable ( permet au Synchronizer de charger le code logiciel correspondant ).

order
Entier--- 10

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 Le mélange des sources & les clés de synchronisation (sync-key) ).

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

import_interval
EntierMinute 5

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

  • Si 0, la source ne sera jamais exécutée automatiquement.

Options de mélange des sources


Mode de mélange des sources

Grace au paramètre "Mode de mélange des sources" ( merge_mode dans le fichier de configuration de la source ), il est possible de modifier la gestion d'une source lors de l'étape du mélange des sources ( voir la page Concept général et utilisation des sources ).

La valeur par défaut est : all

Les valeurs possibles sont : 

Nom dans l'interfaceNom dans le fichier configurationTypeUnitéDéfautDescription

merge_mode

merge_mode
Texte---all

Ce paramètre peut prendre les valeurs suivantes :

  • dont_merge_with_other : 

    Les éléments récoltés par cette source seront importés sans être fusionnés avec les autres sources.

    Si un élément de cette source possède une clé de synchronisation commune avec une autre source, la source provoquera un conflit et ces éléments ne pourront pas être importés.

    À utiliser si la source donne un élément complet qui ne doit pas être modifié, ni par l'interface de configuration ni par d'autres sources.   

  • only_with_syncui : 

    Les éléments récoltés par cette source seront importés et fusionnés  seulement avec ceux de la "syncui". 

    À utiliser si la source importe un élément complet qui ne doit être modifié que via l'interface de configuration.

  • all_without_syncui : 

    Les éléments récoltés par cette source seront importés et fusionnés  avec ceux des autres sources sauf la "syncui".

    À utiliser si la source donne un élément à compléter avec d'autres sources, mais qui ne doit pas être modifié par l'interface de configuration.

  • all ( valeur par défaut ) :  

    Si un même élément est importé par plusieurs sources, les éléments seront fusionnés pour n'en donner qu'un.

    Les éléments de cette source seront complétés avec les autres sources et les modifications de l'interface de configuration.



La source de type "syncui" est une source qui importe tous les éléments de l'interface de configuration.

Chaque fois qu'une source est importée, la  source de type "syncui" est automatiquement importée aussi. Si une source ne se mélange pas avec la "syncui", les modifications sur l'interface de configuration seront ignorées.

Les sources désactivées ne sont pas prises en compte lors du mélange des sources.

Détecter les nouveaux éléments

Les éléments proposés par la source sont soumis au calcul des nouveautés ( voir la page Modules de Sources ( imports ) et de Taggers ( qualification ) ).


Nom dans l'interfaceNom dans le fichier configurationTypeUnitéDéfautDescription

compute_new_element

compute_new_element
Texte---authorized 

Ce paramètre peut prendre les valeurs suivantes :

  • authorized ( valeur par défaut ) :  

    Activée → le mécanisme de calcul des nouveautés analysera les éléments de la source pour identifier les nouveaux éléments par rapport à l'espace de données Staging.

  • never_new :  

    Désactivée → les éléments de la source n’apparaîtront pas en tant que Nouveau, même s'ils n'ont jamais été importés par rapport à l'espace de données Staging.

Calculer les différences

Les éléments proposés par la source sont soumis au calcul des différences ( voir la page Modules de Sources ( imports ) et de Taggers ( qualification ) ).


Nom dans l'interfaceNom dans le fichier configurationTypeUnitéDéfautDescription

compute_element_difference

compute_element_difference
Texte---authorized 

Ce paramètre peut prendre les valeurs suivantes :

  • authorized ( valeur par défaut ) :  

    Activée → le mécanisme de calcul des différences analysera les éléments de la source pour calculer les différences par rapport à l'espace de données Staging.

  • never_new :  

    Désactivée → les éléments de la source n’apparaîtront pas en tant que Différence, même s'ils possèdent des différences par rapport à l'espace de données Staging.

Suppression des éléments absents

Détecter les éléments qui ne sont plus présent dans la source

Permets de proposer en suppression, les éléments qui ne sont plus présents dans la ou les source/s.


Nom dans l'interfaceNom dans le fichier configurationTypeUnitéDéfautDescription

compute_deleted_element_not

_in_source

compute_deleted_element_not
_in_source
Texte---disabled 

Ce paramètre peut prendre les valeurs suivantes :

  • disabled ( valeur par défaut ) :  

    Les éléments qui ne sont plus présents dans cette source, ni dans aucunes autres, ne seront pas proposés à la suppression.

  • delete_if_missing_in_all_sources :  

    Les éléments, qui ne sont plus présents dans cette source et qui n'existent pas dans les autres sources à l'exception de la "syncui", seront proposés à la suppression.

    La prise en compte de ce paramètre dépend de la valeur de put_in. Si cette valeur correspond à source_space ( sa valeur par défaut ), alors le paramètre compute_deleted_element_not_in_source sera ignoré.

  • delete_if_missing_in_this_source :  

    Les éléments qui ne sont plus présents dans cette source seront proposés à la suppression.

    La prise en compte de ce paramètre dépend de la valeur de put_in. Si cette valeur correspond à source_space ( sa valeur par défaut ), alors le paramètre compute_deleted_element_not_in_source sera ignoré.

Choix de l'espace où seront placé les éléments importés

Mettre dans l'espace

Permets d'appliquer les différences et d'importer les nouveaux éléments de cette source directement en Staging ou Production ou bien de les laisser dans l'espace de calcul des sources comme par défaut.

Nom dans l'interfaceNom dans le fichier configurationTypeUnitéDéfautDescription

put_in

put_in
Texte---source_space 

Ce paramètre peut prendre les valeurs suivantes :

  • source_space ( valeur par défaut ) :  

    Les éléments sont sauvegardés dans l'espace de donnée "Sources". Cette espace sera comparée avec l'espace de données "Staging" afin de calculer les nouveautés et les différences.

  • staging :  

    Les éléments sont sauvegardés dans les espaces de données "Espace de calcul des Sources" et "Staging".

  • production :  

    Les éléments sont sauvegardés dans les espaces de données "Espace de calcul des Sources", "Staging" et "Production".

  • production_and_reload_arbiter :  

    Les éléments sont sauvegardés dans les espaces de données "Espace de calcul des Sources", "Staging" et "Production".

    L'Arbiter est redémarré afin de soumettre les changements à la supervision.  

    Une source avec l'option put_in à production_and_reload_arbiter ne redémarrera l'Arbiter que si elle a des modifications à pousser en production.

À noter:  Une source avec le paramètre "put in" à la valeur "production" ou "production_and_reload_arbiter" ne poussera en production que les changements qui proviennent de la source et non tous les changements à appliquer en production (tous les changements visibles dans la page de production).

Ce qui implique que si un utilisateur supprime un élément importé par une source avec le paramètre "put_in" à la valeur "production" ou "production_and_reload_arbiter" alors que l'élément est réimporté par la source : il y aura en production 2 éléments avec le même nom, car la suppression manuelle de l'élément ne sera pas prise en compte ce qui provoquera une erreur.
Une source avec l'option put_in à production_and_reload_arbiter ne redémarrera l'Arbiter que si elle a des modifications à pousser en production.

Utilisateur utilisé pour la sauvegarde des changements

Option qui permet de choisir l'utilisateur qui apparaîtra comme étant le dernier à avoir mis à jour les éléments.


L'utilisateur doit être obligatoirement un administrateur Shinken.

Nom dans l'interfaceNom dans le fichier configurationTypeUnitéDéfautDescription

put_in_user

put_in_user
Texte---shinken-core 

Les nouveaux éléments et les éléments différents importés par cette source auront la valeur de cette clé comme utilisateur ayant fait la dernière modification.

Clés spécifiques à la source

Ce chapitre liste tous les paramètres qui sont spécifiques au fonctionnement de cette source.

Format des fichiers JSON chargés par le module

Dans cette source, plusieurs fichiers JSON seront à configurer. Ils respectent tous le même format que voici :

  • Le fichier débute par une ligne avec seulement une accolade ouvrante : {
  • Toute ligne commençant par un dièse ( # ) sera considérée comme un commentaire et ne sera pas interprétée par la source
  • Chaque ligne valide ( lue par la source ) est constituée de
    • le nom du paramètre entre guillemets : "nom_du_paramètre"
    • le symbole deux-points ( : ) séparant le nom du paramètre de sa valeur
    • la valeur du paramètre entre guillemets : "valeur du paramètre"
    • le symbole virgule ( , ) s'il ne s'agit pas de la dernière ligne de définition d'un paramètre.
  • Le fichier se termine par une ligne avec seulement une accolade fermante : }

Accès au serveur et arborescence des données

Implémentation du protocole LDAP

Le module implémentant le protocole LDAP, il est nécessaire de lui préciser que notre source va fonctionner avec l'implémentation de Microsoft : Active Directory. Le paramètre mode doit donc être configuré sur ad pour notre source Collecteur Active Directory.


Pour se connecter à un serveur Open AD , il faut utiliser le Collecteur Active Directory ( voir la page Collecteur de type ( ldap-import ) depuis un serveur Active Directory ).

Nom dans l'interfaceNom dans le fichier configurationTypeUnitéDéfautDescription

mode

mode
Texte---ad
  • Indique l'implémentation du protocole LDAP. Doit être à la valeur ad pour ce collecteur

Définition de l'accès au serveur

L'accès au serveur Active Directory se configure dans le fichier indiqué par le paramètre connection_configuration_file.



Nom dans l'interfaceNom dans le fichier configurationTypeUnitéDéfautDescription

connection_configuration_file

connection_configuration_file
Texte---" "
  • Chemin vers le fichier de configuration de la connexion au serveur Active Directory



Ce fichier est lu à chaque import du collecteur, il est donc inutile de redémarrer le Synchronizer si vous modifiez ce fichier


Le fichier indiqué dans ce paramètre ( par défaut /etc/shinken-user/source-data/source-data-active-directory-sample/_configuration/active-directory-connection.json ) doit respecter le format des fichiers Json ( voir la page JavaScript Object Notation ). Voici les paramètres obligatoires à renseigner dans le fichier, qui permettent de définir la connexion au serveur Active Directory :


Nom du paramètreDescription
url

Adresse de votre serveur Active Directory

Le paramètre "url" doit obligatoirement commencer par "ldap://" ou "ldaps://". Si jamais ça n'est pas le cas, un message d’erreur expliquant le problème apparaitra lors de l'import de la source. 

ldap_protocol

Version du protocole LDAP ( par défaut à 3 si pas spécifié )

base

OU ( Organisation Unit ) de base pour la découverte de vos objets.

Permet de définir la racine de recherche des éléments à importer.

username

Utilisateur utilisé pour la connexion au serveur Active Directory. Il peut s'agir d'un compte en lecteur seule.

password

Mot de passe utilisé pour la connexion au serveur Active Directory.



Tip

Le compte utilisé pour envoyer des requêtes LDAP au serveur n'a besoin que d'un accès en "lecture seule". Vous devriez créer un compte de service Active Directory dédié à cet accès Shinken.

L'utilisateur ldap utilisé est sûrement soumis à certaines limites ( nombre d'entrées, délai, taille ... ). Si cette limite est rencontrée, aucun objet ne sera importé.

Arborescence et filtrage des données

Import des hôtes et groupes d'hôtes

Afin d'importer des hôtes et des groupes d'hôtes, il faut spécifier au module ou rechercher ces éléments dans le serveur Active Directory.

ParamètreValeur par défautDescription
hosts_base
OU ( Organisation Unit ) base pour la découverte de vos hôtes. Si ce paramètre est absent ou vide, aucun hôte ne sera découvert.
hosts_filter(|(objectClass=device)(objectClass=computer))Filtre au format LDAP utilisé pour découvrir uniquement certains hôtes.
hosts_filter_with_group
Filtre au format LDAP permettant de ne filtrer que les hôtes présents dans des groupes définis.
hostgroups_base
OU ( Organisation Unit ) base pour la découverte de vos groupes d'hôtes. Si ce paramètre est absent ou vide, aucun groupe d'hôte ne sera découvert.
hostgroups_filter(|(objectclass=group)Filtre au format LDAP utilisé pour découvrir uniquement certains groupes d'hôtes.

Si vous ne souhaitez pas importer d'objets Active Directory et donc de ne pas créer d'hôte en "nouveau" dans Shinken, vous pouvez ne pas définir la propriété hosts_base ou bien la laisser vide.

Import des contacts et groupes de contacts
ParamètreValeur par défautDescription
contacts_base
OU ( Organisation Unit ) base pour la découverte de vos contacts. Si ce paramètre est absent ou vide, aucun contact ne sera découvert.
contacts_filter(|(objectClass=InetOrgPerson)(objectClass=user))Filtre au format LDAP utilisé pour découvrir uniquement certains contacts.
contacts_filter_with_group
Filtre au format LDAP permettant de ne filtrer que les contacts présents dans des groupes définis.
contactgroups_base
OU ( Organisation Unit ) base pour la découverte de vos groupes de contacts. Si ce paramètre est absent ou vide, aucun groupe de contacts ne sera découvert.
contactgroups_filter(|(objectclass=group)Filtre au format LDAP utilisé pour découvrir uniquement certains groupes de contacts.

Si vous ne souhaitez pas importer d'objets Active Directory et donc de ne pas créer d'utilisateur en "nouveau" dans Shinken, vous pouvez ne pas définir la propriété contacts_base ou bien la laisser vide

Exemples

Voici un exemple de ce fichier

/etc/shinken-user/source-data/source-data-active-directory-sample/_configuration/active-directory-connection.json
{
  # Mandatory
  "url": "ldap://192.168.1.240",
  "ldap_protocol":3,
  "base": "dc=shinkendom,dc=local",
  "username": "shinkendom/administrateur",
  "password": "P@ssword1",

  # Optionnal
  "hosts_base": "OU=Serveurs,dc=shinkendom,dc=local",
  "hosts_filter": "(|(objectClass=device)(objectClass=computer))",
  "hosts_filter_with_group":"",
  
  "contacts_base": "OU=Users,dc=shinkendom,dc=local",
  "contacts_filter": "(|(objectClass=InetOrgPerson)(objectClass=user))",
  "contacts_filter_with_group": "",
  
  "hostgroups_base": "OU=Serveurs,dc=shinkendom,dc=local",
  "hostgroups_filter": "(|(objectclass=group)(objectclass=groupofnames)(objectclass=groupofuniquenames))",
  
  "contactgroups_base": "OU=Users,dc=shinkendom,dc=local",
  "contactgroups_filter": "(|(objectClass=groupOfUniqueNames)(objectClass=groupOfNames)(objectClass=posixGroup))"
 }

Le mapping des informations collectées

Le mapping des informations collectées par la source se configure dans le fichier indiqué par le paramètre mapping_configuration_file ( voir la page Le mapping des informations collectées des champs du serveur Active Directory vers les propriétés et les données Shinken ).

Nom dans l'interfaceNom dans le fichier configurationTypeUnitéDéfautDescription

mapping_configuration_file

mapping_configuration_file
Texte---" "
  • Chemin vers le fichier de correspondance des attributs LDAP vers les propriétés et données Shinken

Les règles d'application des modèles

Les règles d'application des modèles par la source se configurent dans le fichier indiqué par le paramètre rules_configuration_file
Voir la page Les règles d'application des modèles par rapport aux champs collectés du serveur Active Directory.



Nom dans l'interfaceNom dans le fichier configurationTypeUnitéDéfautDescription

rules_configuration_file

rules_configuration_file
Texte---" "
  • Chemin vers le fichier de configuration des règles d'ajout de modèles sur les éléments importés

Précisions techniques

Clés de synchronisation

NomTypeUnitéDéfautDescription
properties_used_as_synckey_for_hosts
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.

properties_used_as_synckey_for_hostgroups
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".

properties_used_as_synckey_for_contactgroups
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".

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

Les clés de synchronisation sont des valeurs utilisées lors de l'étape du mélange des sources ( voir la page Modules de Sources ( imports ) et de Taggers ( qualification ) ) qui permet de choisir quel élément de cette source se mélange avec quel élément d'une autre source ( voir la page Le mélange des sources & les clés de synchronisation (sync-key) ).

Les paramètres properties_used_as_synckey_for_hosts, properties_used_as_synckey_for_hostgroups, properties_used_as_synckey_for_contacts et properties_used_as_synckey_for_contactgroups de la source permettent d'ajouter les propriétés qui serviront à créer les clés de synchronisation ( voir la page Collecteur de type ldap-import ( pour Active Directory ) ).

Propriétés par défaut utilisé pour la construction des clés de synchronisation

Propriété Type d'élémentDescription
Nom de l'élément
Tous les éléments

Cette propriété ne peut pas être retirée des propriétés utilisées pour faire les clés de synchronisation

_SE_UUID
Tous les éléments

Cette propriété ne peut pas être retirée des propriétés utilisées pour faire les clés de synchronisation

address



hôte


email
contact