Introduction
Dans l'interface de Configuration, les sources peuvent être utilisées pour importer des éléments. Chaque objet trouvé dans les sources est ensuite affiché en tant que Nouveau ou présente des Différences sur les objets déjà présents dans Staging.
Lors de l'import d'éléments depuis les sources, des erreurs ou avertissements peuvent être remontés. Ces différents avertissements et leur résolution sont décrits dans les sections suivantes.
Propriété manquante
Propriété inconnue
Propriété non valide ignorée
Propriété non valide modifiée
Conflits lors de l'import des objets
Précisions sur le fonctionnement de l'import des sources
Le mécanisme d'import permet également d'importer un objet dont la définition est répartie entre plusieurs sources. Un hôte par exemple, peut être présent dans 2 sources (ou plus):
- La première (fichier Cfg), définit un certain nombre de propriétés, comme sont nom, adresse ainsi que quelques modèles à utiliser
- La deuxième (Découverte réseau), définit un certain nombre de propriétés supplémentaires comment des modèles d'hôte à utiliser.
L'objet final sera donc un hôte ayant les propriétés de la première et de la deuxième source.
Lorsque les sources importées, l'interface de Configuration rassemble ces objets suivant différents critères. D'une manière générale, des objets sont rassemblés si ils possèdent au moins une clé de synchronisation commune.
Les clés de synchronisation utilisées dépendent du type de l'élément:
- Hôtes: Nom, adresse, SE_UUID (Identifiant unique pouvant être défini dans les fichiers de configuration)
- Checks: SE_UUID
- Autres: Nom de l'élément, SE_UUID
Par exemple, 2 hôtes avec la même adresse seront regroupés par le mécanisme d'import des sources en un seul hôte. Les 2 hôtes suivants:
| Code Block |
|---|
define host {
host_name Hote 1
address localhost
propriété_commune valeur1
propriété1 valeur1
}
define host {
host_name Hote 2
address localhost
propriété_commune valeur2
propriété1 valeur2
} |
seront regroupés en un seul hôte contenant les 2 propriétés:
| Code Block |
|---|
define host {
host_name Hote 1
address localhost
propriété_commune valeur1
propriété1 valeur1
propriété2 valeur2
} |
L'hôte résultant de la fusion des 2 hôtes ayant une clé de synchronisation commune contient les propriétés définies sur les hôtes ayant cette clé commune.
Lorsque la même propriété est définie par plusieurs hôtes, la première valeur définie est prise. Dans l'exemple, on voit que la propriété commune a pour valeur la première valeur définie, soit "valeur1".
Cas spécial du SE_UUID
Parmi les clés de synchronisation d'un objet, le SE_UUID est traité d'une manière différente.
Lorsqu'un élément possède un SE_UUID dans sa définition, il est considéré comme unique dans le mécanisme d'import des sources, et il ne sera assemblé avec aucun autre élément.
C'est utile dans le cas ou on veut définir 2 hôtes avec la même adresse par exemple. Le SE_UUID permet de dire qu'il s'agit de 2 hôtes distincts et ils ne seront pas fusionnés.
| Code Block |
|---|
define host {
# 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-service-60f9373a47d511e8a3c1080027a3ae8c
_SE_UUID_HASH 61917cb49e8f3b524ee2e9482f59a2e9
# End of Shinken Enterprise part
host_name Host 1
address host_addr
}
define host {
# 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-service-6454ba8a47d511e897f8080027a3ae8c
_SE_UUID_HASH bc7ea10870bdcb985dd1ba4dbcc62688
# End of Shinken Enterprise part
host_name Host 2
address host_addr
retry_interval 4
check_running_timeout 4
} |
Les 2 hôtes ne seront pas fusionnés à cause de la présence du SE_UUID.
Un SE_UUID à la forme suivante:
| Info |
|---|
_UUID core-type_element-identifiant_unique |
- type_element: Le type de l'élément sur lequel on veut spécifier ce SE_UUID. Les différentes valeurs possibles sont les différents types définissables par fichier de configuration: host, service, contact,...
- identifiant_unique: Chaine de caractères (alphanumériques) permettant d'identifier de manière unique l'élément.
TODO
Un script présent dans l'archive d'installation de Shinken Entreprise permet de générer ces SE_UUID:
| Code Block |
|---|
lib/nom_du_script_pour_générer_les_SE_UUID -h |
Expliquer comment fonctionne le script
SE_UUID dupliqué
L'élément peut être fusionné avec plusieurs éléments existants
L'éléments peut être fusionné avec plusieurs éléments des sources (clés de synchronisation communes avec d'autres éléments mais SE_UUID différents)
Lorsque des éléments sont importés avec des SE_UUID, Shinken les considère comme des objets uniques.
L'élément possède des clés de synchronisation communes avec un autre élément et a le même nom qu'un autre élément de Staging ou de la Zone de travail
Shinken ne peut pas déterminer comment fusionner les éléments- Conflit SE_UUID (2 fois le meme SE_UUID, conflit de merge SEF-2807)





