CMC's files and directories

Last updated: July 14. 2016


The following overview shows all of the important files and directories applicable to the Check_MK Micro Core. All data paths relate to the instance's home directory. For example: if an instance is named mysite, then all of the paths are derived from /omd/sites/mysite.

1. Runtime data

Data path Meaning
var/log/cmc.logHere messages from starting and stopping the CMC can be found, as well as general warnings and error messages. The history for hosts and services (with Nagios, both are in nagios.log) is stored in its own data set and is thus not included here.
var/check_mk/core/Directory with all CMC runtimes.
var/check_mk/core/configThe core's configuration. In Nagios this data equates to the data sets under etc/nagios/conf.d and contains all statistical data for hosts, services, groups, users and global settings.
var/check_mk/core/stateThe core's current runtime state. This stores information on the current status of hosts and services, likewise downtimes, acknowledgements and commentaries. This data equates to the retention.dat data in Nagios, but it is however binary-coded. The data is updated regularly during processing and when when the core is stopped. If it is unavailable or incompatible when the core starts, the core will begin with an empty state.
var/check_mk/core/state-* Backup copies of the status following a migration from an old CMC version, or when the CMC detects a large reduction in the number of hosts in the configuration. Thus you can return to the old status (and recover its downtimes and acknowledgements), e.g., if due to a configurations-error all hosts have been temporarily removed from the monitoring.
var/check_mk/core/coreThe core-data is normally not present. If that is not the case, then this indicates an earlier core crash and aids the developers in locating the cause of the error.
var/check_mk/core/historyThe history for all hosts and services is stored in text format in this file. This corresponds in its content and format to the nagios.log file in Nagios, with which it is largely compatible.
var/check_mk/core/archive/Old versions of history are moved to this folder when the log files are rotated. Historic data can only be accessed with Livestatus and Multisite (events, availability) when this data is uncompressed.
tmp/run/liveThe CMC's livestatus socket. This is in the same location as in Nagios. Because the CMC is livestatus-compatible with Nagios and Icinga, all extensions based on livestatus can be used without modification (e.g. NagVis).
tmp/run/cmc.pidThe CMC's current process-ID

2. Configuration

The CMC has no configuration data of its own. All settings for the CMC can be found in the Global Settings WATO module under Monitoring Core, and these are stored together with the other global options in etc/check_mk/conf.d/wato/global.mk.

3. Software

Data path Meaning
bin/cmcExecutable program for the CMC itself. This has been developed in C++, and apart from the standard C++ library requires no other libraries (in particular, no Boost). For testing purposes one can also activate the CMC by hand (Try it: cmc --help).
lib/cmc/checkhelperA help process that is repeatedly started by CMC, and which takes over the efficient running of checks.
lib/cmc/icmpsenderA help process that is started by CMC and which takes over the sending of ICMP packages for the Smart-Ping. This MUST be installed with SUID-root.
lib/cmc/icmpreceiverA help process that is started by CMC and which takes over the receiving of ICMP and TCP connection packages for the Smart-Ping. This MUST be installed with SUID-root.
etc/init.d/cmcThe Micro Core's start script
share/check_mk/web/plugins/wato/cmc.pyWATO extension with global settings and rule sets for the CMC.
share/check_mk/web/plugins/sidebar/cmc.pyA Sidebar plug-in for Multisite with CMC performance data.
share/check_mk/modules/cmc.pyCheck_MK module that generates the configuration for the CMC.
share/check_mk/modules/rrd.pyCheck_MK module for installing RRD data.