zabbix: add task to add hosts to zabbix hostgroup

Signed-off-by: David Kirwan <davidkirwanirl@gmail.com>
This commit is contained in:
David Kirwan 2024-02-13 11:40:29 +00:00
parent 4accba8e8f
commit 0191fd7574
No known key found for this signature in database
GPG key ID: A5893AB6474AC37D
7 changed files with 21 additions and 8 deletions

View file

@ -54,6 +54,6 @@ num_cpus: 16
primary_auth_source: ipa
virt_install_command: "{{ virt_install_command_two_nic_unsafe }}"
zabbix_templates:
- "zabbix_templates/releng_compose_cronjobs.json"
zabbix_hostgroups:
- "fedora releng compose"
- group: "releng_compose"
template: "zabbix_templates/releng_compose_cronjobs.json"
hostgroup: "fedora releng compose"

View file

@ -1,2 +1 @@
---

View file

@ -1 +1 @@
{"zabbix_export": {"version": "6.0", "groups": [{"uuid": "af934cec1c964e258b594fcd6a7b7d94", "name": "fedora releng compose"}], "templates": [{"uuid": "531f46e0cdf746fe912725a078e12906", "template": "fedora releng compose cronjobs", "name": "fedora releng compose cronjobs", "groups": [{"name": "fedora releng compose"}], "items": [{"uuid": "15ac1ea981a24ad8a088ca5fb94d6823", "name": "branched compose cronjob stalled", "type": "ZABBIX_ACTIVE", "key": "vfs.file.exists[/tmp/fedora-compose-branched]", "history": "7d", "triggers": [{"uuid": "61cb60bf4da449b28bf829a13d59ba4d", "expression": "last(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-branched])=1 and min(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-branched],1h)>0", "name": "branched cronjob stalled", "priority": "HIGH"}]}, {"uuid": "cfa6ce06960a4be1a000d8560b3e1658", "name": "clean-amis compose cronjob stalled", "type": "ZABBIX_ACTIVE", "key": "vfs.file.exists[/tmp/fedora-compose-clean-amis]", "history": "7d", "triggers": [{"uuid": "52c8525754c641828ac4c6c1078ee5c9", "expression": "last(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-clean-amis])=1 and min(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-clean-amis],1h)>0", "name": "clean-amis cronjob stalled", "priority": "HIGH"}]}, {"uuid": "ee1849d8d93f49628ae11133a20d1df1", "name": "cloud-updates compose cronjob stalled", "type": "ZABBIX_ACTIVE", "key": "vfs.file.exists[/tmp/fedora-compose-cloud-updates]", "history": "7d", "triggers": [{"uuid": "260c4be3796d4baabcdd875762e5ff8e", "expression": "last(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-cloud-updates])=1 and min(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-cloud-updates],1h)>0", "name": "cloud-updates cronjob stalled", "priority": "HIGH"}]}, {"uuid": "52a300297cef4360b37744d9fa0317e6", "name": "container-updates compose cronjobs stalled", "type": "ZABBIX_ACTIVE", "key": "vfs.file.exists[/tmp/fedora-compose-container-updates]", "history": "7d", "triggers": [{"uuid": "1956f365f8fe4dccbe2997f4abf37525", "expression": "last(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-container-updates])=1 and min(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-container-updates],1h)>0", "name": "container-updates cronjob stalled", "priority": "HIGH"}]}, {"uuid": "7a48d07aabe64a2d90d21c4683f26273", "name": "ftbfs.cron compose cronjob stalled", "type": "ZABBIX_ACTIVE", "key": "vfs.file.exists[/tmp/fedora-compose-cronjob-ftbts.cron]", "history": "7d", "triggers": [{"uuid": "6005b333de1d4f798504a480102e9fe8", "expression": "last(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-cronjob-ftbts.cron])=1 and min(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-cronjob-ftbts.cron],1h)>0", "name": "ftbts.cron cronjob stalled", "priority": "HIGH"}]}, {"uuid": "664567affc5849aeae31eefb05708cdd", "name": "rawhide-iot compose cronjob stalled", "type": "ZABBIX_ACTIVE", "key": "vfs.file.exists[/tmp/fedora-compose-rawhide-iot]", "history": "7d", "triggers": [{"uuid": "8f1a97314c904e6baebcd1c84028b5e0", "expression": "last(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-rawhide-iot])=1 and min(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-rawhide-iot],1h)>0", "name": "rawhide-iot cronjob stalled", "priority": "HIGH"}]}, {"uuid": "e2f7a76ff6db47edb54c536380e196ef", "name": "rawhide compose cronjob stalled", "type": "ZABBIX_ACTIVE", "key": "vfs.file.exists[/tmp/fedora-compose-rawhide]", "history": "7d", "triggers": [{"uuid": "65ae2d09344f4c49ae32683b27751994", "expression": "last(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-rawhide])=1 and min(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-rawhide],1h)>0", "name": "rawhide cronjob stalled", "priority": "HIGH"}]}, {"uuid": "1cf6d1bb895346e3b7fe109d2c37b75b", "name": "sig_policy compose cronjob stalled", "type": "ZABBIX_ACTIVE", "key": "vfs.file.exists[/tmp/fedora-compose-sig_policy]", "history": "7d", "triggers": [{"uuid": "8fcf1caf5197439592d9d3128fa29eaa", "expression": "last(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-sig_policy])=1 and min(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-sig_policy],1h)>0", "name": "sig_policy cronjob stalled", "priority": "HIGH"}]}]}]}}
{"zabbix_export": {"version": "6.0", "groups": [{"uuid": "af934cec1c964e258b594fcd6a7b7d94", "name": "fedora releng compose"}], "templates": [{"uuid": "531f46e0cdf746fe912725a078e12906", "template": "fedora releng compose cronjobs", "name": "fedora releng compose cronjobs", "groups": [{"name": "fedora releng compose"}], "items": [{"uuid": "15ac1ea981a24ad8a088ca5fb94d6823", "name": "branched compose cronjob stalled", "type": "ZABBIX_ACTIVE", "key": "vfs.file.exists[/tmp/fedora-compose-branched]", "history": "7d", "triggers": [{"uuid": "61cb60bf4da449b28bf829a13d59ba4d", "expression": "last(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-branched])=1 and min(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-branched],8h)>0", "name": "branched cronjob stalled", "priority": "HIGH"}]}, {"uuid": "cfa6ce06960a4be1a000d8560b3e1658", "name": "clean-amis compose cronjob stalled", "type": "ZABBIX_ACTIVE", "key": "vfs.file.exists[/tmp/fedora-compose-clean-amis]", "history": "7d", "triggers": [{"uuid": "52c8525754c641828ac4c6c1078ee5c9", "expression": "last(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-clean-amis])=1 and min(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-clean-amis],8h)>0", "name": "clean-amis cronjob stalled", "priority": "HIGH"}]}, {"uuid": "ee1849d8d93f49628ae11133a20d1df1", "name": "cloud-updates compose cronjob stalled", "type": "ZABBIX_ACTIVE", "key": "vfs.file.exists[/tmp/fedora-compose-cloud-updates]", "history": "7d", "triggers": [{"uuid": "260c4be3796d4baabcdd875762e5ff8e", "expression": "last(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-cloud-updates])=1 and min(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-cloud-updates],8h)>0", "name": "cloud-updates cronjob stalled", "priority": "HIGH"}]}, {"uuid": "52a300297cef4360b37744d9fa0317e6", "name": "container-updates compose cronjobs stalled", "type": "ZABBIX_ACTIVE", "key": "vfs.file.exists[/tmp/fedora-compose-container-updates]", "history": "7d", "triggers": [{"uuid": "1956f365f8fe4dccbe2997f4abf37525", "expression": "last(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-container-updates])=1 and min(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-container-updates],8h)>0", "name": "container-updates cronjob stalled", "priority": "HIGH"}]}, {"uuid": "7a48d07aabe64a2d90d21c4683f26273", "name": "ftbfs.cron compose cronjob stalled", "type": "ZABBIX_ACTIVE", "key": "vfs.file.exists[/tmp/fedora-compose-cronjob-ftbts.cron]", "history": "7d", "triggers": [{"uuid": "6005b333de1d4f798504a480102e9fe8", "expression": "last(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-cronjob-ftbts.cron])=1 and min(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-cronjob-ftbts.cron],8h)>0", "name": "ftbts.cron cronjob stalled", "priority": "HIGH"}]}, {"uuid": "664567affc5849aeae31eefb05708cdd", "name": "rawhide-iot compose cronjob stalled", "type": "ZABBIX_ACTIVE", "key": "vfs.file.exists[/tmp/fedora-compose-rawhide-iot]", "history": "7d", "triggers": [{"uuid": "8f1a97314c904e6baebcd1c84028b5e0", "expression": "last(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-rawhide-iot])=1 and min(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-rawhide-iot],8h)>0", "name": "rawhide-iot cronjob stalled", "priority": "HIGH"}]}, {"uuid": "e2f7a76ff6db47edb54c536380e196ef", "name": "rawhide compose cronjob stalled", "type": "ZABBIX_ACTIVE", "key": "vfs.file.exists[/tmp/fedora-compose-rawhide]", "history": "7d", "triggers": [{"uuid": "65ae2d09344f4c49ae32683b27751994", "expression": "last(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-rawhide])=1 and min(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-rawhide],8h)>0", "name": "rawhide cronjob stalled", "priority": "HIGH"}]}, {"uuid": "1cf6d1bb895346e3b7fe109d2c37b75b", "name": "sig_policy compose cronjob stalled", "type": "ZABBIX_ACTIVE", "key": "vfs.file.exists[/tmp/fedora-compose-sig_policy]", "history": "7d", "triggers": [{"uuid": "8fcf1caf5197439592d9d3128fa29eaa", "expression": "last(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-sig_policy])=1 and min(/fedora releng compose cronjobs/vfs.file.exists[/tmp/fedora-compose-sig_policy],8h)>0", "name": "sig_policy cronjob stalled", "priority": "HIGH"}]}]}]}}

