Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Warning

Please keep in mind that the cmcdump is only a mirror of your remote site with no access to the remote site. On the central site, you cant configure rules/downtimes/notifications for these so-called shadow hosts.

Getting Started

Background information regarding this subject is available on our:


cmcdump with some examples

One host and service filter

Info

In this example, I will dump the config and use -H and -S for filtering. With -H, I will search for all hosts beginning with the IP-Address 127. After that, I will use the same command (without -C) to dump the state. I only want the Checkmk Service from this host to reduce the result.


Create the config file

Code Block
languagebash
themeRDark
OMD[mysite]:~$ cmcdump -C -H "Filter: host_address ~ 127" -S "Filter: description = Check_MK"
# Created by /omd/sites/mysite/bin/cmcdump -C -H Filter: host_address ~ 127 -S Filter: description = Check_MK

shadow_hosts.update({u'localhost3': {u'check_period': u'24X7', u'service_period': u'24X7', u'notifications_enabled': 1, u'check_command_expanded': u'check-mk-host-smart!', u'notification_interval': 0, u'process_performance_data': 0, u'notification_period': u'24X7', u'check_command': u'check-mk-host-smart', u'retry_interval': 0.1, u'contact_groups': [], u'flap_detection_enabled': 1, u'alias': u'localhost3', u'parents': [], u'check_interval': 0.1, u'address': u'127.0.0.1', 'services': [{u'check_period': u'24X7', u'service_period': u'24X7', u'notifications_enabled': 1, u'check_command_expanded': u'', u'description': u'Check_MK', u'notification_interval': 0, u'process_performance_data': 1, u'notification_period': u'24X7', u'check_command': u'check-mk', u'retry_interval': 1, u'contact_groups': [], u'check_interval': 1, u'custom_variables': {u'NOTIFY_SEVMAP': u'UNKNOWN: 4, CRITICAL: 3, OK: 5, WARNING: 3', u'EC_CONTACT': u'testservice'}, u'max_check_attempts': 1, u'groups': [], u'first_notification_delay': 0, u'flap_detection_enabled': 1}], u'max_check_attempts': 1, u'groups': [u'check_mk'], u'first_notification_delay': 0, u'custom_variables': {u'ADDRESS_FAMILY': u'4', u'TAGS': u'/wato/ add_ip_addresses_1 auto-piggyback cmk-agent ip-v4 ip-v4-only lan no-snmp prod site:mysite tcp', u'NOTIFY_HOST': u'test', u'ADDRESS_4': u'127.0.0.1', u'ADDRESS_6': u'', u'FILENAME': u'/wato/hosts.mk'}}, u'localhost2': {u'check_period': u'24X7', u'service_period': u'24X7', u'notifications_enabled': 1, u'check_command_expanded': u'check-mk-host-smart!', u'notification_interval': 0, u'process_performance_data': 0, u'notification_period': u'24X7', u'check_command': u'check-mk-host-smart', u'retry_interval': 0.1, u'contact_groups': [u'all'], u'flap_detection_enabled': 1, u'alias': u'localhost2', u'parents': [], u'check_interval': 0.1, u'address': u'127.0.0.1', 'services': [{u'check_period': u'24X7', u'service_period': u'24X7', u'notifications_enabled': 1, u'check_command_expanded': u'', u'description': u'Check_MK', u'notification_interval': 0, u'process_performance_data': 1, u'notification_period': u'24X7', u'check_command': u'check-mk', u'retry_interval': 1, u'contact_groups': [u'all'], u'check_interval': 1, u'custom_variables': {u'NOTIFY_SEVMAP': u'UNKNOWN: 4, CRITICAL: 3, OK: 5, WARNING: 3', u'EC_CONTACT': u'testservice'}, u'max_check_attempts': 1, u'groups': [], u'first_notification_delay': 0, u'flap_detection_enabled': 1}], u'max_check_attempts': 1, u'groups': [u'check_mk'], u'first_notification_delay': 0, u'custom_variables': {u'ADDRESS_FAMILY': u'4', u'TAGS': u'/wato/ add_ip_addresses_1 auto-piggyback cmk-agent ip-v4 ip-v4-only lan no-snmp prod site:mysite tcp', u'NOTIFY_HOST': u'test', u'ADDRESS_4': u'127.0.0.1', u'ADDRESS_6': u'', u'FILENAME': u'/wato/hosts.mk'}}, u'localhost': {u'check_period': u'24X7', u'service_period': u'24X7', u'notifications_enabled': 1, u'check_command_expanded': u'check-mk-host-smart!', u'notification_interval': 0, u'process_performance_data': 0, u'notification_period': u'24X7', u'check_command': u'check-mk-host-smart', u'retry_interval': 0.1, u'contact_groups': [u'all'], u'flap_detection_enabled': 1, u'alias': u'localhost', u'parents': [], u'check_interval': 0.1, u'address': u'127.0.0.1', 'services': [{u'check_period': u'24X7', u'service_period': u'24X7', u'notifications_enabled': 1, u'check_command_expanded': u'', u'description': u'Check_MK', u'notification_interval': 0, u'process_performance_data': 1, u'notification_period': u'24X7', u'check_command': u'check-mk', u'retry_interval': 1, u'contact_groups': [u'all'], u'check_interval': 1, u'custom_variables': {u'NOTIFY_SEVMAP': u'UNKNOWN: 4, CRITICAL: 3, OK: 5, WARNING: 3', u'EC_CONTACT': u'testservice'}, u'max_check_attempts': 1, u'groups': [], u'first_notification_delay': 0, u'flap_detection_enabled': 1}], u'max_check_attempts': 1, u'groups': [u'host'], u'first_notification_delay': 0, u'custom_variables': {u'ADDRESS_FAMILY': u'4', u'TAGS': u'/wato/ add_ip_addresses_1 auto-piggyback cmk-agent ip-v4 ip-v4-only lan no-snmp prod site:mysite tcp', u'NOTIFY_HOST': u'test', u'ADDRESS_4': u'127.0.0.1', u'ADDRESS_6': u'', u'FILENAME': u'/wato/hosts.mk'}}})

