Daemons and how they work together¶
Alignak framework is designed to set up easily and smartly a distributed monitoring application for network services and resources.
It is made of 6 daemons which features may be extended thanks to modules. Each daemon type has its own role in the monitoring process.
A picture says a thousand words:
The Arbiter daemon role:
- Loading the Alignak own configuration (daemons, behavior, …)
- Loading the monitored system objects configuration (hosts, services, contacts, …), loaded from Nagios legacy configuration files or from the Alignak backend database
- Dispatching the whole framework configuration to the other daemons
- Managing daemons connections and monitoring the state of the other daemons
- Forwarding failed daemons configuration to spare daemons
- Receiving external commands
- Collecting the monitoring events log
- Reporting Alignak state
There can have only one active Arbiter, other arbiters (if they exist in the configuration) are acting as standby spares.
The Scheduler daemon role:
- scheduling the checks to launch
- determines action to execute (notifications, acknowledges, …)
- dispatches the checks and actions to execute to the pollers and reactionners
There can have many schedulers for load-balancing; each scheduler is managing its own hosts list.
The Poller runs the active checks required by the Scheduler.
There can have many pollers for load-balancing.
There can have many receivers for load-balancing.
The Broker daemon gets all the broks from the other daemons. It propagates the events to its specialized modules (eg. Alignak backend database storage, …)
There can have many brokers for load-balancing.