Le démon arbiter lit la configuration du synchronizer. Il la divise en N parts (N schedulers = N parts),et les distribue au démon Shinken Enterprise approprié. Il gère également la notion de haute disponibilité : si un démon en particulier meurt, il renvoie la configuration gérée par le démon mort à son spare défini qui reçoit les informations des utilisateurs ou les résultats de checks passifs et les routent vers le démon approprié . Les résultats de checks passifs sont renvoyés au Scheduler responsable du check. Il ne peut y avoir qu'un seul arbiter actif avec les autres arbiters jouant le rôle de spare en standby
La communication entre l'arbiter et le synchronizer est faite sur le port standard du synchronizer (7765).

Ce démon est utilisé pour vérifier et distribuer la configuration aux autres démons, sauf au Synchronizer. Cette connexion sur le port standard des autres démons, et utilise une connexion HTTPS si ceux-ci l'ont prévu

Ce démon stocke la totalité du système de configuration en mémoire. Il a accès à tous les noms de serveurs, adresse, type et commande définis pour les vérifier.
Il stocke également en mémoire les contacts définis, qui doivent recevoir les notifications pour les hôtes et services définis.
| Démon source | Destination | Port | Protocole | Note |
|---|---|---|---|---|
| Arbiter | Synchronizer | 7765 | HTTPS | |
| Arbiter | Scheduler | 7768 | HTTPS | |
| Arbiter | Poller | 7771 | HTTPS | |
| Arbiter | Reactionner | 7769 | HTTPS | |
| Arbiter | Receiver | 7773 | HTTPS | |
| Arbiter | Arbiter | 7770 | HTTPS | seulement si il y a un arbiter esclave,et seulement du maître vers l'esclave. |
| Arbiter | Broker | 7772 | HTTPS |
| Propriété | Défaut | Description |
|---|---|---|
| arbiter_name | N/A | Cette variable est utilisée pour identifier le *nom réduit* de l'arbiter auquel les données sont associées. |
| address | N/A | Cette directive permet de définir l'adresse d'où l'arbiter principal peut contacter cet arbiter (qui peut être lui même). Ça peut être un nom DNS ou une adresse IP . |
| host_name | N/A | Cette variable est utilisée par les démons arbiters pour définir quel objet 'arbiter' ils sont : tous ces démons sur différents serveurs utilisent la même configuration, donc la seule différence entre eux est le nom du serveur. Cette valeur doit être égale au nom du serveur (comme avec la commande du hostname ).Si aucun n'est défini, le démon arbiter va utiliser le nom du serveur où il est lancé, mais cela ne sera possible qu'avec un seul arbiter . |
| port | 7770 | Cette directive est utilisée pour définir le port TCP utilisé par ce démon . |
| spare | 0 | Cette variable permet de savoir si le démon correspondant à la définition de l'arbiter est un spare ou pas. La valeur par défaut est *0* (maître/non-spare). |
| modules | N/A | Cette variable définit tous les modules chargés par l'arbiter qui correspond à cette définition . |
| timeout | 3 | Cette variable définit pendant combien de temps l'arbiter bloquera en attendant la réponse du démon. |
| data_timeout | 120 | Utilisé lors d'envoi de données à un autre process. |
| max_check_attempts | 3 | Si le ping est en échec N fois ou plus, alors le nœud est considéré comme mort. (par défaut, 3 tentatives) |
| check_interval | 60 | Intervalle de Ping toutes les N secondes. |
| accept_passive_unknown_check_results | 0 | Si c'est activé, l'arbiter acceptera les retours de checks passifs pour les hôtes non configurés et générera un retour hôte/service inconnu . |
define arbiter{
arbiter_name Main-arbiter
address node1.mydomain
host_name node1
port 7770
spare 0
modules module1,module2
} |