L'architecture de Shinken Enterprise permet a un administrateur d'avoir un point central de configuration et ce, indépendamment du nombre de Schedulers, Pollers, Reactionners et Brokers. Les hôtes et leurs checks sont repartis entre les Schedulers et les satellites (Pollers/Reactionners/Brokers) reçoivent des actions à exécuter de ces Schedulers. Tout fonctionne bien...
Ou presque ! En fait, si vous avez une architecture distribuée sur plusieurs continents, vous pouvez avoir des problèmes. Si l'architecture est commune à plusieurs réseaux, un Scheduler d'un client A peut avoir un Poller d'un client B lui demandant des tâches. Ce n'est pas une bonne idée pour des questions d'efficacité du réseau (même avec un réseau distribué)
C'est là que devient intéressante la gestion des clients par site. Dans Shinken Enterprise, on le gère à travers les "royaumes".
Un royaume est un groupe de ressources qui va gérer les hôtes et les groupes d'hôtes. Ce lien doit être unique, un hôte ne peut pas appartenir à plusieurs royaumes. Si vous mettez un groupe d'hôtes dans un royaume, tous les hôtes rattachés feront partie de ce royaume (sauf si vous avez déjà défini un royaume particulier sur un hôte)
Dans un royaume, tous les Pollers vont prendre les tâches de tous les Schedulers de ce royaume.
Un royaume est un groupe de ressources qui va gérer les hôtes et les groupes d'hôtes. Ce lien doit être unique, un hôte ne peut pas appartenir à plusieurs royaumes. Si vous mettez un groupe d'hôtes dans un royaume, tous les hôtes rattachés feront partie de ce royaume (sauf si vous avez déjà défini un royaume particulier sur un hôte)
Dans un royaume, tous les Pollers vont prendre les tâches de tous les Schedulers de ce royaume.
Vérifiez que vous comprenez bien quand utiliser les royaumes et quand utiliser les poller_tags.
Dans certains cas, la fonctionnalité de poller_tag peut être faite en utilisant les royaumes. La question à se poser est : est-ce suffisant ? ou devez-vous séparer totalement au niveau du Scheduler en utilisant les royaumes.
Un royaume peut avoir des sous-royaumes. Cela ne change rien pour les Schedulers., mais peut être utile pour les autres satellites et spare. Les Reactionners et brokers sont liés au même royaume, mais ils peuvent traiter les tâches des sous-royaumes également. De cette façon, vous pouvez avoir moins de Reactionners et de brokers.
Cela se fait grâce au paramètre manage_sub_realms . Pour les Pollers la valeur par défaut est 0, mais c'est 1 pour Reactionners/brokers.
Prenons deux exemples d'architecture distribuée à travers le monde :
Royaumes distincts :

Usage plus classique :

Les satellites peuvent être utilisés pour leurs royaumes ou sous royaumes.
| Propriété | Défaut | Description |
|---|---|---|
| realm_name | N/A | Cette variable est utilisée pour identifier le nom raccourci du royaume. |
| realm_members | N/A | Cette directive est utilisée pour lister les sous-royaumes . |
| broker_complete_links | 0 | Si placé à 1, ceci autorise les brokers à être plusieurs à prendre les informations d'un même Scheduler. Dans le cas par défaut (0), un broker unique est assigné à un Scheduler, ce qui empêche de voir ses données dans un realm de plus haut niveau si un broker est déjà présent dans son royaume. |
| default | 0 | Cette directive est utilisée pour définir si il s'agit du royaume par défaut ou non. Un seul est autorisé comme "par défaut" |
define realm{
realm_name World
realm_members Europe,America,Asia
default 0
} |