Agent registration on cloned systems

Hi,
I have a question regarding the agent registration of hosts, that are regularly being “deployed” from a golden master image. We use Citrix XenApp and have there a golden master, where we install all applications as well as the CMK-Agent. This master image is the “deployed/cloned” to multiple windows server, that boot from that image, and then apply their own settings like hostname or ip address.
If I install and register CMK Agent on the master, the cloned servers tell me, that the host was not registered. Seems to be correct, but there is no way I could do this, because cloning and starting is an automated process that could happen every day.
Is there a solution for this?

CMK version:2.2.0p16
OS version:Debian bookworm 12.2
Error message: [agent] Agent controller not registered(!!)
Output of “cmk --debug -vvn hostname”:

Checkmk version 2.2.0p16
+ FETCHING DATA
  Source: SourceInfo(hostname='server116', ipaddress='xxx.xxx.xxx.116', ident='agent', fetcher_type=<FetcherType.TCP: 8>, source_type=<SourceType.HOST: 1>)
[cpu_tracking] Start [7fbba7a6c750]
Read from cache: AgentFileCache(server116, path_template=/omd/sites/sitename/tmp/check_mk/cache/{hostname}, max_age=MaxAge(checking=0, discovery=270.0, inventory=270.0), simulation=False, use_only_cache=False, file_cache_mode=6)
Not using cache (does not exist)
[TCPFetcher] Execute data source
Connecting via TCP to xxx.xxx.xxx.116:6556 (5.0s timeout)
Detected transport protocol: TransportProtocol.TLS (b'16')
Closing TCP connection to xxx.xxx.xxx.116:6556
[cpu_tracking] Stop [7fbba7a6c750 - Snapshot(process=posix.times_result(user=0.0, system=0.0, children_user=0.0, children_system=0.0, elapsed=0.0))]
  Source: SourceInfo(hostname='server116', ipaddress='xxx.xxx.xxx.116', ident='piggyback', fetcher_type=<FetcherType.PIGGYBACK: 4>, source_type=<SourceType.HOST: 1>)
[cpu_tracking] Start [7fbba7a6da10]
Read from cache: NoCache(server116, path_template=/dev/null, max_age=MaxAge(checking=0.0, discovery=0.0, inventory=0.0), simulation=False, use_only_cache=False, file_cache_mode=1)
[cpu_tracking] Stop [7fbba7a6da10 - Snapshot(process=posix.times_result(user=0.0, system=0.0, children_user=0.0, children_system=0.0, elapsed=0.010000001639127731))]
+ PARSE FETCHER RESULTS
<<<esx_vsphere_vm:cached(1703241185,270)>>> / Transition NOOPParser -> HostSectionParser
<<<esx_vsphere_vm:cached(1703241081,270)>>> / Transition HostSectionParser -> HostSectionParser
<<<veeam_client:cached(1703241078,270):sep(9)>>> / Transition HostSectionParser -> HostSectionParser
<<<labels:sep(0)>>> / Transition HostSectionParser -> HostSectionParser
  HostKey(hostname='server116', source_type=<SourceType.HOST: 1>)  -> Not adding sections: Agent controller not registered
  HostKey(hostname='server116', source_type=<SourceType.HOST: 1>)  -> Add sections: ['esx_vsphere_vm', 'labels', 'veeam_client']
Received no piggyback data
[cpu_tracking] Start [7fbba7aa7850]
value store: synchronizing
Trying to acquire lock on /omd/sites/sitename/tmp/check_mk/counters/server116
Got lock on /omd/sites/sitename/tmp/check_mk/counters/server116
value store: loading from disk
Releasing lock on /omd/sites/sitename/tmp/check_mk/counters/server116
Released lock on /omd/sites/sitename/tmp/check_mk/counters/server116
ESX CPU              demand is 0.803 Ghz, 4 virtual CPUs
ESX Datastores       Stored on VMstore (22.0 TiB/17.0% free)
ESX Guest Tools      VMware Tools are installed and the version is current
ESX Heartbeat        Heartbeat status is green
ESX Hostsystem       Running on server144.int.sitename.de
ESX Memory           Host: 17.4 GiB, Guest: 2.88 GiB, Ballooned: 0 B, Private: 17.2 GiB, Shared: 0 B
ESX Mounted Devices  HA functionality guaranteed
ESX Name             server116
ESX Snapshots        Count: 0
[cpu_tracking] Stop [7fbba7aa7850 - Snapshot(process=posix.times_result(user=0.010000000000000009, system=0.0, children_user=0.0, children_system=0.0, elapsed=0.010000001639127731))]
[agent] Agent controller not registered(!!), [piggyback] Successfully processed from source 'server144', Successfully processed from source 'server140', Successfully processed from source 'server82', Piggyback file too old: 6 h, execution time 0.0 sec | execution_time=0.020 user_time=0.010 system_time=0.000 children_user_time=0.000 children_system_time=0.000 cmk_time_agent=0.010```

I know a lot want to do this but its really a bad idea to have the agent in the golden image. preferably you should install it with SCCM (That can also have issues if you don’t handle UUID correctly)

We have a PS1 script that handles the installation and the registration and we let SCCM run this.

You can have the agent installed in a VM template.
After deployment the command line can be used to register the agent for TLS and possibly the agent updater. This can be fully automated.

cmk-agent-ctl.exe register --help

check_mk_agent.exe updater register --help

Thanks for the hint, I’ll try to implement it in a startup script or scheduled task.
I can’t test with SCCM as we don’t use it.

Thanks again for your help, I created a simple Powershellscript with the needed parameters that is executed by a scheduled task at system startup.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact an admin if you think this should be re-opened.