Shinken Entreprise permet de gérer l'héritage des éléments en prévisualisant les valeurs héritées.
Pour chaque propriété, on peut choisir d'accepter ou refuser son héritage. Le fait de renseigner manuellement la valeur d'une propriété coupera automatiquement son héritage, sauf pour un héritage additif.
En effet, l'héritage additif a pour but de permettre d'hériter des valeurs d'un modèle tout en ajoutant de nouvelles valeurs à notre élément. On peut facilement activer la fonctionnalité avec le bouton stop précédant chaque multi-sélecteur de valeur. Au clic, le signe du bouton devient un plus pour signifier son activation.
Héritage Additif:
| Désactivé | Activé |
|---|---|
|
|
Remarque: Au format Cfg il faut ajouter le signe plus ( + ) devenant la première valeur pour activer la fonctionnalité d'héritage additif. Ceci est valable uniquement sur les propriétés qui contiennent des valeurs sous forme de chaîne. Cependant, Shinken Enterprise n'autorise pas le fonctionnement de l'héritage additif sur toutes les propriétés "chaînables". Veuillez vérifier avant toute utilisation que l'interface Shinken Entreprise l'autorise.
Exemple de format cfg :
define host {
name M121
contact_groups Paris
register 0
}
define host {
name M122
contact_groups +Orleans
register 0
}
define host {
name M123
contact_groups +Lyon
register 0
} |
Exemple d'héritage additif appliqué sur un modèle d'hôte via l'UI de configuration:

Pour cet exemple, on constate l'activation de l'héritage additive par le bouton vert "plus". On remarque aussi que le modèle d'hôte generic-shinken-host applique à son niveau la valeur Lyon et récupère la valeur Bordeaux avec l'héritage du modèle generic-host.
Dans le cas ou plusieurs modèles sont appliqués sur un élément, leurs ordres d'affichage joue un rôle important. Il permet à Shinken Entreprise de connaitre quel modèle appliqué en priorité.
Les modèles sont parcourus dans le sens de lecture, de gauche à droite.
Puisque les modèles d'héritage peuvent eux-même hériter de valeurs provenant d'un ou plusieurs modèles, il peut devenir très compliqué de trouver quelle valeur aura la priorité.
Le schéma suivant devrait vous aider à y voir plus clair dans l'ordre de priorité:

Dans l'exemple ci-dessus, le modèle d'hôte 1 hérite du modèles 2 et le 5 (dans cet ordre, de gauche à droite).
On constate que l'arbre d'héritage de chacun des modèles et parcouru à la suite des autres.
La notion d'ordre de priorité a été abordée et l'on sait également qu'une valeur renseignée localement a toujours autorité sur la valeur définie dans un modèle hérité.
Cette dernière règle n'est cependant plus exacte si la fonction d'héritage additif est activée puisque les valeurs locales vont être concaténées avec les valeurs d'une chaîne héritée.
Il devient alors intéressant de comprendre les mécanismes d'héritage plus en détail:
Pour étayer les deux mécanismes d'héritage, comparons deux versions de Shinken Entreprise.
Les versions 02.04.00 et précédentes utilisent exclusivement l'héritage classique. La version 02.05.00 permet les deux types d'héritage.
Partant du postulat que tous les modèles ont activé l'héritage sur la propriété contacts_group;

Légende:

L'exemple suivant est plus complexe avec trois niveaux d'héritage.
On peut voir que dans la version 02.04.00, l'héritage s'arrête à la première valeur trouvée, tant dis que dans la version 02.05.00, chaque arbre est parcouru jusqu'à la détection de l'arrêt de l'héritage additif :

Légende:

Remarque: Pour obtenir un héritage classique il faut désactiver la fonctionnalité additive dans tout l'arbre d'héritage. Notez que par défaut, l'héritage additif est désactivé.
Voici quelques exemples d'héritages additifs, de plus en plus complexe.
Exemple 1:

Exemple 2:
