zabbix: add zabbix_templates role

Signed-off-by: David Kirwan <davidkirwanirl@gmail.com>
This commit is contained in:
David Kirwan 2024-02-12 13:44:06 +00:00
parent ff6fb2bc6c
commit ec7bdacff2
No known key found for this signature in database
GPG key ID: A5893AB6474AC37D
7 changed files with 46 additions and 1 deletions

View file

@ -16,6 +16,6 @@
kt_location:
"/etc/openshift_apps/zabbix/zabbix_server.kt"
service: "zabbix"
host: "{{ communishift_ocp_api_hostname }}"
host: "{{ (env == 'staging')|ternary(zabbix_stg_hostname, zabbix_hostname) }}"
tags:
- create-keytab

View file

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

View file

@ -0,0 +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"}]}]}]}}

View file

@ -0,0 +1,5 @@
---
- include_tasks: templates.yml
tags:
- zabbix_templates

View file

@ -0,0 +1,34 @@
---
- name: Set API token
tags: always
set_fact:
ansible_zabbix_auth_key: "{{ (env == 'staging')|ternary(zabbix_stg_apikey, zabbix_apikey) }}"
ansible_network_os: community.zabbix.zabbix
ansible_connection: httpapi
ansible_httpapi_port: 443
ansible_httpapi_use_ssl: true
ansible_httpapi_validate_certs: false
ansible_host: "{{ (env == 'staging')|ternary(zabbix_stg_hostname, zabbix_hostname) }}"
ansible_zabbix_url_path: "" # If Zabbix WebUI runs on non-default (zabbix) path ,e.g. http://<FQDN>/zabbixeu
#- name: Get Zabbix template as JSON
# community.zabbix.zabbix_template_info:
# template_name: fedora releng compose cronjobs
# format: json
# omit_date: yes
# register: zabbix_template_json
#- name: Write Zabbix templte to JSON file
# local_action:
# module: copy
# content: "{{ zabbix_template_json['template_json'] }}"
# dest: "roles/zabbix_server/files/zabbix_templates/releng_compose_cronjobs.json"
- name: Import Zabbix templates from JSON
community.zabbix.zabbix_template:
template_json: "{{ lookup('file', item }}"
state: present
with_items: "{{ zabbix_templates }}" # Templates specific to an ansible group, can be overwridden in inventory/group_vars/group_name
tags:
- zabbix_templates