To register agents, both for agent updates and for TLS encryption, it might be desirable to have a dedicated user and role at hand.
This article outlines how that can be achieved.
The UI way
The easiest way to build an agent registration role is by using the GUI and following these steps:
- Create a copy of the guest role and name it meaningfully.
- Ensure the role has the following permissions:
- "Use the GUI at all"
- "Register Host & download monitoring agents of your hosts",
- "Register all hosts & download all monitoring agents"
- Optionally you can disable all other permissions.
- Create a user with a meaningful name
- Configure the following things:
- Authentication: Automation Secret
- Assign the agent registration role created before
- Configure the following things:
The config file way
We always recommend using the GUI instead of modifying .mk files. For any issue or broken config, we do not provide any support.
In exceptional circumstances, you might want to adjust configuration files with caution. Please do a backup before adjusting the files.
- Pretty print the configuration for a better overview: Pretty-print the configuration files
Add the following section to the config file: ~/etc/check_mk/multisite.d/wato/roles.mk.
'agent_updater': {'alias': 'agents registration and download', 'basedon': None, 'builtin': True, 'permissions': {'general.see_all': True, 'general.use': True, 'wato.download_all_agents': True}}
In order to put it in the right place, please add a comma "," before the "})".
Agent Pairing for TLS Encryption
For a user to be able to do the cmk-agent-ctl register
, which is needed to enable the TLS encryption (available from 2.1.0 onwards), you have to add the following rights (internal name "general.agent_pairing") to their role.
- Agent pairing
- Read access to all hosts and folders
- Write access to all hosts and folders
In the end, the whole file should look like this:
# Written by Checkmk store roles.update({ 'admin': {'alias': 'Administrator', 'builtin': True, 'permissions': {}}, 'guest': {'alias': 'Guest user', 'builtin': True, 'permissions': {}}, 'user': {'alias': 'Normal monitoring user', 'builtin': True, 'permissions': {}}, 'agent_updater': {'alias': 'agents registration and download', 'basedon': None, 'builtin': True, 'permissions': {'general.see_all': True, 'general.use': True, 'wato.download_all_agents': True}}, 'agent_ctl': {'alias': 'Agent Controller', 'basedon': None, 'builtin': True, 'permissions': {'general.agent_pairing': True, 'general.use': True, 'wato.see_all_folders': True, 'wato.all_folders': True}} }) ~
Related articles