check_mk man page

check_mk — command line utility for managing Check_MK




check_mk (or its alias cmk) is a command line utility for managing some aspects of the Check_MK Monitoring System. It can be used for diagnosis, for automating things in scripts and for doing some tasks more efficiently than with the web based WATO.

Generic Options

The following options work in all modes and all situations.


More verbose output. In good old Unix tradition check_mk only outputs texts if something goes wrong. By using -v you can get some more information about what's going on.


Even more vebose output. Some operations give even more details when this options is used.


Disables the intern exception handling in Check_MK and let all Python exceptions through. That way you can see the exact location in the code where the actual problem is. This helps finding problems in self written check plugins.

Service Discovery

cmk [--checks=CHECK_TYPE1,CHECK_TYPE2,...] -I|-II [HOSTS...]

The options -I and -II do service discovery. Check_MK will analyse the agent output of the specified hosts (or all hosts if none are specified) and automatically create monitored services where it does make sense. While -I only creates new services and keeps the existing ones untouched, -II first removes all existing services before staring the discovery.

The option --checks= restricts the option to a list of check types (e.g. --checks=Bdf,diskstat).  When combined with the mode -II only checks of the specified types are be removed and rediscovered.

When no hosts are specified then Check_MK will do a discovery for all hosts that are defined in your configuration. In order to speed this operation up no actual data is being fetched from the hosts but cached agent data will be used. When you specify host names then fresh data is fetched from these.

Ad Hoc Checking

cmk [-n] [-p] [--checks=CHECK_TYPE1,CHECK_TYPE2,...] -v HOST

This does an ad hoc checking of the host HOST via Check_MK. HOST must be a host that is configured in Check_MK. Check_MK does the same like in real monitoring - it fetches data from the agent and computes the result of all services. Then it outputs each result and sends the result to the monitoring core.

-p Also prints metrics data of the services.

-n Prevents the check results from being sent to the monitoring core. That way

-v Outputs the results of the passive checks on the terminal. Without this option Check_MK behaves like a classical monitoring plugin: it outputs one line of text (essentially the output of the Check_MK service) and exists with 0, 1, 2 or 3 (OK, WARN, CRIT, UNKNOWN). This was how Nagios called Check_MK in ancient times.

The option --checks= restricts the option to a list of check types (e.g. --checks=Bdf,diskstat).  That way only a reduced set of service is being checked. This is useful for testing and debugging a check plugin.


