This Ansible collection contains:
A role to manage the Installation for your Icinga agents
A role to deploy your custom check scripts to your Icinga agents
A role to manage downtimes in your Icinga
The collection to deploy your Icinga master via the Icinga Director module
An extra collection to use the Business Process module
Ansible playbooks to create various objects in Icinga 2 using the director API
If you use an older version, you can install it with Ansible Galaxy:
ansible-galaxy collection install telekom_mms.ansible_collection_icinga
Alternatively put the collection into a requirements.yml
file:
---
collections:
- telekom_mms.ansible_collection_icinga
icinga_agent role:
Examples on how to use the role can be found here
icinga_plugins role:
Examples on how to use the role can be found here
icinga_director collection:
Check out the 'Documentation' part for the modules here
icinga_business_process collection:
Check out the 'Documentation' part for this collection here
icinga playbooks:
playbook | description | Requirements |
---|---|---|
mms_standard.yml | create a timeperiod and service template to use for other checks | - |
azure_oauth_token.yml | get azure oauth token to use in other checks | azure_oauth_token.py needs to exist in the PluginDir on your Icinga Server or Agent |
check_gitlab_scheduler.yml | check gitlab scheduled pipelines | check_gitlab_scheduler needs to exist in the PluginDir on your Icinga Server or Agent |
check_https.yml | check https reachability and certificates | - |
check_json_azure_restapi_resourcehealth.yml | check state of azure resourcehealth | check_json.pl needs to exist in the PluginDir on your Icinga Server or Agent |
check_json_azure_restapi.yml | do a json check against azure restapi (with oauth_token) | check_json.pl needs to exist in the PluginDir on your Icinga Server or Agent |
check_json.yml | do a json check | check_json.pl needs to exist in the PluginDir on your Icinga Server or Agent |
template_empty_host.yml | create a host template for an empty host | - |
You can use these playbooks in your playbook like this:
- name: Import mms standard playbook to create services that other checks depend on
ansible.builtin.import_playbook: telekom_mms.ansible_collection_icinga.mms_standard
- name: Import playbook to create azure oauth token check
ansible.builtin.import_playbook: telekom_mms.ansible_collection_icinga.check_azure_oauth_token
- name: Import playbook to create gitlab_scheduler check
ansible.builtin.import_playbook: telekom_mms.ansible_collection_icinga.check_gitlab_scheduler
- name: Import playbook to create check_https checks
ansible.builtin.import_playbook: telekom_mms.ansible_collection_icinga.check_https
Or call them from the command line:
ansible-playbook telekom_mms.ansible_collection_icinga.mms_standard
ansible-playbook telekom_mms.ansible_collection_icinga.check_azure_oauth_token
ansible-playbook telekom_mms.ansible_collection_icinga.check_gitlab_scheduler
ansible-playbook telekom_mms.ansible_collection_icinga.check_https
ansible-playbook telekom_mms.ansible_collection_icinga.check_json
ansible-playbook telekom_mms.ansible_collection_icinga.check_json_azure_restapi
ansible-playbook telekom_mms.ansible_collection_icinga.check_json_azure_restapi_resourcehealth
ansible-playbook telekom_mms.ansible_collection_icinga.template_empty_host
GPLv3