The Check_MK Event Console
Last updated: September 10. 2012
1. Motivation - States and Events
Nagios and compatible cores like Icinga and Shinken are all about state based monitoring. A state is something that can be queried at any time. As an example take the current CPU load of a server: Any time the monitoring system wants to, it can query this value (e.g. via the Check_MK agent), apply some levels or other rules to it and finally convert this into a result of OK, WARN, CRIT or UNKNOWN. Nagios people call this active monitoring.
Events on the other hand simply happen without anyone asking for it. An example for a typical event could be "write error on disk sda on sector 18904210". If your monitoring system receives such a message then it takes a passive role.
In many cases when it comes to monitoring we have the choice to work with either states or events. We can also chose to convert one into the other. Converting states into events is simple: whenever the state changes (for example from OK to CRIT), then an event is created. Nagios calls such an event an alert. There are monitoring systems (especially closed source commercial products) that generally work that way and map any state based information to events.
Converting events to states - however - is not that simple. Setting some service to CRIT when an error message is being received is the easy part. But there is no general way to set this back to OK. So why do we not simply always work with events and drop the state based approach at all? There is a pretty good reason for that: working with states has some crucial advantages:
For these and other reasons Nagios and Check_MK use a state based approach.
2. The Check_MK Event Console
The Check_MK Event Console adds real and native event processing to Nagios without loosing the advantages of the state based monitoring. It is not a standalone system, but fully integrated into the Multisite GUI. By means of an own daemon it can:
The Check_MK Event Console is released under the terms of the GNU GPL - just as Check_MK itself. As of the 4th of July 2012 it is contained in the daily OMD builds of our subscription. As soon as the first official stable version will be available, it will also be released as a separate package that is compatible with the upcoming Check_MK 1.2.1i1 and 1.2.0p3.
4. Further reading