cmk [-n] [-v] [-p] HOST [IPADDRESS]  check all services on HOST
cmk -I [HOST ..]                     inventory - find new services
cmk -II ...                          renew inventory, drop old services
cmk -N [HOSTS...]                    output Nagios configuration
cmk -B                               create configuration for core
cmk -C, --compile                    precompile host checks
cmk -U, --update                     precompile + create config for core
cmk -O, --reload                     precompile + config + core reload
cmk -R, --restart                    precompile + config + core restart
cmk -D, --dump [H1 H2 ..]            dump all or some hosts
cmk -d HOSTNAME|IPADDRESS            show raw information from agent
cmk --check-discovery HOSTNAME       check for items not yet checked
cmk --discover-marked-hosts          run discovery for hosts known to have changed services
cmk --update-dns-cache               update IP address lookup cache
cmk -l, --list-hosts [G1 G2 ...]     print list of all hosts
cmk --list-tag TAG1 TAG2 ...         list hosts having certain tags
cmk -L, --list-checks                list all available check types
cmk -M, --man [CHECKTYPE]            show manpage for check CHECKTYPE
cmk -m, --browse-man                 open interactive manpage browser
cmk --paths                          list all pathnames and directories
cmk -X, --check-config               check configuration for invalid vars
cmk --backup BACKUPFILE.tar.gz       make backup of configuration and data
cmk --restore BACKUPFILE.tar.gz      restore configuration and data
cmk --flush [HOST1 HOST2...]         flush all data of some or all hosts
cmk --donate                         Email data of configured hosts to MK
cmk --snmpwalk HOST1 HOST2 ...       Do snmpwalk on one or more hosts
cmk --snmptranslate HOST             Do snmptranslate on walk
cmk --snmpget OID HOST1 HOST2 ...    Fetch single OIDs and output them
cmk --scan-parents [HOST1 HOST2...]  autoscan parents, create conf.d/
cmk -P, --package COMMAND            do package operations
cmk --localize COMMAND               do localization operations
cmk --handle-alerts                  used to handle alerts from core
cmk --notify                         used to send notifications from core
cmk --create-rrd [--keepalive|SPEC]  create round robin database (only CEE)
cmk --convert-rrds [--split] [H...]  convert exiting RRD to new format (only CEE)
cmk --compress-history FILES...      optimize monitoring history files for CMC
cmk --handle-alerts                  alert handling, always in keepalive mode (only CEE)
cmk -i, --inventory [HOST1 HOST2...] Do a HW/SW-Inventory of some ar all hosts
cmk --inventory-as-check HOST        Do HW/SW-Inventory, behave like check plugin
cmk -A, --bake-agents [-f] [H1 H2..] Bake agents for hosts (not in all versions)
cmk --cap pack|unpack|list FILE.cap  Pack/unpack agent packages (not in all versions)
cmk --show-snmp-stats                Analyzes recorded Inline SNMP statistics
cmk -V, --version                    print version
cmk -h, --help                       print this help

 -v             show what's going on
 -p             also show performance data (use with -v)
 -n             do not submit results to core, do not save counters
 -c FILE        read config file FILE instead of %s
 --cache        read info from cache file is present and fresh, use TCP
                only, if cache file is absent or too old
 --no-cache     never use cached information
 --no-tcp       for -I: only use cache files. Skip hosts without
                cache files.
 --fake-dns IP  fake IP addresses of all hosts to be IP. This
                prevents DNS lookups.
 --usewalk      use snmpwalk stored with --snmpwalk
 --debug        never catch Python exceptions
 --interactive  Some errors are only reported in interactive mode, i.e. if stdout
                is a TTY. This option forces interactive mode even if the output
                is directed into a pipe or file.
 --procs N      start up to N processes in parallel during --scan-parents
 --checks A,..  restrict checks/inventory to specified checks (tcp/snmp/check type)
 --keepalive    used by Check_MK Mirco Core: run check and --notify
                in continous mode. Read data from stdin and from cmd line.
 --cmc-file=X   relative filename for CMC config file (used by -B/-U)
 --extraoid A   Do --snmpwalk also on this OID, in addition to mib-2 and enterprises.
                You can specify this option multiple times.
 --oid A        Do --snmpwalk on this OID instead of mib-2 and enterprises.
                You can specify this option multiple times.
 --hw-changes=S --inventory-as-check: Use monitoring state S for HW changes
 --sw-changes=S --inventory-as-check: Use monitoring state S for SW changes

 -I can be restricted to certain check types. Write '--checks df -I' if you
 just want to look for new filesystems. Use 'check_mk -L' for a list
 of all check types. Use 'tcp' for all TCP based checks and 'snmp' for
 all SNMP based checks.

 -II does the same as -I but deletes all existing checks of the
 specified types and hosts.

 -N outputs the Nagios configuration. You may optionally add a list
 of hosts. In that case the configuration is generated only for
 that hosts (useful for debugging).

 -U redirects both the output of -S and -H to the file %s
 and also calls check_mk -C.

 -D, --dump dumps out the complete configuration and information
 about one, several or all hosts. It shows all services, hostgroups,
 contacts and other information about that host.

 -d does not work on clusters (such defined in but only on
 real hosts.

 --check-discovery make check_mk behave as monitoring plugins that
 checks if an inventory would find new or vanished services for the host.
 If configured to do so, this will queue those hosts for automatic

 --discover-marked-hosts run actual service discovery on all hosts that
 are known to have new/vanished services due to an earlier run of
 check-discovery. The results of this discovery may be activated
 automatically if that was discovered.

 --list-hosts called without argument lists all hosts. You may
 specify one or more host groups to restrict the output to hosts
 that are in at least one of those groups.

 --list-tag prints all hosts that have all of the specified tags
 at once.

 -M, --man shows documentation about a check type. If
 /usr/bin/less is available it is used as pager. Exit by pressing
 Q. Use -M without an argument to show a list of all manual pages.

 --backup saves all configuration and runtime data to a gzip
 compressed tar file. --restore *erases* the current configuration
 and data and replaces it with that from the backup file.

 --flush deletes all runtime data belonging to a host. This includes
 the inventorized checks, the state of performance counters,
 cached agent output, and logfiles. Precompiled host checks
 are not deleted.

 -P, --package brings you into packager mode. Packages are
 used to ship inofficial extensions of Check_MK. Call without
 arguments for a help on packaging.

 --localize brings you into localization mode. You can create
 and/or improve the localization of Check_MKs Multisite.  Call without
 arguments for a help on localization.

 --donate is for those who decided to help the Check_MK project
 by donating live host data. It tars the cached agent data of
 those host which are configured in and sends
 them via email to The host data
 is then publicly available for others and can be used for setting
 up demo sites, implementing checks and so on.
 Do this only with test data from test hosts - not with productive
 data! By donating real-live host data you help others trying out
 Check_MK and developing checks by donating hosts. This is completely
 voluntary and turned off by default.

 --snmpwalk does a complete snmpwalk for the specified hosts both
 on the standard MIB and the enterprises MIB and stores the
 result in the directory %s. Use the option --oid one or several
 times in order to specify alternative OIDs to walk. You need to
 specify numeric OIDs. If you want to keep the two standard OIDS
 .  and . then use --extraoid for just adding
 additional OIDs to walk.

 --snmptranslate does not contact the host again, but reuses the hosts
 walk from the directory %s.%s

 --scan-parents uses traceroute in order to automatically detect
 hosts's parents. It creates the file conf.d/ which
 defines gateway hosts and parent declarations.

 -A, --bake-agents creates RPM/DEB/MSI packages with host-specific
 monitoring agents. If you add the option -f, --force then all
 agents are renewed, even if an uptodate version for a configuration
 already exists. Note: baking agents is only contained in the
 subscription version of Check_MK.

 --show-snmp-stats analyzes and shows a summary of the Inline SNMP
 statistics which might have been recorded on your system before.
 Note: This is only contained in the subscription version of Check_MK.

 --convert-rrds converts the internal structure of existing RRDs
 to the new structure as configured via the rulesets cmc_host_rrd_config
 and cmc_service_rrd_config. If you do not specify hosts, then all
 RRDs will be converted. Conversion just takes place if the configuration
 of the RRDs has changed. The option --split will activate conversion
 from exising RRDs in PNP storage type SINGLE to MULTIPLE.

 -i, --inventory does a HW/SW-Inventory for all, one or several
 hosts. If you add the option -f, --force then persisted sections
 will be used even if they are outdated.


November 2015 Check_MK Command line utility