The Arbiter object is a way to define Arbiter daemons that will manage the configuration and all different architecture components of shinken (like distributed monitoring and high availability). It reads the configuration, cuts it into parts (N schedulers = N parts), and then sends them to all others elements. It manages the high availability part : if an element dies, it re-routes the configuration managed by this falling element to a spare one. Its other role is to receive input from users (like external commands of shinken.cmd) and send them to other elements. There can be only one active arbiter in the architecture.
The Arbiter definition is optional. If no arbiter is defined, Shinken will “create” one for the user. There will be no high availability for the Arbiter (no spare), and it will use the default port on the server where the daemon is launched.
Variables in red are required, while those in black are optional. However, you need to supply at least one optional variable in each definition for it to be of much use.
define arbiter{ | |
arbiter_name | arbiter_name |
address | dns name of ip address |
host_name | hostname |
port | port |
spare | //[0/1]// |
modules | modules |
timeout | number of seconds to block the arbiter waiting for an answer |
data_timeout | seconds to wait when sending data to another satellite(daemon) |
max_check_attempts | number |
check_interval | seconds to wait before issuing a new check |
accept_passive_unknown_check_results | //[0/1]// |
} |
define arbiter{
arbiter_name Main-arbiter
address node1.mydomain
host_name node1
port 7770
spare 0
modules module1,module2
}