diff --git a/inventory/group_vars/releng_compose b/inventory/group_vars/releng_compose index 4eaad7abce..164a61d055 100644 --- a/inventory/group_vars/releng_compose +++ b/inventory/group_vars/releng_compose @@ -53,3 +53,5 @@ nrpe_procs_warn: 900 num_cpus: 16 primary_auth_source: ipa virt_install_command: "{{ virt_install_command_two_nic_unsafe }}" +zabbix_templates: + - zabbix_templates/releng_compose_cronjobs.json diff --git a/playbooks/groups/releng-compose.yml b/playbooks/groups/releng-compose.yml index 0851cbc807..83354bd8b9 100644 --- a/playbooks/groups/releng-compose.yml +++ b/playbooks/groups/releng-compose.yml @@ -29,6 +29,7 @@ - rkhunter - nagios_client - zabbix/zabbix_agent + - zabbix/zabbix_templates - collectd/base - sudo - role: keytab/service diff --git a/roles/zabbix/zabbix_server/tasks/create_keytab.yml b/roles/zabbix/zabbix_server/tasks/create_keytab.yml index 8d88d1824e..8048a8f712 100644 --- a/roles/zabbix/zabbix_server/tasks/create_keytab.yml +++ b/roles/zabbix/zabbix_server/tasks/create_keytab.yml @@ -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 diff --git a/roles/zabbix/zabbix_templates/defaults/main.yml b/roles/zabbix/zabbix_templates/defaults/main.yml new file mode 100644 index 0000000000..cd21505a47 --- /dev/null +++ b/roles/zabbix/zabbix_templates/defaults/main.yml @@ -0,0 +1,2 @@ +--- + 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 new file mode 100644 index 0000000000..8fc6c92eeb --- /dev/null +++ b/roles/zabbix/zabbix_templates/files/zabbix_templates/releng_compose_cronjobs.json @@ -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"}]}]}]}} \ No newline at end of file diff --git a/roles/zabbix/zabbix_templates/tasks/main.yml b/roles/zabbix/zabbix_templates/tasks/main.yml new file mode 100644 index 0000000000..677848d71b --- /dev/null +++ b/roles/zabbix/zabbix_templates/tasks/main.yml @@ -0,0 +1,5 @@ +--- +- include_tasks: templates.yml + tags: + - zabbix_templates + diff --git a/roles/zabbix/zabbix_templates/tasks/templates.yml b/roles/zabbix/zabbix_templates/tasks/templates.yml new file mode 100644 index 0000000000..0329ccea09 --- /dev/null +++ b/roles/zabbix/zabbix_templates/tasks/templates.yml @@ -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:///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 +