...

Code Block
languagebash
themeRDark
root@mylinuxhost:~# su - mysite -c 'cmcdump -C -H "Filter: host_address ~ 127" -S "Filter: description = Check_MK"> /tmp/remote.mk'
root@mylinuxhost:~# cp /tmp/remote.mk  /omd/sites/myremotesite/etc/check_mk/conf.d/
root@mylinuxhost:~# chown myremotesite. /omd/sites/myremotesite/etc/check_mk/conf.d/
root@mylinuxhost:# su - myremotesite -c 'cmk -O'
OMD[myremotesite]:~$ cmk -O
Generating configuration for core (type cmc)...OK
Packing config...OK
Reloading monitoring core...OK


All host overviewImage Modified


Create the state file

Code Block
languagebash
themeRDark
root@mylinuxhost:/omd/sites/myremotesite/etc/check_mk/conf.d# su - mysite -c 'cmcdump -H "Filter: host_address ~ 127" -S "Filter: description = Check_MK"> /tmp/remote.state'
root@mylinuxhost:/omd/sites/myremotesite/etc/check_mk/conf.d# cp /tmp/remote.state /omd/sites/myremotesite/tmp/
root@mylinuxhost:/omd/sites/myremotesite/etc/check_mk/conf.d# chown myremotesite. /omd/sites/myremotesite/tmp/remote.state 
root@mylinuxhost:/omd/sites/myremotesite/etc/check_mk/conf.d# su - myremotesite -c 'unixcat tmp/run/live < tmp/remote.state'


All host overviewImage Modified


 Overview of mysite01 focused on the Check_mk service with the status of OK.Image Modified

Two hosts and one service filters

Info

In this example, I will dump the config and two -H filter and only one -S filter. With -H, I will search for all hosts beginning with the IP-Address 127 and are a member of the contact group 'all'. To reduce the result, I only want the Checkmk Service from this host. After that, I will use the same command (without -C) to dump the state.

Create the config file

Code Block
languagebash
themeRDark
OMD[mysite]:~$ cmcdump -C -H "Filter: host_address ~ 127" -H "Filter: contact_groups ~ all" -S "Filter: description = Check_MK"
# Created by /omd/sites/mysite/bin/cmcdump -C -H Filter: host_address ~ 127 -H Filter: contact_groups ~ all -S Filter: description = Check_MK

