Ansible Integration
The CMDB Syncer contains Ansible Endpoints and a set of Ansible Playbooks. As of now, you can basically controll all of your own playbooks with rule based variables from the syncer, or use the providedd ones for Update and Register of Checkmk Agents (Linux/ Windows) or the Managementt and Installation of Checkmk Sites on your Servers.
Config Tricks
If you want to refer to Passwords in your Syncer Configuration, you can use an Integrated Marco called ACCOUNT who connects you to every Field which you can set in the Account config. The Syntax is MACRONAME:ACCOUNTNAME:FIELDNAME.
Therefore , to get the Password of account cmk, it would look like:
{{ACCOUNT:cmk:password}}
General
Inside the Ansible subfolder, you will find a set of inventory plugins for Ansible. These are for use with the ansible-playbook command, behind the -i parameter.
As of now, these are:
File | Description |
---|---|
inventory | General Inventory source for local installation |
docker_inventory | Inventory source when running in docker |
rest_inventory | Example for Inventory Source using the Rest API of Syncer |
cmk_server_inventory | Special source for use with the cmk_server_mngm.yml playbook |
cmk_server_docker_inventory | Like above |
Also you find two playbooks and two roles:
File | Description |
---|---|
cmk_agent_mngmt.yml | The complete Managment of the Agent Installations of Checkmk |
cmk_server_mngmnt.yml | The Update and Installation of Checkmk Sites and Versions. |
From here you can copy and adapt these scripts to your need (when so, prefix with local_) or just use the provided ones.
Use the Ansible Playbooks directly inside Syncer
If you not have an Ansible installation or the Ansible Knowledge, you can just run the included stuff from inside the Syncers Folder. Just make sure to install the additional requirements at the first time: pip install -r ./ansible/requirements.txt
After that, the Workfloww is:
- Change into the CMDB Syncer Directory
- Load his environment (source ENV/bin/activate)
- Change to the ansible subdir: cd ./ansible
- You are Ready
Remote Installation
If you want to use the Syncers script, but from adifferentt server and to connectt via Rest API, these are the Steps:
- Checkout the Repo
- Copy the Inventory File: cp rest_inventory local_rest_inventory
- Edit the File and set the URL (beware of Proxy) to the Syncer Installation, and set a Secret:
-
The Secret is set up in the Account:
- You are Ready
Run Ansible
You can run Ansible now with the wanted Play books. I would recommend to always check with the debug_host feature of the Ansible Module, which Variables are set. From here one, it's normal ansible:
ansible-playbook -i INVENTORY_SOURCE --limit somehost cmk_agent_mngmt.yml