jkirk / ansible-role-checkmkagent

A simple role to deploy the Check_Mk Agent
0 stars 1 forks source link

Migrate from xinetd to systemd by default #13

Closed jkirk closed 10 months ago

jkirk commented 1 year ago

If a host has xinetd installed and its xinetd binary is available, then checkmk uses its integration. Only if systemd's systemctl is available and the xinetd binary isn't available, then systemd integration gets enabled and used.

So far, we have kept checkmk's default. Since upgrading to checkmk agent v2.2.0+, we decided to finally move to systemd integration. This will remove the xinetd configuration file that was deployed by the old "monitoring-client" role (and not by this role, in case anyone is looking for it).

Since Checkmk version 2.1.0 we the Agent Controller needs to register with the Agent Receiver. We can do that by setting checkmkagent_site, checkmkagent_user, checkmkagent_auth and checkmkagent_hostname.

We also make sure, that the systemd services cmk-agent-ctl-daemon.service, check-mk-agent.socket + check-mk-agent-async.service are enabled and started.

xinetd integration can be forced by setting the variable "checkmkagent_service_xinetd: true". Note, that the xinetd configuration will not be deployed and this only works if xinetd is installed.

Bumped the default checkmkagent_version to 2.2.0p9, our current latest checkmk version in use.

Closes: jkirk/ansible-role-checkmkagent#9

jkirk commented 1 year ago

@mika Anything obvious you can see?

mika commented 11 months ago

@mika Anything obvious you can see?

I'm not sure about the actual question, more than happy to look into the overall situation, if that's what you meant :)

jkirk commented 11 months ago

After reviewing the code again, the following points out to me: does the task "Register checkmk agent for TLS" run always? Does it cause a change? Do we need to / can we test if the agent has been registered?