Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/telekom-mms/ansible-collection-icinga
This collection offers an almost complete solution to set up your monitoring with Ansible and Icinga. From setting up the Icinga agent unto automating the deployment of the Icinga director, you can install the necessary tools from a single source.
https://github.com/telekom-mms/ansible-collection-icinga
ansible ansible-collection ansible-modules ansible-roles hacktoberfest icinga-agent icinga2 monitoring
Last synced: about 1 month ago
JSON representation
This collection offers an almost complete solution to set up your monitoring with Ansible and Icinga. From setting up the Icinga agent unto automating the deployment of the Icinga director, you can install the necessary tools from a single source.
- Host: GitHub
- URL: https://github.com/telekom-mms/ansible-collection-icinga
- Owner: telekom-mms
- Created: 2021-06-17T12:23:00.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-09T14:44:02.000Z (about 1 month ago)
- Last Synced: 2024-12-09T15:36:10.514Z (about 1 month ago)
- Topics: ansible, ansible-collection, ansible-modules, ansible-roles, hacktoberfest, icinga-agent, icinga2, monitoring
- Language: Jinja
- Homepage:
- Size: 287 KB
- Stars: 6
- Watchers: 9
- Forks: 8
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# Icinga Collection for Ansible
This Ansible collection contains:
1. A [role](roles/icinga_agent) to manage the Installation for your Icinga agents
2. A [role](roles/icinga_plugins) to deploy your custom check scripts to your Icinga agents
3. A [role](roles/icinga_downtime) to manage downtimes in your Icinga
3. The [collection](https://github.com/telekom-mms/ansible-collection-icinga-director) to deploy your Icinga master via the Icinga Director module
4. An extra [collection](https://github.com/telekom-mms/ansible-collection-icinga-business-process) to use the [Business Process module](https://github.com/Icinga/icingaweb2-module-businessprocess)
5. Ansible playbooks to create various objects in Icinga 2 using the director API
## Requirements
- Ansible version: 2.9.10
- Icinga package repository configured
- Note: for Redhat based Distributions you need to have install epel package repository too## Installation
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
```## Documentation
**icinga_agent role:**
Examples on how to use the role can be found [here](roles/icinga_agent/README.md)
**icinga_plugins role:**
Examples on how to use the role can be found [here](roles/icinga_plugins/README.md)
**icinga_director collection:**
Check out the 'Documentation' part for the modules [here](https://github.com/telekom-mms/ansible-collection-icinga-director#documentation)
**icinga_business_process collection:**
Check out the 'Documentation' part for this collection [here](https://github.com/telekom-mms/ansible-collection-icinga-business-process/blob/master/roles/ansible_icinga_business_process/README.md)
**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](https://gist.github.com/rndmh3ro/e9abbca17a4d39597443176f99d585ae) needs to exist in the [PluginDir](https://icinga.com/docs/icinga-2/latest/doc/04-configuration/#constants-conf) on your Icinga Server or Agent
| check_gitlab_scheduler.yml | check gitlab scheduled pipelines | [check_gitlab_scheduler](https://github.com/telekom-mms/check_gitlab_scheduler/) needs to exist in the [PluginDir](https://icinga.com/docs/icinga-2/latest/doc/04-configuration/#constants-conf) 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](https://github.com/c-kr/check_json) needs to exist in the [PluginDir](https://icinga.com/docs/icinga-2/latest/doc/04-configuration/#constants-conf) on your Icinga Server or Agent
| check_json_azure_restapi.yml | do a json check against azure restapi (with oauth_token) | [check_json.pl](https://github.com/c-kr/check_json) needs to exist in the [PluginDir](https://icinga.com/docs/icinga-2/latest/doc/04-configuration/#constants-conf) on your Icinga Server or Agent
| check_json.yml | do a json check | [check_json.pl](https://github.com/c-kr/check_json) needs to exist in the [PluginDir](https://icinga.com/docs/icinga-2/latest/doc/04-configuration/#constants-conf) 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
```## License
GPLv3
## Author Information
* Christopher Grau
* Daniel Uhlmann
* Contributors from [ansible-collection-icinga-director ](https://github.com/telekom-mms/ansible-collection-icinga-director/graphs/contributors)
* Contributors from [ansible-collection-icinga-business-process](https://github.com/telekom-mms/ansible-collection-icinga-business-process/graphs/contributors)