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:

Alignak daemons architecture

Alignak framework daemons synthetic view.


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.


The Receiver daemon receives the passive checks and external commands.

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.


The Reactionner daemon runs the event handlers and sends the notifications to the users.

There can have many reactionners for load-balancing.