shadow_hosts.update({u'localhost2': {u'process_performance_data': 0, u'custom_variables': {u'ADDRESS_FAMILY': u'4', u'TAGS': u'/wato/ add_ip_addresses_1 auto-piggyback cmk-agent ip-v4 ip-v4-only lan no-snmp prod site:mysite tcp', u'NOTIFY_HOST': u'test', u'ADDRESS_4': u'127.0.0.1', u'ADDRESS_6': u'', u'FILENAME': u'/wato/hosts.mk'}, u'check_period': u'24X7', u'notification_interval': 0, u'notification_period': u'24X7', u'retry_interval': 0.1, u'comments': [], u'parents': [], u'first_notification_delay': 0, u'flap_detection_enabled': 1, u'service_period': u'24X7', u'check_command_expanded': u'check-mk-host-smart!', u'notifications_enabled': 1, u'contact_groups': [u'all'], u'groups': [u'check_mk'], u'address': u'127.0.0.1', 'services': [{u'check_period': u'24X7', u'service_period': u'24X7', u'notifications_enabled': 1, u'check_command_expanded': u'', u'description': u'Check_MK', u'notification_interval': 0, u'process_performance_data': 1, u'notification_period': u'24X7', u'check_command': u'check-mk', u'retry_interval': 1, u'contact_groups': [u'all'], u'comments': [], u'check_interval': 1, u'custom_variables': {u'NOTIFY_SEVMAP': u'UNKNOWN: 4, CRITICAL: 3, OK: 5, WARNING: 3', u'EC_CONTACT': u'testservice'}, u'max_check_attempts': 1, u'groups': [], u'first_notification_delay': 0, u'flap_detection_enabled': 1}], u'check_command': u'check-mk-host-smart', u'alias': u'localhost2', u'check_interval': 0.1, u'max_check_attempts': 1}, u'localhost': {u'process_performance_data': 1, u'custom_variables': {u'ADDRESS_FAMILY': u'4', u'TAGS': u'/wato/ add_ip_addresses_1 auto-piggyback cmk-agent ip-v4 ip-v4-only lan no-snmp prod site:mysite tcp', u'NOTIFY_HOST': u'test', u'ADDRESS_4': u'127.0.0.1', u'ADDRESS_6': u'', u'FILENAME': u'/wato/hosts.mk'}, u'check_period': u'24X7', u'notification_interval': 0, u'notification_period': u'24X7', u'retry_interval': 1, u'comments': [149], u'parents': [], u'first_notification_delay': 0, u'flap_detection_enabled': 1, u'service_period': u'24X7', u'check_command_expanded': u'check-mk-host-ping!-w 200.00,80.00% -c 500.00,100.00%', u'notifications_enabled': 1, u'contact_groups': [u'all'], u'groups': [u'host'], u'address': u'127.0.0.1', 'services': [{u'check_period': u'24X7', u'service_period': u'24X7', u'notifications_enabled': 1, u'check_command_expanded': u'', u'description': u'Check_MK', u'notification_interval': 0, u'process_performance_data': 1, u'notification_period': u'24X7', u'check_command': u'check-mk', u'retry_interval': 1, u'contact_groups': [u'all'], u'comments': [], u'check_interval': 1, u'custom_variables': {u'NOTIFY_SEVMAP': u'UNKNOWN: 4, CRITICAL: 3, OK: 5, WARNING: 3', u'EC_CONTACT': u'testservice'}, u'max_check_attempts': 1, u'groups': [], u'first_notification_delay': 0, u'flap_detection_enabled': 1}], u'check_command': u'check-mk-host-ping', u'alias': u'localhost', u'check_interval': 1, u'max_check_attempts': 1}})

...

Code Block
languagebash
themeRDark
root@mylinuxhost:# su - mysite -c 'cmcdump -C -H "Filter: host_address ~ 127" -H "Filter: contact_groups ~ all" -S "Filter: description = Check_MK" >/tmp/remote.mk'
root@mylinuxhost:# cp /tmp/remote.mk /omd/sites/myremotesite/etc/check_mk/conf.d/
root@mylinuxhost:# chown myremotesite. /omd/sites/myremotesite/etc/check_mk/conf.d/
root@mylinuxhost:# su - myremotesite -c 'cmk -O'
Generating configuration for core (type cmc)...OK
Packing config...OK
Reloading monitoring core...OK


