Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Role

The arbiter daemon reads the configuration from the synchronizer. It divides it into Le démon arbiter lit la configuration du synchronizer. Il la divise en N parts (N schedulers = N parts), and distributes them to the appropriate et les distribue au démon Shinken Enterprise daemons. Additionally, it manages the high availability features: if a particular daemon dies, it re-routes the configuration managed by this failed daemon to the configured spare. Finally, it receives input from users  or passive check results and routes them to the appropriate daemon. Passive check results are forwarded to the Scheduler responsible for the check. There can only be one active arbiter with other arbiters acting as hot standby spares in the architecture.

Connexion with the synchronizer

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 

Connexion avec le synchronizer

La communication entre l'arbiter et le synchronizer est faite sur le port standard du The communication between the arbiter and the synchronizer is done on the standard port of the synchronizer (7765).

Connexion

...

This daemon is used to check and dispatch configuration to the other daemons, but not to the Synchronizer. The connexion is done on the standard port of the other daemons, and will use a HTTPS connexion if the other daemons are defined to use it.

 

Image Removed

Data

This daemon is hosting the whole system configuration into memory. It has access to all server names, address, types, and also the defined command used to check them.

It also hosts in memory the defined contacts that should receive notification for the defined hosts and services.

Arbiter connexion summary

avec les autres démons

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

Image Added

Données

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.

Résumé des connexions de l'Arbiter 

Démon sourceDestinationPortProtocole
Source daemonDestinationPortProtocol
Note
ArbiterSynchronizer7765HTTPS 
ArbiterScheduler7768HTTPS 
ArbiterPoller7771HTTPS 
ArbiterReactionner7769HTTPS 
ArbiterReceiver7773HTTPS 
ArbiterArbiter7770HTTPS
Only if there is an arbiter slave, and only from the master to the slave
seulement si il y a un arbiter esclave,et seulement du maître vers l'esclave.
ArbiterBroker7772HTTPS 

 

...

Définition du format

 

Property
Propriété
Default
DéfautDescription
arbiter_nameN/A
This variable is used to identify the *short name* of the arbiter with which the data will be associated with
Cette variable est utilisée pour identifier le *nom réduit* de l'arbiter auquel les données sont associées.
addressN/A
This directive is used to define the address from where the main arbiter can reach this arbiter (that can be itself). This can be a DNS name or an IP address
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_nameN/A
This variable is used by the arbiters daemons to define which 'arbiter' object they are : all these daemons on different servers use the same configuration, so the only difference is their server name. This value must be equal to the name of the server (like with the hostname command). If none is defined, the arbiter daemon will put the name of the server where it's launched, but this will not be tolerated with more than one arbiter (because each daemons will think it's the master)
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 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 .
port7770
This directive is used to define the TCP port used by the daemon
Cette directive est utilisée pour définir le port TCP utilisé par ce démon .
spare0
This variable is used to define if the daemon matching this arbiter definition is a spare one or not. The default value is
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* (
master
maître/non-spare).
modulesN/A
This variable is used to define all modules that the arbiter daemon matching this definition will load
Cette variable définit tous les modules chargés par l'arbiter qui correspond à cette définition .
timeout3
This variable defines how much time the arbiter will block waiting for the response of this daemon
Cette variable définit pendant combien de temps l'arbiter bloquera en attendant la réponse du démon.
data_timeout120
Data send timeout. When sending data to another process.
Utilisé lors d'envoi de données à un autre process.@
max_check_attempts3
If ping fails N or more, then the node is considered dead. 3 attempts by default.
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_interval60Intervalle de Ping
node every
toutes les N
seconds.accept_passive_unknown_check_results0If this is enabled, the arbiter will accept passive check results for unconfigured hosts and will generate unknown host/service check result broks.

...

secondes.

Exemple de définition

Code Block
define arbiter{
  arbiter_name Main-arbiter
  address node1.mydomain
  host_name node1
  port 7770
  spare 0
  modules module1,module2
}