L'architecture est totalement flexible et évolutive (scalable).
Pour améliorer les capacités de Shinken Enterprise, augmenter le nombre de démons ayant le même rôle est la meilleure approche.


Shinken Enterprise, via le démon Arbiter, est capable de découper la configuration en plusieurs parties et les distribuer aux Schedulers .
Cette action se fait en 2 parties :
L'action de hachage se fait en se basant sur 2 éléments : les hôtes et les checks. Les checks sont liés à l'hôte donc ils seront dans la même partition.
D'autres relations sont prises en compte :
Shinken Enterprise regarde toutes les relations et crée un graphe avec. Un graphe est une partition de relations.
Illustration :

Dans cet exemple, nous avons 2 partitions :
Quand toutes les partitions sont créées, l'Arbiter les agrège dans N configurations si l'administrateur a défini N Schedulers actifs (sans spare).
| Pour rappel, un spare est un élément qui prendra le relais si le nœud actif venait à s’arrêter. |
La répartition se fait sur un critère de poids des Schedulers : plus le poids est élevé, plus il y a de packs.
Illustration :
|
Une fois que toutes les configurations sont créées, l'Arbiter les envoie aux N Schedulers actifs .
Un Scheduler peut commencer à lancer des checks une fois qu'il a reçu et chargé sa configuration sans avoir à attendre que TOUS les Schedulers soient prêts.
Pour des configurations plus importantes, avoir plusieurs Schedulers (même sur un seul serveur) est fortement recommandé car ils chargeront leur configuration beaucoup plus vite (nouvelle ou modification).
L'Arbiter crée également les configurations pour ses satellites (pollers, reactionners et brokers) avec les liens permettant de savoir où réaliser les tâches.
Il est également responsable de vérifier la disponibilité des satellites.
L’architecture de Shinken Enterprise est hautement disponible.
Un serveur peut crasher, une application également. C'est pour cela que les administrateurs ont des sauvegardes : ils peuvent recharger la configuration des éléments tombés.
L'Arbiter vérifie régulièrement que tous les démons sont disponibles. Si un nœud n'est plus accessible, l'Arbiter envoie sa configuration au nœud Spare défini par l’administrateur (s'il existe).
Une page de documentation est dédiée à la Haute disponibilité ici.
Après avoir envoyé les configurations et les partitions, l'Arbiter commence à traiter les ordres, appelés commandes externes, qui sont des commandes qui vont s'exécuter via les actions faites par l'utilisateur de l'interface de visualisation, mais également lors de la réception de check passif que le démon Receiver récupère.
De cette manière, des ordres peuvent être envoyés aux Schedulers, via l'Arbiter.
Les commandes externes sont de 2 types :
Pour chaque commande, Shinken Enterprise détecte si c'est global ou particulier:
Dès réception de l'ordre par le ou les Schedulers, il est appliqué.