View file

@ -0,0 +1,10 @@
---
- name: Create host groups
community.zabbix.zabbix_host:
host_name: "{{ inventory_hostname }}"
host_groups: "{{ item['hostgroup']}}"
link_templates: "{{ item['template'] }}"
force: false
with_items: "{{ zabbix_templates }}"
tags:
- zabbix_add_hosts_to_hostgroups

View file

@ -3,7 +3,7 @@
# set task level variables as we change ansible_connection plugin here
community.zabbix.zabbix_group:
state: present
host_groups: "{{ item }}"
with_items: "{{ zabbix_hostgroups }}" # Hostgroups specific to an ansible group can be overridden in inventory/group_vars/group_name
host_groups: "{{ item['hostgroup'] }}"
with_items: "{{ zabbix_templates }}" # Hostgroups specific to an ansible group can be overridden in inventory/group_vars/group_name
tags:
- zabbix_hostgroups

View file

@ -19,3 +19,7 @@
- include_tasks: hostgroups.yml
tags:
- zabbix_hostgroups
- include_tasks: add_hosts_to_hostgroups.yml
tags:
- zabbix_add_hosts_to_hostgroups

View file

@ -14,7 +14,7 @@
- name: Import Zabbix templates from JSON
community.zabbix.zabbix_template:
template_json: "{{ lookup('file', item ) }}"
template_json: "{{ lookup('file', item['template'] ) }}"
state: present
with_items: "{{ zabbix_templates }}" # Templates specific to an ansible group, can be overwridden in inventory/group_vars/group_name
tags: