the scheduler Poller modules NRPE - Executes active data acquisition for Nagios Remote Plugin Executor agents SNMP - Executes active data acquisition for SNMP enabled agents (In beta stage using PySNMP) CommandPipe - Receives passive status and performance data from check_mk script, will not process commands Reactionner Gets notifications and eventhandlers from the scheduler, executes plugins/scripts and sends the results to the scheduler Broker Has multiple modules (usually running in their own processes) Gets broks from the scheduler and forwards them to the broker modules Modules decide if they handle a brok depending on a brok's type (log, initial service/host status, check result, begin/end downtime, ...) Modules process the broks in many different ways. Some of the modules are: webui - updates in-memory objects and provides a webserver for the native Shinken GUI livestatus - updates in-memory objects which can be queried using an API by GUIs like Thruk or Check_MK Multisite graphite - exports data to a Graphite database ndodb - updates an ndo database (MySQL or Oracle) simple_log - centralize the logs of all the Shinken processes status_dat - writes to a status.dat file which can be read by the classic cgi-based GUI Receiver (optional) Receives data passively from local or remote protocols Passive data reception that is buffered before forwarding to the appropriate Scheduler (or Arbiter for global commands) Allows to set up a "farm" of Receivers to handle a high rate of incoming events Modules for receivers NSCA - NSCA protocol receiver Collectd - Receive performance data from collectd via the network CommandPipe - Receive commands, status updates and performance data TSCA - Apache Thrift interface to send check results using a high rate buffered TCP connection directly from programs Web Service - A web service that accepts http posts of check results (beta) There can be multiple instances for each type of process, either on a single host or spread over many hosts. Adding more processes automatically distributes the load. The Shinken WebUI is the builtin Web interface that provides near real time status information, configuration, interaction, a dashboard to visualize trending data from Graphite databases and the visualization of dependency tree graphs. The Shinken skonfUI is an independent web front-end used to manage the discovery process and configuration tasks. The shinken-admin CLI script is used to manage during runtime process level aspects of the system, such as changing logging levels and getting health reports.