This is the class of the Arbiter. Its role is to read configuration, cut it, and send it to other elements like schedulers, reactionners or pollers. It is also responsible for the high avaibility feature. For example, if a scheduler dies, it sends the late scheduler’s conf to another scheduler available. It also reads orders form users (nagios.cmd) and sends them to schedulers.
This class is an interface for the Broker The broker listens to the Arbiter for the configuration sent through the given port as first argument. The configuration sent by the arbiter specifies from which schedulers the broker will take broks. When the broker is already launched and has its own conf, it keeps on listening the arbiter (one a timeout) In case the arbiter has a new conf to send, the broker forget its old schedulers (and their associated broks) and take the new ones instead.
This class is the application that launches checks The poller listens to the Arbiter for the configuration sent through the given port as first argument. The configuration sent by the arbiter specifies from which schedulers the poller will take its checks. When the poller is already launched and has its own conf, it keeps on listening the arbiter (one a timeout) In case the arbiter has a new conf to send, the poller forget its old schedulers (and the associated checks) and take the new ones instead.
This class is an application that launches actions like notifications or event handlers The reactionner listens to the Arbiter for the configuration sent through the given port as first argument. The configuration sent by the arbiter specifies from which schedulers the will take actions. When the reactionner is already launched and has its own conf, it keeps on listening the arbiter (one a timeout) In case the arbiter has a new conf to send, the reactionner forget its old schedulers (and the associated actions) and take the new ones instead.
This class is an interface for the Receiver The receiver listens to the Arbiter for the configuration sent through the given port as first argument. The configuration sent by the arbiter specifies from which schedulers the receiver will take broks. When the receiver is already launched and has its own conf, it keeps on listening the arbiter (one a timeout) In case the arbiter has a new conf to send, the receiver forget its old schedulers (and their associated broks) and take the new ones instead.
This class is the application in charge of scheduling The scheduler listens to the Arbiter for the configuration sent through the given port as first argument. The configuration sent by the arbiter specifies which checks and actions the scheduler must schedule, and a list of reactionners and pollers to execute them When the scheduler is already launched and has its own conf, it keeps on listening the arbiter (one a timeout) In case the arbiter has a new conf to send, the scheduler is stopped and a new one is created.
This file is to be imported by every Alignak service component: Arbiter, Scheduler, etc. It just checks for the main requirement of Alignak.