All host overview with both host in UP statusImage Modified


Create the state file

Code Block
languagebash
themeRDark
root@mylinuxhost:# su - mysite -c 'cmcdump  -H "Filter: host_address ~ 127" -H "Filter: contact_groups ~ all" -S "Filter: description = Check_MK" >/tmp/remote.state'
root@mylinuxhost:# cp /tmp/remote.state /omd/sites/myremotesite/tmp/
root@mylinuxhost:# chown myremotesite. /omd/sites/myremotesite/tmp/remote.state 
root@mylinuxhost:# su - myremotesite -c 'unixcat tmp/run/live < tmp/remote.state'


Multiple hosts and services in one query

Create the config file

Code Block
languagebash
themeRDark
root@mylinuxhost:# su - mysite -c 'cmcdump -C -H "Filter: host_name ~ (localhost$|Windows_Server)" -H "Filter: contact_groups ~ all" -S "Filter: description ~ (Check_MK$|CPU)">/tmp/remote.mk'
root@mylinuxhost:# cp /tmp/remote.mk  /omd/sites/myremotesite/etc/check_mk/conf.d/
root@mylinuxhost:# chown myremotesite. /omd/sites/myremotesite/etc/check_mk/conf.d/remote.mk 
root@mylinuxhost:# su - myremotesite -c 'cmk -O'
Generating configuration for core (type cmc)...OK
Packing config...OK
Reloading monitoring core...OK



Create the state file

Code Block
languagebash
themeRDark
root@mylinuxhost:# su - mysite -c 'cmcdump  -H "Filter: host_name ~ (localhost$|Windows_Server)" -H "Filter: contact_groups ~ all" -S "Filter: description ~ (Check_MK$|CPU)">/tmp/remote.state'
root@mylinuxhost:# cp /tmp/remote.state  /omd/sites/myremotesite/tmp/
root@mylinuxhost:# chown myremotesite. /omd/sites/myremotesite/tmp/remote.state 
root@mylinuxhost:# su - myremotesite -c 'unixcat tmp/run/live < tmp/remote.state'

...

Note

It's important to remember that the column names used for -H and -S need to be the same. With this command, you'll receive all columns names:

OMD[mysite]:~/bin$ lq "GET columns\nColumns: name\nFilter: table = hosts"

OMD[mysite]:~/bin$ lq "GET columns\nColumns: name\nFilter: table = services"


Use of different column names in Host and Service filters

Some examples:

Code Block
languagebash
themeRDark
root@mylinuxhost:# su - mysite -c 'cmcdump -C -O "Filter: name = localhost" -S "Filter: host_name = localhost"'
root@mylinuxhost:# su - mysite -c 'cmcdump  -O "Filter: name = localhost" -S "Filter: host_name = localhost"'

-> Here you will receive all services from localhost, while using the column name and host_name

root@mylinuxhost:# su - mysite -c 'cmcdump  -C -O "Filter: name = localhost" -S "Filter: host_name = localhost" -S "Filter: description = Check_MK"'
root@mylinuxhost:# su - mysite -c 'cmcdump  -O "Filter: name = localhost" -S "Filter: host_name = localhost" -S "Filter: description = Check_MK"'

-> Here you will receive the Checkmk service from localhost, while using the column name, host_name and descritpion

Here I use different column names from the host and service view!


Host check command

Note

If you use Smart-Ping, the hosts can become stale on the central site. In this case, please switch to normal Ping as host check command!

OMD Crontab

log in as a site user

Code Block
languagebash
themeRDark
root@mylinuxhost:# su mysite


Create the cron file

Code Block
languagebash
themeRDark
OMD[mysite]:~$ cd etc/cron.d/
OMD[mysite]:~$ touch FILENAME
OMD[mysite]:~$ vi Filename


A possible input of the file

Code Block
languagebash
themeRDark
*/1 * * * * scp config.mk central@mycentral.mydomain:etc/check_mk/conf.d/remote1.mk
*/1 * * * * sleep 30; cmcdump | ssh at@checkmk "unixcat tmp/run/live"

...

Note

You need to reload cron after every Change of the file.

Filter by label (Content by label)
showLabelsfalse
max5
spacesKB
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel in ( "cmcdump" , "distributed" ) and type = "page" and space = "KB"
labelscmcdump

...