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.log

Here 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/config

The 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/state

The 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/core

The 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/history

The 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/live

The 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.pid

The 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/cmc

Executable 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/checkhelper

A help process that is repeatedly
started by CMC, and which takes over the efficient running of checks.

lib/cmc/icmpsender

A 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/icmpreceiver

A 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.