diff --git a/inventory/group_vars/releng_compose b/inventory/group_vars/releng_compose index e686ab9b2a..b9cf863eb7 100644 --- a/inventory/group_vars/releng_compose +++ b/inventory/group_vars/releng_compose @@ -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" diff --git a/roles/zabbix/zabbix_templates/defaults/main.yml b/roles/zabbix/zabbix_templates/defaults/main.yml index cd21505a47..ed97d539c0 100644 --- a/roles/zabbix/zabbix_templates/defaults/main.yml +++ b/roles/zabbix/zabbix_templates/defaults/main.yml @@ -1,2 +1 @@ --- - diff --git a/roles/zabbix/zabbix_templates/files/zabbix_templates/releng_compose_cronjobs.json b/roles/zabbix/zabbix_templates/files/zabbix_templates/releng_compose_cronjobs.json index 8fc6c92eeb..d1363b2663 100644 --- a/roles/zabbix/zabbix_templates/files/zabbix_templates/releng_compose_cronjobs.json +++ b/roles/zabbix/zabbix_templates/files/zabbix_templates/releng_compose_cronjobs.json @@ -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"}]}]}]}} \ No newline at end of file +{"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"}]}]}]}} diff --git a/roles/zabbix/zabbix_templates/tasks/add_hosts_to_hostgroups.yml b/roles/zabbix/zabbix_templates/tasks/add_hosts_to_hostgroups.yml new file mode 100644 index 0000000000..238ee42ddb --- /dev/null +++ b/roles/zabbix/zabbix_templates/tasks/add_hosts_to_hostgroups.yml @@ -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 diff --git a/roles/zabbix/zabbix_templates/tasks/hostgroups.yml b/roles/zabbix/zabbix_templates/tasks/hostgroups.yml index 698f071061..088c1a6c44 100644 --- a/roles/zabbix/zabbix_templates/tasks/hostgroups.yml +++ b/roles/zabbix/zabbix_templates/tasks/hostgroups.yml @@ -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 diff --git a/roles/zabbix/zabbix_templates/tasks/main.yml b/roles/zabbix/zabbix_templates/tasks/main.yml index 20a25cda45..11890bb9d9 100644 --- a/roles/zabbix/zabbix_templates/tasks/main.yml +++ b/roles/zabbix/zabbix_templates/tasks/main.yml @@ -19,3 +19,7 @@ - include_tasks: hostgroups.yml tags: - zabbix_hostgroups + +- include_tasks: add_hosts_to_hostgroups.yml + tags: + - zabbix_add_hosts_to_hostgroups diff --git a/roles/zabbix/zabbix_templates/tasks/templates.yml b/roles/zabbix/zabbix_templates/tasks/templates.yml index 38279013fb..e094bb319f 100644 --- a/roles/zabbix/zabbix_templates/tasks/templates.yml +++ b/roles/zabbix/zabbix_templates/tasks/templates.yml @@ -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: