Présentation
L'onglet de configuration afficher les paramètres de configuration définie dans le fichier de configuration de votre module peut être consultée dans cet onglet ( voir la page Collecteur de type ldap-import ( pour Open LDAP ) ) :
La configuration du collecteur définie dans le fichier de configuration de la source ( pour la source par défaut : /etc/shinken/sources/openldap.cfg ) peut être consultée dans cet onglet :
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 fonctionnement des sources en général.
| Nom | Type | Unité | Défaut | Commentaire |
|---|---|---|---|---|
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 | Entier | Minute | 5 | Délai écoulé entre les imports automatiques de la source.
|
Options de mélange des sources
Mode de mélange des sources
Grâce 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 Le mélange des sources & les clés de synchronisation (sync-key) ).
La valeur par défaut est : all
Les valeurs possibles sont :
| Nom dans l'interface | Nom dans le fichier configuration | Type | Unité | Défaut | Description |
|---|---|---|---|---|---|
merge_mode | merge_mode | Texte | --- | all | Ce paramètre peut prendre les valeurs suivantes :
|
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'interface | Nom dans le fichier configuration | Type | Unité | Défaut | Description |
|---|---|---|---|---|---|
compute_new_element | compute_new_element | Texte | --- | authorized | Ce paramètre peut prendre les valeurs suivantes :
|
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'interface | Nom dans le fichier configuration | Type | Unité | Défaut | Description |
|---|---|---|---|---|---|
compute_element_difference | compute_element_difference | Texte | --- | authorized | Ce paramètre peut prendre les valeurs suivantes :
|
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'interface | Nom dans le fichier configuration | Type | Unité | Défaut | Description |
|---|---|---|---|---|---|
compute_deleted_element_not _in_source | compute_deleted_element_not _in_source | Texte | --- | disabled | Ce paramètre peut prendre les valeurs suivantes :
|
Choix de l'espace où seront placé les éléments importés
Mettre dans l'espace
Permet 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'interface | Nom dans le fichier configuration | Type | Unité | Défaut | Description |
|---|---|---|---|---|---|
put_in | put_in | Texte | --- | source_space | Ce paramètre peut prendre les valeurs suivantes :
|
À 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.
À Noter: l'utilisateur doit être obligatoirement un administrateur Shinken.
| Nom dans l'interface | Nom dans le fichier configuration | Type | Unité | Défaut | Description |
|---|---|---|---|---|---|
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 peut être nécessaire de lui préciser l'implémentation à utiliser. Le paramètre mode doit donc être configuré sur openldap pour notre source Collecteur Open LDAP. Ce mode gère également d'autres implémentations telles qu’Oracle Directory Server Enterprise Edition.
Pour se connecter à un serveur OpenLDAP, il faut utiliser le collecteur OpenLDAP ( voir page Collecteur de type ( ldap-import ) depuis un serveur OpenLDAP ).
| Nom dans l'interface | Nom dans le fichier configuration | Type | Unité | Défaut | Description |
|---|---|---|---|---|---|
mode | mode | Texte | --- | ad |
|
Définition de l'accès au serveur
L'accès au serveur Open LDAP se configure dans le fichier indiqué par le paramètre connection_configuration_file.
| Nom dans l'interface | Nom dans le fichier configuration | Type | Unité | Défaut | Description |
|---|---|---|---|---|---|
connection_configuration_file | connection_configuration_file | Texte | --- | " " |
|
Le fichier indiqué dans ce paramètre ( par défaut /etc/shinken-user/source-data/source-data-openldap-sample/_configuration/openldap-connection.json ) doit respecter le format des fichiers Json ( voir page JavaScript Object Notation ). Voici les paramètres obligatoires à renseigner dans le fichier, qui permettent de définir la connexion au serveur Open LDAP :
| Nom du paramètre | Description |
|---|---|
| url | Adresse de votre serveur Open LDAP 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 Open LDAP. Il peut s'agir d'un compte en lecteur seule. |
| password | Mot de passe utilisé pour la connexion au serveur Open LDAP. |
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 Open LDAP dédié à cet accès Shinken.
Il est possible que l'utilisateur LDAP utilisé soit 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 Open LDAP.
| Paramètre | Valeur par défaut | Description |
|---|---|---|
| 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 Open LDAP 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ètre | Valeur par défaut | Description |
|---|---|---|
| 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 Open LDAP 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
{
# Mandatory
"url": "ldap://192.168.1.240",
"ldap_protocol":3,
"base": "dc=shinkendom,dc=local",
"username": "cn=administrateur,dc=shinkendom,dc=local",
"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 Open LDAP vers les propriétés et les données Shinken ).
| Nom dans l'interface | Nom dans le fichier configuration | Type | Unité | Défaut | Description |
|---|---|---|---|---|---|
mapping_configuration_file | mapping_configuration_file | Texte | --- | " " |
|
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 Open LDAP ).
| Nom dans l'interface | Nom dans le fichier configuration | Type | Unité | Défaut | Description |
|---|---|---|---|---|---|
rules_configuration_file | rules_configuration_file | Texte | --- | " " |
|
Précisions techniques
Clés de synchronisation
| Nom | Type | Unité | Défaut | Description |
|---|---|---|---|---|
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 ( provenant de propriétés ou de données, définies par la source et spécifiques selon le type de l'élément ) permettant de déterminer quels éléments importés doivent être mélangés avec les éléments importés des autres sources ( voir la page Modules de Sources ( imports ) et de Taggers ( qualification ) ). Concrètement, plusieurs sources peuvent importer différentes informations concernant le même élément, donc si des éléments issus de sources différentes possèdent au moins une clé de synchronisation en commun, ils seront considérés comme étant le même élément et seront fusionnés lors de l’étape de mélange des sources ( 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
- properties_used_as_synckey_for_contactgroup
Permettent d’indiquer quelles propriétés dont les valeurs doivent être utilisées comme clés de synchronisation, c’est‑à‑dire celles dont la valeur servira à décider si deux éléments doivent être fusionnés. ( voir la page Collecteur de type ldap-import ( pour Open LDAP ) ).
N'importe quelle clé de Shinken peut être utilisée, cependant, pour que le mélange des éléments soit cohérent, il faut que les valeurs des clés indiquées permettent d'identifier de manière unique les différents éléments.
Par exemple :
- La clé "Activé" est une mauvaise clé de synchronisation, car elle ne peut avoir que deux valeurs différentes : "Vrai" ( 1 ) ou "Faux" ( 0 ).
- La clé "Adresse" est une bonne clé de synchronisation pour un Hôte, car il est cohérent que deux hôtes ayant la même adresse ( IP ou DNS ) soient le même élément.
Propriétés par défaut utilisé pour la construction des clés de synchronisation
| Propriété | Type d'élément | Description |
|---|---|---|
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 |



