Checkmk already provides the needed APIs to automate the configuration of your monitoring. With this project we want to create and share modules and roles for Ansible to simplify your first steps with automating Checkmk through Ansible.
This is a work in progress! Do not use unless you know what you are doing!
Everything within this repository is subject to possibly heavy change
and we cannot guarantee any stability at this point. You have been warned!
This repository is a successor to ansible-checkmk in a way, that we take the idea of the initial repository and translate it into todays format. We will try to keep you posted as best as we can. Also, keep an eye on this Checkmk forum post for updates.
Please be aware, that although the content in this repository is maintained and curated by tribe29, this is fully open source and there is no commercial support to this whatsoever! We are happy to welcome you in our Checkmk Community or to look at issues you create, but this is still a side project and we can only work on this on a best effort basis.
For information about the structure and organization of this repository have a look at STRUCTURE.md.
Name | Description |
---|---|
tribe29.checkmk.activation | Activate changes. |
tribe29.checkmk.discovery | Discover services. |
tribe29.checkmk.folder | Manage folders. |
tribe29.checkmk.host | Manage hosts. |
You can install the Checkmk collection locally, if you acquired a tarball for offline installation as follows:
ansible-galaxy collection install /path/to/tribe29-checkmk-X.Y.Z.tar.gz
You can also include it in a requirements.yml
file using the format:
---
collections:
- source: /path/to/tribe29-checkmk-X.Y.Z.tar.gz
type: file
and install it with ansible-galaxy collection install -r requirements.yml
.
You can install the Checkmk collection with the Ansible Galaxy CLI:
ansible-galaxy collection install tribe29.checkmk
You can also include it in a requirements.yml
file and install it with
ansible-galaxy collection install -r requirements.yml
, using the format:
---
collections:
- name: tribe29.checkmk
You can either call modules by their Fully Qualified Collection Namespace (FQCN),
such as tribe29.checkmk.activation
, or you can call modules by their short name
if you list the tribe29.checkmk
collection in the playbook's collections
keyword:
---
- hosts: all
collections:
- tribe29.checkmk
tasks:
- name: "Run activation."
activation:
server_url: "http://localhost/"
site: "my_site"
automation_user: "automation"
automation_secret: "$SECRET"
force_foreign_changes: 'true'
We welcome community contributions to this collection. If you find problems, please open an issue or create a PR against the tribe29 Checkmk collection repository. See Contributing to Ansible-maintained collections for more details on how to contribute.
You can also join our Checkmk Community and have a look at the dedicated post regarding Ansible.
See CHANGELOG.rst.
This is merely a collection of possible additions to the role. Please do not consider a concrete planning document for the near future!
- Modules
- Monitoring
- Acknowledgement
- Downtime
- Setup
- Agents
- BI
- Contact Groups
- Host Groups
- Host Tag Groups
- Passwords
- Service Groups
- Time Periods
- Users
- Monitoring
- Lookup Plugins
- Version
- Ansible Collection overview
- Ansible User guide
- Ansible Developer guide
- Ansible Community code of conduct
To be done.