diff --git a/README.md b/README.md index 97e44db0..336cc4aa 100644 --- a/README.md +++ b/README.md @@ -25,10 +25,10 @@ inheritance problems. | Name | 3.0 | 6.4 | 7.0 | | ---- | --- | --- | --- | -| Apache with TLS by HTTP Stack | | [✅](./Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/6.4) | | -| Nginx with TLS by HTTP Stack | | [✅](./Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/6.4) | | -| Songticker Stack | | [✅](./Stacks/Applications/Songticker_Stack/6.4) | | -| systemd Stack | | [✅](./Stacks/Applications/systemd_Stack/6.4) | | +| Apache with TLS by HTTP Stack | | [✅](./Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/6.4) | [✅](./Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/7.0) | +| Nginx with TLS by HTTP Stack | | [✅](./Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/6.4) | [✅](./Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/7.0) | +| Songticker Stack | | [✅](./Stacks/Applications/Songticker_Stack/6.4) | [✅](./Stacks/Applications/Songticker_Stack/7.0) | +| systemd Stack | | [✅](./Stacks/Applications/systemd_Stack/6.4) | [✅](./Stacks/Applications/systemd_Stack/7.0) | ### Stacks: Network devices @@ -41,17 +41,17 @@ inheritance problems. | Name | 3.0 | 6.4 | 7.0 | | ---- | --- | --- | --- | -| EL7 Stack | | [✅](./Stacks/Operating_systems/EL7_Stack/6.4) | | -| EL8 Stack | | [✅](./Stacks/Operating_systems/EL8_Stack/6.4) | | -| EL9 Stack | | [✅](./Stacks/Operating_systems/EL9_Stack/6.4) | | +| EL7 Stack | | [✅](./Stacks/Operating_systems/EL7_Stack/6.4) | [✅](./Stacks/Operating_systems/EL7_Stack/7.0) | +| EL8 Stack | | [✅](./Stacks/Operating_systems/EL8_Stack/6.4) | [✅](./Stacks/Operating_systems/EL8_Stack/7.0) | +| EL9 Stack | | [✅](./Stacks/Operating_systems/EL9_Stack/6.4) | [✅](./Stacks/Operating_systems/EL9_Stack/7.0) | ### Stacks: Servers | Name | 3.0 | 6.4 | 7.0 | | ---- | --- | --- | --- | -| EL7 KVM VM Stack | | [✅](./Stacks/Servers/EL7_KVM_VM_Stack/6.4) | | -| EL8 KVM VM Stack | | [✅](./Stacks/Servers/EL8_KVM_VM_Stack/6.4) | | -| EL9 KVM VM Stack | | [✅](./Stacks/Servers/EL9_KVM_VM_Stack/6.4) | | +| EL7 KVM VM Stack | | [✅](./Stacks/Servers/EL7_KVM_VM_Stack/6.4) | [✅](./Stacks/Servers/EL7_KVM_VM_Stack/7.0) | +| EL8 KVM VM Stack | | [✅](./Stacks/Servers/EL8_KVM_VM_Stack/6.4) | [✅](./Stacks/Servers/EL8_KVM_VM_Stack/7.0) | +| EL9 KVM VM Stack | | [✅](./Stacks/Servers/EL9_KVM_VM_Stack/6.4) | [✅](./Stacks/Servers/EL9_KVM_VM_Stack/7.0) | ## Templates @@ -60,20 +60,20 @@ inheritance problems. | Name | 3.0 | 6.4 | 7.0 | | ---- | --- | --- | --- | | Apache HTTP Server | [✅](./Templates/Applications/Apache_HTTP_Server/3.0) | | | -| auditd | [✅](./Templates/Applications/auditd/3.0) | [✅](./Templates/Applications/auditd/6.4) | | +| auditd | [✅](./Templates/Applications/auditd/3.0) | [✅](./Templates/Applications/auditd/6.4) | [✅](./Templates/Applications/auditd/7.0) | | Axia ALSA Soundcard Driver for Livewire | [✅](./Templates/Applications/Axia_ALSA_Soundcard_Driver_for_Livewire/3.0) | | | | BSNMP | [✅](./Templates/Applications/BSNMP/3.0) | | | -| candlepin-rhsmcertd | | [✅](./Templates/Applications/candlepin-rhsmcertd/6.4) | | +| candlepin-rhsmcertd | | [✅](./Templates/Applications/candlepin-rhsmcertd/6.4) | [✅](./Templates/Applications/candlepin-rhsmcertd/7.0) | | CARP | [✅](./Templates/Applications/CARP/3.0) | | | -| certmonger | | [✅](./Templates/Applications/certmonger/6.4) | | -| chrony | [✅](./Templates/Applications/chrony/3.0) | [✅](./Templates/Applications/chrony/6.4) | | -| Cronie | [✅](./Templates/Applications/Cronie/3.0) | [✅](./Templates/Applications/Cronie/6.4) | | +| certmonger | | [✅](./Templates/Applications/certmonger/6.4) | [✅](./Templates/Applications/certmonger/7.0) | +| chrony | [✅](./Templates/Applications/chrony/3.0) | [✅](./Templates/Applications/chrony/6.4) | [✅](./Templates/Applications/chrony/7.0) | +| Cronie | [✅](./Templates/Applications/Cronie/3.0) | [✅](./Templates/Applications/Cronie/6.4) | [✅](./Templates/Applications/Cronie/7.0) | | Darkice | [✅](./Templates/Applications/Darkice/3.0) | | | | dpinger | [✅](./Templates/Applications/dpinger/3.0) | | | -| firewalld | | [✅](./Templates/Applications/firewalld/6.4) | | +| firewalld | | [✅](./Templates/Applications/firewalld/6.4) | [✅](./Templates/Applications/firewalld/7.0) | | GlusterFS Client | [✅](./Templates/Applications/GlusterFS_Client/3.0) | | | | GlusterFS Server | [✅](./Templates/Applications/GlusterFS_Server/3.0) | | | -| gssproxy | [✅](./Templates/Applications/gssproxy/3.0) | [✅](./Templates/Applications/gssproxy/6.4) | | +| gssproxy | [✅](./Templates/Applications/gssproxy/3.0) | [✅](./Templates/Applications/gssproxy/6.4) | [✅](./Templates/Applications/gssproxy/7.0) | | Icecast | [✅](./Templates/Applications/Icecast/3.0) | | | | ISC DHCP daemon | [✅](./Templates/Applications/ISC_DHCP_daemon/3.0) | | | | ISC DHCP Relay Agent | [✅](./Templates/Applications/ISC_DHCP_Relay_Agent/3.0) | | | @@ -84,19 +84,19 @@ inheritance problems. | LVM | [✅](./Templates/Applications/LVM/3.0) | | | | MD-RAID | [✅](./Templates/Applications/MD-RAID/3.0) | | | | ntpd | [✅](./Templates/Applications/ntpd/3.0) | | | -| qemu-ga | | [✅](./Templates/Applications/qemu-ga/6.4) | | +| qemu-ga | | [✅](./Templates/Applications/qemu-ga/6.4) | [✅](./Templates/Applications/qemu-ga/7.0) | | Rotter | [✅](./Templates/Applications/Rotter/3.0) | | | -| rpc.gssd | | [✅](./Templates/Applications/rpc.gssd/6.4) | | -| rsyslog | | [✅](./Templates/Applications/rsyslog/6.4) | | -| Songticker | | [✅](./Templates/Applications/Songticker/6.4) | | -| sssd | | [✅](./Templates/Applications/sssd/6.4) | | -| systemd-journald | | [✅](./Templates/Applications/systemd-journald/6.4) | | -| systemd-logind | | [✅](./Templates/Applications/systemd-logind/6.4) | | -| systemd-udevd | | [✅](./Templates/Applications/systemd-udevd/6.4) | | -| timedatectl | [✅](./Templates/Applications/timedatectl/3.0) | [✅](./Templates/Applications/timedatectl/6.4) | | -| tuned | | [✅](./Templates/Applications/tuned/6.4) | | +| rpc.gssd | | [✅](./Templates/Applications/rpc.gssd/6.4) | [✅](./Templates/Applications/rpc.gssd/7.0) | +| rsyslog | | [✅](./Templates/Applications/rsyslog/6.4) | [✅](./Templates/Applications/rsyslog/7.0) | +| Songticker | | [✅](./Templates/Applications/Songticker/6.4) | [✅](./Templates/Applications/Songticker/7.0) | +| sssd | | [✅](./Templates/Applications/sssd/6.4) | [✅](./Templates/Applications/sssd/7.0) | +| systemd-journald | | [✅](./Templates/Applications/systemd-journald/6.4) | [✅](./Templates/Applications/systemd-journald/7.0) | +| systemd-logind | | [✅](./Templates/Applications/systemd-logind/6.4) | [✅](./Templates/Applications/systemd-logind/7.0) | +| systemd-udevd | | [✅](./Templates/Applications/systemd-udevd/6.4) | [✅](./Templates/Applications/systemd-udevd/7.0) | +| timedatectl | [✅](./Templates/Applications/timedatectl/3.0) | [✅](./Templates/Applications/timedatectl/6.4) | [✅](./Templates/Applications/timedatectl/7.0) | +| tuned | | [✅](./Templates/Applications/tuned/6.4) | [✅](./Templates/Applications/tuned/7.0) | | zabbix-agent | [✅](./Templates/Applications/zabbix-agent/3.0) | | | -| Zabbix unsupported items | | [✅](./Templates/Applications/Zabbix_unsupported_items/6.4) | | +| Zabbix unsupported items | | [✅](./Templates/Applications/Zabbix_unsupported_items/6.4) | [✅](./Templates/Applications/Zabbix_unsupported_items/7.0) | ### Templates: Network devices @@ -149,8 +149,8 @@ We primarily support versions of Zabbix we use in production. | Version | Supported | Description | | ------- | --------- | ----------- | | 3.0 | ✅ | legacy RaBe environment | -| 6.4 | ✅ | for LTS preparation work until 7.0 is available | -| 7.0 | ✅ | once released | +| 6.4 | ✅ | unsupported since 2024-12 | +| 7.0 | ✅ | stable LTS | ## OS Version Support diff --git a/Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/7.0/Apache_with_TLS_by_HTTP_Stack.yaml b/Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/7.0/Apache_with_TLS_by_HTTP_Stack.yaml new file mode 100644 index 00000000..5ee87841 --- /dev/null +++ b/Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/7.0/Apache_with_TLS_by_HTTP_Stack.yaml @@ -0,0 +1,21 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: 372bbb3675214fcf9ca8f57f2bc2ec77 + name: Stacks/Applications + templates: + - uuid: 2446533622e04f2fae25827a3ada0a9a + template: 'Apache with TLS by HTTP Stack' + name: 'Apache with TLS by HTTP Stack' + description: 'Monitor Apache by HTTP and do a Zabbix agent2 based certificate check.' + vendor: + name: RaBe + version: '7.0' + templates: + - name: 'Apache by HTTP' + - name: 'Website certificate by Zabbix agent 2' + groups: + - name: Stacks/Applications + tags: + - tag: class + value: stack diff --git a/Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/7.0/README.md b/Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/7.0/README.md new file mode 100644 index 00000000..925753f7 --- /dev/null +++ b/Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/7.0/README.md @@ -0,0 +1,22 @@ +# Zabbix Template: Apache with TLS by HTTP Stack + +![class: stack](https://img.shields.io/badge/class-stack-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Monitor Apache by HTTP and do a Zabbix agent2 based certificate check. + +## Linked Templates + +This Zabbix template depends on the following templates. + +* Apache by HTTP +* Website certificate by Zabbix agent 2 + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/7.0/docs/gen_ref_pages.py b/Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/7.0/mkdocs.yaml b/Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/7.0/mkdocs.yaml new file mode 100644 index 00000000..7fc27527 --- /dev/null +++ b/Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: Apache with TLS by HTTP Stack" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/7.0/Nginx_with_TLS_by_HTTP_Stack.yaml b/Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/7.0/Nginx_with_TLS_by_HTTP_Stack.yaml new file mode 100644 index 00000000..fcd774ad --- /dev/null +++ b/Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/7.0/Nginx_with_TLS_by_HTTP_Stack.yaml @@ -0,0 +1,21 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: 372bbb3675214fcf9ca8f57f2bc2ec77 + name: Stacks/Applications + templates: + - uuid: f9adddfb423f4bb4b58cd77c2494f2dd + template: 'Nginx with TLS by HTTP Stack' + name: 'Nginx with TLS by HTTP Stack' + description: 'Monitor Nginx by HTTP and do a Zabbix agent2 based certificate check.' + vendor: + name: RaBe + version: '7.0' + templates: + - name: 'Nginx by HTTP' + - name: 'Website certificate by Zabbix agent 2' + groups: + - name: Stacks/Applications + tags: + - tag: class + value: stack diff --git a/Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/7.0/README.md b/Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/7.0/README.md new file mode 100644 index 00000000..5417ec36 --- /dev/null +++ b/Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/7.0/README.md @@ -0,0 +1,22 @@ +# Zabbix Template: Nginx with TLS by HTTP Stack + +![class: stack](https://img.shields.io/badge/class-stack-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Monitor Nginx by HTTP and do a Zabbix agent2 based certificate check. + +## Linked Templates + +This Zabbix template depends on the following templates. + +* Nginx by HTTP +* Website certificate by Zabbix agent 2 + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/7.0/docs/gen_ref_pages.py b/Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/7.0/mkdocs.yaml b/Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/7.0/mkdocs.yaml new file mode 100644 index 00000000..dd31d8b1 --- /dev/null +++ b/Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: Nginx with TLS by HTTP Stack" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Stacks/Applications/Songticker_Stack/7.0/README.md b/Stacks/Applications/Songticker_Stack/7.0/README.md new file mode 100644 index 00000000..01f0b84c --- /dev/null +++ b/Stacks/Applications/Songticker_Stack/7.0/README.md @@ -0,0 +1,22 @@ +# Zabbix Template: Songticker Stack + +![class: stack](https://img.shields.io/badge/class-stack-00c9bf) ![system: songticker](https://img.shields.io/badge/system-songticker-00c9bf) ![type: service](https://img.shields.io/badge/type-service-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Monitoring for our Songticker + +## Linked Templates + +This Zabbix template depends on the following templates. + +* Songticker +* Website certificate by Zabbix agent 2 + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Stacks/Applications/Songticker_Stack/7.0/Songticker_Stack.yaml b/Stacks/Applications/Songticker_Stack/7.0/Songticker_Stack.yaml new file mode 100644 index 00000000..487a7bf6 --- /dev/null +++ b/Stacks/Applications/Songticker_Stack/7.0/Songticker_Stack.yaml @@ -0,0 +1,25 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: 372bbb3675214fcf9ca8f57f2bc2ec77 + name: Stacks/Applications + templates: + - uuid: 93c461ba64e642968daa550ac188d74d + template: 'Songticker Stack' + name: 'Songticker Stack' + description: 'Monitoring for our Songticker' + vendor: + name: RaBe + version: '7.0' + templates: + - name: Songticker + - name: 'Website certificate by Zabbix agent 2' + groups: + - name: Stacks/Applications + tags: + - tag: class + value: stack + - tag: system + value: songticker + - tag: type + value: service diff --git a/Stacks/Applications/Songticker_Stack/7.0/docs/gen_ref_pages.py b/Stacks/Applications/Songticker_Stack/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Stacks/Applications/Songticker_Stack/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Stacks/Applications/Songticker_Stack/7.0/mkdocs.yaml b/Stacks/Applications/Songticker_Stack/7.0/mkdocs.yaml new file mode 100644 index 00000000..0f8c88c8 --- /dev/null +++ b/Stacks/Applications/Songticker_Stack/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: Songticker Stack" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Stacks/Applications/systemd_Stack/7.0/README.md b/Stacks/Applications/systemd_Stack/7.0/README.md new file mode 100644 index 00000000..738ec5e0 --- /dev/null +++ b/Stacks/Applications/systemd_Stack/7.0/README.md @@ -0,0 +1,27 @@ +# Zabbix Template: systemd Stack + +![class: stack](https://img.shields.io/badge/class-stack-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +The [systemd](https://systemd.io) combines all the pieces of +systemd that ususally run on a system host. + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Linked Templates + +This Zabbix template depends on the following templates. + +* systemd-journald +* systemd-logind +* systemd-udevd + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Stacks/Applications/systemd_Stack/7.0/docs/gen_ref_pages.py b/Stacks/Applications/systemd_Stack/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Stacks/Applications/systemd_Stack/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Stacks/Applications/systemd_Stack/7.0/mkdocs.yaml b/Stacks/Applications/systemd_Stack/7.0/mkdocs.yaml new file mode 100644 index 00000000..bfc888bc --- /dev/null +++ b/Stacks/Applications/systemd_Stack/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: systemd Stack" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Stacks/Applications/systemd_Stack/7.0/systemd_Stack.yaml b/Stacks/Applications/systemd_Stack/7.0/systemd_Stack.yaml new file mode 100644 index 00000000..7120f05c --- /dev/null +++ b/Stacks/Applications/systemd_Stack/7.0/systemd_Stack.yaml @@ -0,0 +1,27 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: 372bbb3675214fcf9ca8f57f2bc2ec77 + name: Stacks/Applications + templates: + - uuid: 77615056d84f4c289aa65a0610216f9e + template: 'systemd Stack' + name: 'systemd Stack' + description: | + The [systemd](https://systemd.io) combines all the pieces of + systemd that ususally run on a system host. + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + templates: + - name: systemd-journald + - name: systemd-logind + - name: systemd-udevd + groups: + - name: Stacks/Applications + tags: + - tag: class + value: stack diff --git a/Stacks/Operating_systems/EL7_Stack/7.0/EL7_Stack.yaml b/Stacks/Operating_systems/EL7_Stack/7.0/EL7_Stack.yaml new file mode 100644 index 00000000..bda5e769 --- /dev/null +++ b/Stacks/Operating_systems/EL7_Stack/7.0/EL7_Stack.yaml @@ -0,0 +1,41 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: e3797825aba640d9811af437183dab65 + name: 'Stacks/Operating systems' + templates: + - uuid: 6894a14a44694510997ee950755a479a + template: 'EL7 Stack' + name: 'EL7 Stack' + description: | + Base stack template for CentOS 7 based systems. + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + templates: + - name: auditd + - name: candlepin-rhsmcertd + - name: certmonger + - name: chrony + - name: Cronie + - name: firewalld + - name: gssproxy + - name: 'Linux by Zabbix agent active' + - name: rpc.gssd + - name: rsyslog + - name: sssd + - name: 'systemd Stack' + - name: tuned + - name: 'Zabbix unsupported items' + groups: + - name: 'Stacks/Operating systems' + tags: + - tag: class + value: stack + macros: + - macro: '{$SYSTEMD.NAME.SERVICE.NOT_MATCHES}' + value: ^(iscsi\.service|mdmonitor\.service|microcode\.service|multipathd\.service|udisks2\.service|selinux-autorelabel-mark\.service|iscsi-onboot\.service|vgauthd\.service|vmtoolsd\.service|abrt-vmcore\.service|dmraid-activation\.service|abrt-xorg\.service|rhel-configure\.service|systemd-readahead-collect\.service|rhel-autorelabel\.service|irqbalance\.service|rhel-loadmodules\.service|systemd-readahead-replay\.service|rhel-autorelabel-mark\.service|timedatex\.service)$ + description: 'Filter of systemd service units by name' diff --git a/Stacks/Operating_systems/EL7_Stack/7.0/README.md b/Stacks/Operating_systems/EL7_Stack/7.0/README.md new file mode 100644 index 00000000..420af5af --- /dev/null +++ b/Stacks/Operating_systems/EL7_Stack/7.0/README.md @@ -0,0 +1,51 @@ +# Zabbix Template: EL7 Stack + +![class: stack](https://img.shields.io/badge/class-stack-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Base stack template for CentOS 7 based systems. + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Linked Templates + +This Zabbix template depends on the following templates. + +* auditd +* candlepin-rhsmcertd +* certmonger +* chrony +* Cronie +* firewalld +* gssproxy +* Linux by Zabbix agent active +* rpc.gssd +* rsyslog +* sssd +* systemd Stack +* tuned +* Zabbix unsupported items + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$SYSTEMD.NAME.SERVICE.NOT_MATCHES}` + +Filter of systemd service units by name + +Default: + +```console +^(iscsi\.service|mdmonitor\.service|microcode\.service|multipathd\.service|udisks2\.service|selinux-autorelabel-mark\.service|iscsi-onboot\.service|vgauthd\.service|vmtoolsd\.service|abrt-vmcore\.service|dmraid-activation\.service|abrt-xorg\.service|rhel-configure\.service|systemd-readahead-collect\.service|rhel-autorelabel\.service|irqbalance\.service|rhel-loadmodules\.service|systemd-readahead-replay\.service|rhel-autorelabel-mark\.service|timedatex\.service)$ +``` + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Stacks/Operating_systems/EL7_Stack/7.0/docs/gen_ref_pages.py b/Stacks/Operating_systems/EL7_Stack/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Stacks/Operating_systems/EL7_Stack/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Stacks/Operating_systems/EL7_Stack/7.0/mkdocs.yaml b/Stacks/Operating_systems/EL7_Stack/7.0/mkdocs.yaml new file mode 100644 index 00000000..fe666541 --- /dev/null +++ b/Stacks/Operating_systems/EL7_Stack/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: EL7 Stack" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Stacks/Operating_systems/EL8_Stack/7.0/EL8_Stack.yaml b/Stacks/Operating_systems/EL8_Stack/7.0/EL8_Stack.yaml new file mode 100644 index 00000000..61661635 --- /dev/null +++ b/Stacks/Operating_systems/EL8_Stack/7.0/EL8_Stack.yaml @@ -0,0 +1,42 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: e3797825aba640d9811af437183dab65 + name: 'Stacks/Operating systems' + templates: + - uuid: 457a175a097c4d0199dbf18c4b6a1d51 + template: 'EL8 Stack' + name: 'EL8 Stack' + description: | + Base stack template for CentOS 8 Stream based systems. + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + templates: + - name: auditd + - name: candlepin-rhsmcertd + - name: certmonger + - name: chrony + - name: Cronie + - name: firewalld + - name: gssproxy + - name: 'Linux by Zabbix agent active' + - name: rpc.gssd + - name: rsyslog + - name: sssd + - name: 'systemd Stack' + - name: timedatectl + - name: tuned + - name: 'Zabbix unsupported items' + groups: + - name: 'Stacks/Operating systems' + tags: + - tag: class + value: stack + macros: + - macro: '{$SYSTEMD.NAME.SERVICE.NOT_MATCHES}' + value: ^(iscsi\.service|mdmonitor\.service|microcode\.service|multipathd\.service|udisks2\.service|selinux-autorelabel-mark\.service|iscsi-onboot\.service|vgauthd\.service|vmtoolsd\.service|loadmodules\.service|timedatex\.service)$ + description: 'Filter of systemd service units by name' diff --git a/Stacks/Operating_systems/EL8_Stack/7.0/README.md b/Stacks/Operating_systems/EL8_Stack/7.0/README.md new file mode 100644 index 00000000..77109cee --- /dev/null +++ b/Stacks/Operating_systems/EL8_Stack/7.0/README.md @@ -0,0 +1,52 @@ +# Zabbix Template: EL8 Stack + +![class: stack](https://img.shields.io/badge/class-stack-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Base stack template for CentOS 8 Stream based systems. + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Linked Templates + +This Zabbix template depends on the following templates. + +* auditd +* candlepin-rhsmcertd +* certmonger +* chrony +* Cronie +* firewalld +* gssproxy +* Linux by Zabbix agent active +* rpc.gssd +* rsyslog +* sssd +* systemd Stack +* timedatectl +* tuned +* Zabbix unsupported items + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$SYSTEMD.NAME.SERVICE.NOT_MATCHES}` + +Filter of systemd service units by name + +Default: + +```console +^(iscsi\.service|mdmonitor\.service|microcode\.service|multipathd\.service|udisks2\.service|selinux-autorelabel-mark\.service|iscsi-onboot\.service|vgauthd\.service|vmtoolsd\.service|loadmodules\.service|timedatex\.service)$ +``` + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Stacks/Operating_systems/EL8_Stack/7.0/docs/gen_ref_pages.py b/Stacks/Operating_systems/EL8_Stack/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Stacks/Operating_systems/EL8_Stack/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Stacks/Operating_systems/EL8_Stack/7.0/mkdocs.yaml b/Stacks/Operating_systems/EL8_Stack/7.0/mkdocs.yaml new file mode 100644 index 00000000..35a3b36b --- /dev/null +++ b/Stacks/Operating_systems/EL8_Stack/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: EL8 Stack" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Stacks/Operating_systems/EL9_Stack/7.0/EL9_Stack.yaml b/Stacks/Operating_systems/EL9_Stack/7.0/EL9_Stack.yaml new file mode 100644 index 00000000..5031820f --- /dev/null +++ b/Stacks/Operating_systems/EL9_Stack/7.0/EL9_Stack.yaml @@ -0,0 +1,42 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: e3797825aba640d9811af437183dab65 + name: 'Stacks/Operating systems' + templates: + - uuid: 192a3c25a4b74cb2b583aaac6a5e5a11 + template: 'EL9 Stack' + name: 'EL9 Stack' + description: | + Base stack template for AlmaLinux 9 based systems. + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + templates: + - name: auditd + - name: candlepin-rhsmcertd + - name: certmonger + - name: chrony + - name: Cronie + - name: firewalld + - name: gssproxy + - name: 'Linux by Zabbix agent active' + - name: rpc.gssd + - name: rsyslog + - name: sssd + - name: 'systemd Stack' + - name: timedatectl + - name: tuned + - name: 'Zabbix unsupported items' + groups: + - name: 'Stacks/Operating systems' + tags: + - tag: class + value: stack + macros: + - macro: '{$SYSTEMD.NAME.SERVICE.NOT_MATCHES}' + value: ^(iscsi\.service|mdmonitor\.service|microcode\.service|multipathd\.service|udisks2\.service|selinux-autorelabel-mark\.service|iscsi-onboot\.service|vgauthd\.service|vmtoolsd\.service|loadmodules\.service|timedatex\.service)$ + description: 'Filter of systemd service units by name' diff --git a/Stacks/Operating_systems/EL9_Stack/7.0/README.md b/Stacks/Operating_systems/EL9_Stack/7.0/README.md new file mode 100644 index 00000000..de4d3025 --- /dev/null +++ b/Stacks/Operating_systems/EL9_Stack/7.0/README.md @@ -0,0 +1,52 @@ +# Zabbix Template: EL9 Stack + +![class: stack](https://img.shields.io/badge/class-stack-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Base stack template for AlmaLinux 9 based systems. + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Linked Templates + +This Zabbix template depends on the following templates. + +* auditd +* candlepin-rhsmcertd +* certmonger +* chrony +* Cronie +* firewalld +* gssproxy +* Linux by Zabbix agent active +* rpc.gssd +* rsyslog +* sssd +* systemd Stack +* timedatectl +* tuned +* Zabbix unsupported items + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$SYSTEMD.NAME.SERVICE.NOT_MATCHES}` + +Filter of systemd service units by name + +Default: + +```console +^(iscsi\.service|mdmonitor\.service|microcode\.service|multipathd\.service|udisks2\.service|selinux-autorelabel-mark\.service|iscsi-onboot\.service|vgauthd\.service|vmtoolsd\.service|loadmodules\.service|timedatex\.service)$ +``` + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Stacks/Operating_systems/EL9_Stack/7.0/docs/gen_ref_pages.py b/Stacks/Operating_systems/EL9_Stack/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Stacks/Operating_systems/EL9_Stack/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Stacks/Operating_systems/EL9_Stack/7.0/mkdocs.yaml b/Stacks/Operating_systems/EL9_Stack/7.0/mkdocs.yaml new file mode 100644 index 00000000..610f66b7 --- /dev/null +++ b/Stacks/Operating_systems/EL9_Stack/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: EL9 Stack" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Stacks/Servers/EL7_KVM_VM_Stack/7.0/EL7_KVM_VM_Stack.yaml b/Stacks/Servers/EL7_KVM_VM_Stack/7.0/EL7_KVM_VM_Stack.yaml new file mode 100644 index 00000000..8cbdbdfe --- /dev/null +++ b/Stacks/Servers/EL7_KVM_VM_Stack/7.0/EL7_KVM_VM_Stack.yaml @@ -0,0 +1,25 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: 866645e3f5054b82a1c0f7d7d8f30b69 + name: Stacks/Servers + templates: + - uuid: fa4319b459bc4ebe845261ba8aaf739f + template: 'EL7 KVM VM Stack' + name: 'EL7 KVM VM Stack' + description: | + Base stack template for EL7 based virtual machines. + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + templates: + - name: 'EL7 Stack' + - name: qemu-ga + groups: + - name: Stacks/Servers + tags: + - tag: class + value: stack diff --git a/Stacks/Servers/EL7_KVM_VM_Stack/7.0/README.md b/Stacks/Servers/EL7_KVM_VM_Stack/7.0/README.md new file mode 100644 index 00000000..f7b12ade --- /dev/null +++ b/Stacks/Servers/EL7_KVM_VM_Stack/7.0/README.md @@ -0,0 +1,25 @@ +# Zabbix Template: EL7 KVM VM Stack + +![class: stack](https://img.shields.io/badge/class-stack-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Base stack template for EL7 based virtual machines. + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Linked Templates + +This Zabbix template depends on the following templates. + +* EL7 Stack +* qemu-ga + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Stacks/Servers/EL7_KVM_VM_Stack/7.0/docs/gen_ref_pages.py b/Stacks/Servers/EL7_KVM_VM_Stack/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Stacks/Servers/EL7_KVM_VM_Stack/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Stacks/Servers/EL7_KVM_VM_Stack/7.0/mkdocs.yaml b/Stacks/Servers/EL7_KVM_VM_Stack/7.0/mkdocs.yaml new file mode 100644 index 00000000..531ca73c --- /dev/null +++ b/Stacks/Servers/EL7_KVM_VM_Stack/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: EL7 KVM VM Stack" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Stacks/Servers/EL8_KVM_VM_Stack/7.0/EL8_KVM_VM_Stack.yaml b/Stacks/Servers/EL8_KVM_VM_Stack/7.0/EL8_KVM_VM_Stack.yaml new file mode 100644 index 00000000..8fe44d94 --- /dev/null +++ b/Stacks/Servers/EL8_KVM_VM_Stack/7.0/EL8_KVM_VM_Stack.yaml @@ -0,0 +1,25 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: 866645e3f5054b82a1c0f7d7d8f30b69 + name: Stacks/Servers + templates: + - uuid: e98af599eb5a4cfd86a2b6414b8a9958 + template: 'EL8 KVM VM Stack' + name: 'EL8 KVM VM Stack' + description: | + Base stack template for EL8 based virtual machines. + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + templates: + - name: 'EL8 Stack' + - name: qemu-ga + groups: + - name: Stacks/Servers + tags: + - tag: class + value: stack diff --git a/Stacks/Servers/EL8_KVM_VM_Stack/7.0/README.md b/Stacks/Servers/EL8_KVM_VM_Stack/7.0/README.md new file mode 100644 index 00000000..438f464b --- /dev/null +++ b/Stacks/Servers/EL8_KVM_VM_Stack/7.0/README.md @@ -0,0 +1,25 @@ +# Zabbix Template: EL8 KVM VM Stack + +![class: stack](https://img.shields.io/badge/class-stack-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Base stack template for EL8 based virtual machines. + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Linked Templates + +This Zabbix template depends on the following templates. + +* EL8 Stack +* qemu-ga + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Stacks/Servers/EL8_KVM_VM_Stack/7.0/docs/gen_ref_pages.py b/Stacks/Servers/EL8_KVM_VM_Stack/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Stacks/Servers/EL8_KVM_VM_Stack/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Stacks/Servers/EL8_KVM_VM_Stack/7.0/mkdocs.yaml b/Stacks/Servers/EL8_KVM_VM_Stack/7.0/mkdocs.yaml new file mode 100644 index 00000000..c0deece7 --- /dev/null +++ b/Stacks/Servers/EL8_KVM_VM_Stack/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: EL8 KVM VM Stack" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Stacks/Servers/EL9_KVM_VM_Stack/7.0/EL9_KVM_VM_Stack.yaml b/Stacks/Servers/EL9_KVM_VM_Stack/7.0/EL9_KVM_VM_Stack.yaml new file mode 100644 index 00000000..7e2e28b2 --- /dev/null +++ b/Stacks/Servers/EL9_KVM_VM_Stack/7.0/EL9_KVM_VM_Stack.yaml @@ -0,0 +1,25 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: 866645e3f5054b82a1c0f7d7d8f30b69 + name: Stacks/Servers + templates: + - uuid: 15e8db5f6c80464faa3da85bd3322e9b + template: 'EL9 KVM VM Stack' + name: 'EL9 KVM VM Stack' + description: | + Base stack template for EL9 based virtual machines. + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + templates: + - name: 'EL9 Stack' + - name: qemu-ga + groups: + - name: Stacks/Servers + tags: + - tag: class + value: stack diff --git a/Stacks/Servers/EL9_KVM_VM_Stack/7.0/README.md b/Stacks/Servers/EL9_KVM_VM_Stack/7.0/README.md new file mode 100644 index 00000000..4da1a673 --- /dev/null +++ b/Stacks/Servers/EL9_KVM_VM_Stack/7.0/README.md @@ -0,0 +1,25 @@ +# Zabbix Template: EL9 KVM VM Stack + +![class: stack](https://img.shields.io/badge/class-stack-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Base stack template for EL9 based virtual machines. + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Linked Templates + +This Zabbix template depends on the following templates. + +* EL9 Stack +* qemu-ga + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Stacks/Servers/EL9_KVM_VM_Stack/7.0/docs/gen_ref_pages.py b/Stacks/Servers/EL9_KVM_VM_Stack/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Stacks/Servers/EL9_KVM_VM_Stack/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Stacks/Servers/EL9_KVM_VM_Stack/7.0/mkdocs.yaml b/Stacks/Servers/EL9_KVM_VM_Stack/7.0/mkdocs.yaml new file mode 100644 index 00000000..46720418 --- /dev/null +++ b/Stacks/Servers/EL9_KVM_VM_Stack/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: EL9 KVM VM Stack" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/Cronie/7.0/Cronie.yaml b/Templates/Applications/Cronie/7.0/Cronie.yaml new file mode 100644 index 00000000..d8b5a88e --- /dev/null +++ b/Templates/Applications/Cronie/7.0/Cronie.yaml @@ -0,0 +1,592 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: 68118ee2b30546478c4a6caf3cc257d8 + template: Cronie + name: Cronie + description: | + Monitoring of [Cronie](https://github.com/cronie-crond/cronie). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: bfc5695c8f9a42369b6f20f8ca8f9198 + name: 'Cronie: process summary' + type: ZABBIX_ACTIVE + key: 'proc.get[crond,root,,summary]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get info about Cronie processes' + tags: + - tag: component + value: raw + - uuid: c7503e4685954459b1f5cdd4689dac8f + name: 'Cronie: Unit active state' + type: DEPENDENT + key: rabe.Cronie.active_state + delay: '0' + history: 7d + description: 'State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating".' + valuemap: + name: 'Unit Active State' + preprocessing: + - type: JSONPATH + parameters: + - $.ActiveState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["crond.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: fe48013762a544c2af6fa8f85ebde1ba + expression: last(/Cronie/rabe.Cronie.active_state)<>1 + name: 'Cronie: Service is not running' + priority: WARNING + manual_close: 'YES' + tags: + - tag: scope + value: availability + - uuid: 24d9fbaae29343c3ad35960410ef8f24 + name: 'Cronie: CPU seconds (system)' + type: DEPENDENT + key: rabe.Cronie.cputime_system + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (system) of Cronie processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_system.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[crond,root,,summary]' + tags: + - tag: component + value: cronie + - uuid: 3329d9db09dd42c2b4b79f7bb580b09a + name: 'Cronie: CPU seconds (user)' + type: DEPENDENT + key: rabe.Cronie.cputime_user + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (user) of Cronie processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_user.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[crond,root,,summary]' + tags: + - tag: component + value: cronie + - uuid: 5bf43cd9eaa9460799dafcc827501a70 + name: 'Cronie: Service load state' + type: DEPENDENT + key: rabe.Cronie.load_state + delay: '0' + history: 7d + description: 'State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked".' + valuemap: + name: 'Unit Load State' + preprocessing: + - type: JSONPATH + parameters: + - $.LoadState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["crond.service"]' + tags: + - tag: component + value: service + - uuid: fc21c63ac8c048ab82558630a5b4f8b1 + name: 'Cronie: Number of processes' + type: DEPENDENT + key: rabe.Cronie.processes + delay: '0' + history: 7d + description: 'Number of Cronie processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].processes.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[crond,root,,summary]' + tags: + - tag: component + value: cronie + triggers: + - uuid: ef13887e22f34a408992a818b6d68f2f + expression: 'last(/Cronie/rabe.Cronie.processes)<{$CRONIE.THRESHOLD.MIN_PROC}' + name: 'Cronie: No running processes' + priority: HIGH + description: 'No running Cronie processes.' + dependencies: + - name: 'Cronie: Service is not running' + expression: last(/Cronie/rabe.Cronie.active_state)<>1 + tags: + - tag: scope + value: availability + - uuid: 32752c9c060e4f0fa7f3c1726a38758c + name: 'Cronie: Memory usage (RSS)' + type: DEPENDENT + key: rabe.Cronie.rss + delay: '0' + history: 7d + units: B + description: 'Memory usage of Cronie processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].rss.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[crond,root,,summary]' + tags: + - tag: component + value: cronie + - uuid: 2367b7951dcf43528a91c2ab7358c8b5 + name: 'Cronie: Swap usage' + type: DEPENDENT + key: rabe.Cronie.swap + delay: '0' + history: 7d + units: B + description: 'Swap usage of Cronie processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].swap.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[crond,root,,summary]' + tags: + - tag: component + value: cronie + - uuid: 5e6df906741a43eabb30f02f1aae47b8 + name: 'Cronie: Number of threads' + type: DEPENDENT + key: rabe.Cronie.threads + delay: '0' + history: 7d + description: 'Number of Cronie threads.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].threads.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[crond,root,,summary]' + tags: + - tag: component + value: cronie + - uuid: fe480f6fa660404790b6c9d53d296e30 + name: 'Cronie: Unit file state' + type: DEPENDENT + key: rabe.Cronie.unitfile_state + delay: '0' + history: 7d + description: 'Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid".' + valuemap: + name: 'Unit File State' + preprocessing: + - type: JSONPATH + parameters: + - $.UnitFileState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["crond.service"]' + tags: + - tag: component + value: service + - uuid: 211faa71c5174273b4f837dc863658d8 + name: 'Cronie: Uptime' + type: DEPENDENT + key: rabe.Cronie.uptime + delay: '0' + history: 7d + value_type: FLOAT + units: uptime + description: 'Number of seconds since unit entered the active state.' + preprocessing: + - type: JAVASCRIPT + parameters: + - | + data = JSON.parse(value); + if (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) { + return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000; + } + return null; + master_item: + key: 'systemd.unit.get["crond.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: e06c778c8b29464f973074b13dfcbdbc + expression: last(/Cronie/rabe.Cronie.uptime)<=10m + name: 'Cronie: has been restarted' + priority: INFO + manual_close: 'YES' + tags: + - tag: scope + value: notice + - uuid: 3132cd6ccf3d45fc8cc38f5f17233155 + name: 'Cronie: unit info' + type: ZABBIX_ACTIVE + key: 'systemd.unit.get["crond.service"]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get unit info from systemd' + tags: + - tag: component + value: raw + - tag: component + value: unit + tags: + - tag: class + value: software + - tag: target + value: cronie + macros: + - macro: '{$CRONIE.THRESHOLD.MIN_PROC}' + value: '1' + description: 'Minimum amount of processes expected to be running at all times.' + dashboards: + - uuid: eb463a5714e746519592b864a1095030 + name: 'Cronie: Overview' + pages: + - widgets: + - type: item + width: '24' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'active state' + - type: ITEM + name: itemid + value: + host: Cronie + key: rabe.Cronie.active_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: 4CAF50 + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: STRING + name: thresholds.1.color + value: FF0000 + - type: STRING + name: thresholds.1.threshold + value: '2' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '3' + - type: INTEGER + name: units_bold + value: '0' + - type: INTEGER + name: units_show + value: '0' + - type: graph + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: Cronie + key: rabe.Cronie.cputime_user + - type: STRING + name: reference + value: AABJD + - type: INTEGER + name: source_type + value: '1' + - type: graph + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: Cronie + key: rabe.Cronie.rss + - type: STRING + name: reference + value: AABJE + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '24' + width: '18' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: uptime + - type: ITEM + name: itemid + value: + host: Cronie + key: rabe.Cronie.uptime + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: INTEGER + name: value_size + value: '15' + - type: graph + x: '36' + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: Cronie + key: rabe.Cronie.cputime_system + - type: STRING + name: reference + value: AABJF + - type: INTEGER + name: source_type + value: '1' + - type: graph + x: '36' + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: Cronie + key: rabe.Cronie.swap + - type: STRING + name: reference + value: AABJG + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '42' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'unit file state' + - type: ITEM + name: itemid + value: + host: Cronie + key: rabe.Cronie.unitfile_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '42' + 'y': '2' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'service load state' + - type: ITEM + name: itemid + value: + host: Cronie + key: rabe.Cronie.load_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '60' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: processes + - type: ITEM + name: itemid + value: + host: Cronie + key: rabe.Cronie.processes + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + valuemaps: + - uuid: ab28be4710f144c5b2929bc8da84c3d5 + name: 'Unit Active State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: active + - value: '2' + newvalue: reloading + - value: '3' + newvalue: inactive + - value: '4' + newvalue: failed + - value: '5' + newvalue: activating + - value: '6' + newvalue: deactivating + - uuid: 2940787c3b14479294d01cb03f69fb03 + name: 'Unit File State' + mappings: + - value: o + newvalue: unknown + - value: '1' + newvalue: enabled + - value: '2' + newvalue: enabled-runtime + - value: '3' + newvalue: linked + - value: '4' + newvalue: linked-runtime + - value: '5' + newvalue: masked + - value: '6' + newvalue: masked-runtime + - value: '7' + newvalue: static + - value: '8' + newvalue: disabled + - value: '9' + newvalue: runtime + - uuid: c4a7eadfe0304c25a3e5993295245e36 + name: 'Unit Load State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: loaded + - value: '2' + newvalue: error + - value: '3' + newvalue: masked diff --git a/Templates/Applications/Cronie/7.0/README.md b/Templates/Applications/Cronie/7.0/README.md new file mode 100644 index 00000000..11b3d2e0 --- /dev/null +++ b/Templates/Applications/Cronie/7.0/README.md @@ -0,0 +1,377 @@ +# Zabbix Template: Cronie + +![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: cronie](https://img.shields.io/badge/target-cronie-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Monitoring of [Cronie](https://github.com/cronie-crond/cronie). + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Items + +### Item: Cronie: process summary + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Get info about Cronie processes + +```console +proc.get[crond,root,,summary] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +### Item: Cronie: Unit active state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". + +```console +rabe.Cronie.active_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["crond.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.ActiveState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: Cronie: CPU seconds (system) + +![component: cronie](https://img.shields.io/badge/component-cronie-00c9bf) + +Total CPU seconds (system) of Cronie processes. + +```console +rabe.Cronie.cputime_system +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[crond,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_system.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: Cronie: CPU seconds (user) + +![component: cronie](https://img.shields.io/badge/component-cronie-00c9bf) + +Total CPU seconds (user) of Cronie processes. + +```console +rabe.Cronie.cputime_user +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[crond,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_user.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: Cronie: Service load state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". + +```console +rabe.Cronie.load_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["crond.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.LoadState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: Cronie: Number of processes + +![component: cronie](https://img.shields.io/badge/component-cronie-00c9bf) + +Number of Cronie processes. + +```console +rabe.Cronie.processes +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[crond,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].processes.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: Cronie: Memory usage (RSS) + +![component: cronie](https://img.shields.io/badge/component-cronie-00c9bf) + +Memory usage of Cronie processes. + +```console +rabe.Cronie.rss +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[crond,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].rss.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: Cronie: Swap usage + +![component: cronie](https://img.shields.io/badge/component-cronie-00c9bf) + +Swap usage of Cronie processes. + +```console +rabe.Cronie.swap +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[crond,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].swap.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: Cronie: Number of threads + +![component: cronie](https://img.shields.io/badge/component-cronie-00c9bf) + +Number of Cronie threads. + +```console +rabe.Cronie.threads +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[crond,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].threads.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: Cronie: Unit file state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". + +```console +rabe.Cronie.unitfile_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["crond.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.UnitFileState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: Cronie: Uptime + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Number of seconds since unit entered the active state. + +```console +rabe.Cronie.uptime +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT in uptime | +| History | 7d | +| Source item | `systemd.unit.get["crond.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["data = JSON.parse(value);\nif (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) {\n return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000;\n}\nreturn null;\n"]` | + +### Item: Cronie: unit info + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) ![component: unit](https://img.shields.io/badge/component-unit-00c9bf) + +Get unit info from systemd + +```console +systemd.unit.get["crond.service"] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +## Triggers + +### Trigger: Cronie: Service is not running + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | +| Manual close | YES | + +```console +last(/Cronie/rabe.Cronie.active_state)<>1 +``` + +### Trigger: Cronie: No running processes + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + +No running Cronie processes. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | HIGH | + +```console +last(/Cronie/rabe.Cronie.processes)<{$CRONIE.THRESHOLD.MIN_PROC} +``` + +### Trigger: Cronie: has been restarted + +![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | INFO | +| Manual close | YES | + +```console +last(/Cronie/rabe.Cronie.uptime)<=10m +``` + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$CRONIE.THRESHOLD.MIN_PROC}` + +Minimum amount of processes expected to be running at all times. + +Default: + +```console +1 +``` + +## Dashboards + +The following Zabbix dashboards are included in this template. + +* Cronie: Overview + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/Cronie/7.0/docs/gen_ref_pages.py b/Templates/Applications/Cronie/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/Cronie/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/Cronie/7.0/mkdocs.yaml b/Templates/Applications/Cronie/7.0/mkdocs.yaml new file mode 100644 index 00000000..4b5aa68c --- /dev/null +++ b/Templates/Applications/Cronie/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: Cronie" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/Songticker/7.0/README.md b/Templates/Applications/Songticker/7.0/README.md new file mode 100644 index 00000000..2971367f --- /dev/null +++ b/Templates/Applications/Songticker/7.0/README.md @@ -0,0 +1,201 @@ +# Zabbix Template: Songticker + +![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: songticker](https://img.shields.io/badge/target-songticker-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Check if the songticker is getting regular updates + +## Items + +### Item: Songticker: Last update + +![component: songticker](https://img.shields.io/badge/component-songticker-00c9bf) + + + +```console +rabe.songticker.date +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `rabe.songticker.xml` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| XMLPATH | `["/*[name()='ticker']/*[name()='date']/text()"]` | +| JAVASCRIPT | `["return Date.parse(value)/1000"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: Songticker: Show end + +![component: songticker](https://img.shields.io/badge/component-songticker-00c9bf) + +When the current show ends. + +```console +rabe.songticker.show_endtime +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `rabe.songticker.xml` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| XMLPATH | `["/*[name()='ticker']/*[name()='show']/*[name()='endTime']/text()"]` | +| JAVASCRIPT | `["return Date.parse(value)/1000"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: Songticker: Show name + +![component: songticker](https://img.shields.io/badge/component-songticker-00c9bf) + +Name of the currently running show. + +```console +rabe.songticker.show_name +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | TEXT | +| History | 7d | +| Source item | `rabe.songticker.xml` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| XMLPATH | `["/*[name()='ticker']/*[name()='show']/*[name()='name']/text()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: Songticker: Current Artist + +![component: songticker](https://img.shields.io/badge/component-songticker-00c9bf) + +Currently running artist. + +```console +rabe.songticker.track_artist +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | TEXT | +| History | 7d | +| Source item | `rabe.songticker.xml` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| XMLPATH | `["/*[name()='ticker']/*[name()='track']/*[name()='artist']/text()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: Songticker: Current Title + +![component: songticker](https://img.shields.io/badge/component-songticker-00c9bf) + +Currently running track. + +```console +rabe.songticker.track_title +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | TEXT | +| History | 7d | +| Source item | `rabe.songticker.xml` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| XMLPATH | `["/*[name()='ticker']/*[name()='track']/*[name()='title']/text()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: Songticker XML reponse + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + + + +```console +rabe.songticker.xml +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | HTTP_AGENT | +| Value type | TEXT | + +## Triggers + +### Trigger: Songticker: Show ends in the past + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + +No next show was started in songticker. This could mean that songticker itself is down somehow, or there could be an issue in our metadata that needs investigating. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | + +```console +last(/Songticker/rabe.songticker.show_endtime)-time()<0 +``` + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$SONGTICKER.XML.ENDPOINT}` + +Location of the generated XML file for Songticker + +Default: + +```console +https://songticker.rabe.ch/songticker/0.9.3/current.xml +``` + +## Dashboards + +The following Zabbix dashboards are included in this template. + +* Songticker: Overview + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/Songticker/7.0/Songticker.yaml b/Templates/Applications/Songticker/7.0/Songticker.yaml new file mode 100644 index 00000000..3943d19a --- /dev/null +++ b/Templates/Applications/Songticker/7.0/Songticker.yaml @@ -0,0 +1,235 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: d1403f0294d5459ba004f08def23e608 + template: Songticker + name: Songticker + description: 'Check if the songticker is getting regular updates' + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: c84c0cb280db435484c9217b22208309 + name: 'Songticker: Last update' + type: DEPENDENT + key: rabe.songticker.date + delay: '0' + history: 7d + trends: '0' + units: unixtime + preprocessing: + - type: XMLPATH + parameters: + - '/*[name()=''ticker'']/*[name()=''date'']/text()' + - type: JAVASCRIPT + parameters: + - 'return Date.parse(value)/1000' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: rabe.songticker.xml + tags: + - tag: component + value: songticker + - uuid: 1664b855379f4b6ea7764e9fd05a1a89 + name: 'Songticker: Show end' + type: DEPENDENT + key: rabe.songticker.show_endtime + delay: '0' + history: 7d + trends: '0' + units: unixtime + description: 'When the current show ends.' + preprocessing: + - type: XMLPATH + parameters: + - '/*[name()=''ticker'']/*[name()=''show'']/*[name()=''endTime'']/text()' + - type: JAVASCRIPT + parameters: + - 'return Date.parse(value)/1000' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: rabe.songticker.xml + tags: + - tag: component + value: songticker + triggers: + - uuid: 52350d3ee2a14e1381809367122da29d + expression: last(/Songticker/rabe.songticker.show_endtime)-time()<0 + name: 'Songticker: Show ends in the past' + priority: WARNING + description: 'No next show was started in songticker. This could mean that songticker itself is down somehow, or there could be an issue in our metadata that needs investigating.' + tags: + - tag: scope + value: availability + - uuid: 9469eb2fc7e3445f92053a99c8219958 + name: 'Songticker: Show name' + type: DEPENDENT + key: rabe.songticker.show_name + delay: '0' + history: 7d + value_type: TEXT + trends: '0' + description: 'Name of the currently running show.' + preprocessing: + - type: XMLPATH + parameters: + - '/*[name()=''ticker'']/*[name()=''show'']/*[name()=''name'']/text()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: rabe.songticker.xml + tags: + - tag: component + value: songticker + - uuid: a503e836d6f6428d83d0a1cf35b98551 + name: 'Songticker: Current Artist' + type: DEPENDENT + key: rabe.songticker.track_artist + delay: '0' + history: 7d + value_type: TEXT + trends: '0' + description: 'Currently running artist.' + preprocessing: + - type: XMLPATH + parameters: + - '/*[name()=''ticker'']/*[name()=''track'']/*[name()=''artist'']/text()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: rabe.songticker.xml + tags: + - tag: component + value: songticker + - uuid: 4b158ace141648a7a1d2b5308ab6f4ec + name: 'Songticker: Current Title' + type: DEPENDENT + key: rabe.songticker.track_title + delay: '0' + history: 7d + value_type: TEXT + trends: '0' + description: 'Currently running track.' + preprocessing: + - type: XMLPATH + parameters: + - '/*[name()=''ticker'']/*[name()=''track'']/*[name()=''title'']/text()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: rabe.songticker.xml + tags: + - tag: component + value: songticker + - uuid: 17572c4eaaf64ccdae11785ada8f85b0 + name: 'Songticker XML reponse' + type: HTTP_AGENT + key: rabe.songticker.xml + history: '0' + value_type: TEXT + trends: '0' + timeout: 3s + url: '{$SONGTICKER.XML.ENDPOINT}' + tags: + - tag: component + value: raw + tags: + - tag: class + value: software + - tag: target + value: songticker + macros: + - macro: '{$SONGTICKER.XML.ENDPOINT}' + value: 'https://songticker.rabe.ch/songticker/0.9.3/current.xml' + description: 'Location of the generated XML file for Songticker' + dashboards: + - uuid: 48bd9ac035544391bbc984804645171a + name: 'Songticker: Overview' + pages: + - widgets: + - type: clock + width: '9' + height: '3' + fields: + - type: INTEGER + name: clock_type + value: '1' + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: item + 'y': '3' + width: '36' + height: '3' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'last update' + - type: ITEM + name: itemid + value: + host: Songticker + key: rabe.songticker.date + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: item + x: '9' + width: '63' + height: '3' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'current show' + - type: ITEM + name: itemid + value: + host: Songticker + key: rabe.songticker.show_name + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: item + x: '36' + 'y': '3' + width: '36' + height: '3' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'show end time' + - type: ITEM + name: itemid + value: + host: Songticker + key: rabe.songticker.show_endtime + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' diff --git a/Templates/Applications/Songticker/7.0/docs/gen_ref_pages.py b/Templates/Applications/Songticker/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/Songticker/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/Songticker/7.0/mkdocs.yaml b/Templates/Applications/Songticker/7.0/mkdocs.yaml new file mode 100644 index 00000000..b3f178e8 --- /dev/null +++ b/Templates/Applications/Songticker/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: Songticker" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/Zabbix_unsupported_items/7.0/README.md b/Templates/Applications/Zabbix_unsupported_items/7.0/README.md new file mode 100644 index 00000000..967a79eb --- /dev/null +++ b/Templates/Applications/Zabbix_unsupported_items/7.0/README.md @@ -0,0 +1,59 @@ +# Zabbix Template: Zabbix unsupported items + +![class: app](https://img.shields.io/badge/class-app-00c9bf) ![target: zabbix](https://img.shields.io/badge/target-zabbix-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Implementation agnostic monitoring of unsupported items from Zabbix internal. + +Used as a mix-in to most low-level stack templates. + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Items + +### Item: Unsupported items + +![component: zabbix](https://img.shields.io/badge/component-zabbix-00c9bf) ![target: zabbix](https://img.shields.io/badge/target-zabbix-00c9bf) + +The number of unsupported items on this host + +```console +zabbix[host,,items_unsupported] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | INTERNAL | +| History | 7d | + +## Triggers + +### Trigger: Unsupported items detected + +![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + +The host has unsupported items, which might be an indication of a problem with certain items. Disable or fix the items. + +A count expression is used to reduce flapping to allow for items to go missing for one reading and then show back up. + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | + +```console +count(/Zabbix unsupported items/zabbix[host,,items_unsupported],#3,"gt","0")>=1 +``` + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/Zabbix_unsupported_items/7.0/Zabbix_unsupported_items.yaml b/Templates/Applications/Zabbix_unsupported_items/7.0/Zabbix_unsupported_items.yaml new file mode 100644 index 00000000..3cc99498 --- /dev/null +++ b/Templates/Applications/Zabbix_unsupported_items/7.0/Zabbix_unsupported_items.yaml @@ -0,0 +1,56 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: 925cd90144d94624b05c6f08129c7365 + template: 'Zabbix unsupported items' + name: 'Zabbix unsupported items' + description: | + Implementation agnostic monitoring of unsupported items from Zabbix internal. + + Used as a mix-in to most low-level stack templates. + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: a53fdb38181748ed90cc4b647641858b + name: 'Unsupported items' + type: INTERNAL + key: 'zabbix[host,,items_unsupported]' + delay: 5m + history: 7d + description: 'The number of unsupported items on this host' + preprocessing: + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - '900' + tags: + - tag: component + value: zabbix + - tag: target + value: zabbix + triggers: + - uuid: b2fb93680d1343f69b1878d657495834 + expression: 'count(/Zabbix unsupported items/zabbix[host,,items_unsupported],#3,"gt","0")>=1' + name: 'Unsupported items detected' + opdata: 'Current unsupported items: {ITEM.LASTVALUE1}' + priority: WARNING + description: | + The host has unsupported items, which might be an indication of a problem with certain items. Disable or fix the items. + + A count expression is used to reduce flapping to allow for items to go missing for one reading and then show back up. + tags: + - tag: scope + value: notice + tags: + - tag: class + value: app + - tag: target + value: zabbix diff --git a/Templates/Applications/Zabbix_unsupported_items/7.0/docs/gen_ref_pages.py b/Templates/Applications/Zabbix_unsupported_items/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/Zabbix_unsupported_items/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/Zabbix_unsupported_items/7.0/mkdocs.yaml b/Templates/Applications/Zabbix_unsupported_items/7.0/mkdocs.yaml new file mode 100644 index 00000000..74b2583a --- /dev/null +++ b/Templates/Applications/Zabbix_unsupported_items/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: Zabbix unsupported items" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/auditd/7.0/README.md b/Templates/Applications/auditd/7.0/README.md new file mode 100644 index 00000000..98932679 --- /dev/null +++ b/Templates/Applications/auditd/7.0/README.md @@ -0,0 +1,377 @@ +# Zabbix Template: auditd + +![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: auditd](https://img.shields.io/badge/target-auditd-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Monitoring of [auditd](https://people.redhat.com/sgrubb/audit/). + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Items + +### Item: auditd: process summary + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Get info about auditd processes + +```console +proc.get[auditd,root,,summary] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +### Item: auditd: Unit active state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". + +```console +rabe.auditd.active_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["auditd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.ActiveState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: auditd: CPU seconds (system) + +![component: auditd](https://img.shields.io/badge/component-auditd-00c9bf) + +Total CPU seconds (system) of auditd processes. + +```console +rabe.auditd.cputime_system +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[auditd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_system.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: auditd: CPU seconds (user) + +![component: auditd](https://img.shields.io/badge/component-auditd-00c9bf) + +Total CPU seconds (user) of auditd processes. + +```console +rabe.auditd.cputime_user +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[auditd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_user.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: auditd: Service load state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". + +```console +rabe.auditd.load_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["auditd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.LoadState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: auditd: Number of processes + +![component: auditd](https://img.shields.io/badge/component-auditd-00c9bf) + +Number of auditd processes. + +```console +rabe.auditd.processes +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[auditd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].processes.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: auditd: Memory usage (RSS) + +![component: auditd](https://img.shields.io/badge/component-auditd-00c9bf) + +Memory usage of auditd processes. + +```console +rabe.auditd.rss +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[auditd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].rss.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: auditd: Swap usage + +![component: auditd](https://img.shields.io/badge/component-auditd-00c9bf) + +Swap usage of auditd processes. + +```console +rabe.auditd.swap +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[auditd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].swap.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: auditd: Number of threads + +![component: auditd](https://img.shields.io/badge/component-auditd-00c9bf) + +Number of auditd threads. + +```console +rabe.auditd.threads +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[auditd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].threads.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: auditd: Unit file state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". + +```console +rabe.auditd.unitfile_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["auditd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.UnitFileState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: auditd: Uptime + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Number of seconds since unit entered the active state. + +```console +rabe.auditd.uptime +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT in uptime | +| History | 7d | +| Source item | `systemd.unit.get["auditd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["data = JSON.parse(value);\nif (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) {\n return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000;\n}\nreturn null;\n"]` | + +### Item: auditd: unit info + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) ![component: unit](https://img.shields.io/badge/component-unit-00c9bf) + +Get unit info from systemd + +```console +systemd.unit.get["auditd.service"] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +## Triggers + +### Trigger: auditd: Service is not running + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | +| Manual close | YES | + +```console +last(/auditd/rabe.auditd.active_state)<>1 +``` + +### Trigger: auditd: No running processes + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + +No running auditd processes. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | HIGH | + +```console +last(/auditd/rabe.auditd.processes)<{$AUDITD.THRESHOLD.MIN_PROC} +``` + +### Trigger: auditd: has been restarted + +![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | INFO | +| Manual close | YES | + +```console +last(/auditd/rabe.auditd.uptime)<=10m +``` + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$AUDITD.THRESHOLD.MIN_PROC}` + +Minimum amount of processes expected to be running at all times. + +Default: + +```console +1 +``` + +## Dashboards + +The following Zabbix dashboards are included in this template. + +* auditd: Overview + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/auditd/7.0/auditd.yaml b/Templates/Applications/auditd/7.0/auditd.yaml new file mode 100644 index 00000000..fd858045 --- /dev/null +++ b/Templates/Applications/auditd/7.0/auditd.yaml @@ -0,0 +1,592 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: cb33db846b0f4ca4bf01ada6228204ef + template: auditd + name: auditd + description: | + Monitoring of [auditd](https://people.redhat.com/sgrubb/audit/). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: 9238e7fe3ca14f3ab433837ded70c170 + name: 'auditd: process summary' + type: ZABBIX_ACTIVE + key: 'proc.get[auditd,root,,summary]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get info about auditd processes' + tags: + - tag: component + value: raw + - uuid: c73719485a194e94a7042a83d5c90ad8 + name: 'auditd: Unit active state' + type: DEPENDENT + key: rabe.auditd.active_state + delay: '0' + history: 7d + description: 'State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating".' + valuemap: + name: 'Unit Active State' + preprocessing: + - type: JSONPATH + parameters: + - $.ActiveState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["auditd.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: 46b2cfdcd304459bb3c2664d8941f6d3 + expression: last(/auditd/rabe.auditd.active_state)<>1 + name: 'auditd: Service is not running' + priority: WARNING + manual_close: 'YES' + tags: + - tag: scope + value: availability + - uuid: e7c1a45d007e4c2fbdf3c14d9e783837 + name: 'auditd: CPU seconds (system)' + type: DEPENDENT + key: rabe.auditd.cputime_system + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (system) of auditd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_system.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[auditd,root,,summary]' + tags: + - tag: component + value: auditd + - uuid: 247b87f17abb489bad3df034c9cd2114 + name: 'auditd: CPU seconds (user)' + type: DEPENDENT + key: rabe.auditd.cputime_user + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (user) of auditd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_user.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[auditd,root,,summary]' + tags: + - tag: component + value: auditd + - uuid: d0f10c7b59cb4d3e87a79254a293534b + name: 'auditd: Service load state' + type: DEPENDENT + key: rabe.auditd.load_state + delay: '0' + history: 7d + description: 'State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked".' + valuemap: + name: 'Unit Load State' + preprocessing: + - type: JSONPATH + parameters: + - $.LoadState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["auditd.service"]' + tags: + - tag: component + value: service + - uuid: 00604ef169554ef192c6693f75ed1c35 + name: 'auditd: Number of processes' + type: DEPENDENT + key: rabe.auditd.processes + delay: '0' + history: 7d + description: 'Number of auditd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].processes.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[auditd,root,,summary]' + tags: + - tag: component + value: auditd + triggers: + - uuid: e87c0519b4f54aad9d7d71c9f7a86313 + expression: 'last(/auditd/rabe.auditd.processes)<{$AUDITD.THRESHOLD.MIN_PROC}' + name: 'auditd: No running processes' + priority: HIGH + description: 'No running auditd processes.' + dependencies: + - name: 'auditd: Service is not running' + expression: last(/auditd/rabe.auditd.active_state)<>1 + tags: + - tag: scope + value: availability + - uuid: 3536f3dfe8d34816af5299db7df961ba + name: 'auditd: Memory usage (RSS)' + type: DEPENDENT + key: rabe.auditd.rss + delay: '0' + history: 7d + units: B + description: 'Memory usage of auditd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].rss.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[auditd,root,,summary]' + tags: + - tag: component + value: auditd + - uuid: 94ecaf2672fa4d069f221d117e9b9c58 + name: 'auditd: Swap usage' + type: DEPENDENT + key: rabe.auditd.swap + delay: '0' + history: 7d + units: B + description: 'Swap usage of auditd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].swap.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[auditd,root,,summary]' + tags: + - tag: component + value: auditd + - uuid: aa01f91534c446f9ab3194f85ad42a32 + name: 'auditd: Number of threads' + type: DEPENDENT + key: rabe.auditd.threads + delay: '0' + history: 7d + description: 'Number of auditd threads.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].threads.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[auditd,root,,summary]' + tags: + - tag: component + value: auditd + - uuid: 0f05b3bb9b4a4e6d9a5895076ee18039 + name: 'auditd: Unit file state' + type: DEPENDENT + key: rabe.auditd.unitfile_state + delay: '0' + history: 7d + description: 'Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid".' + valuemap: + name: 'Unit File State' + preprocessing: + - type: JSONPATH + parameters: + - $.UnitFileState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["auditd.service"]' + tags: + - tag: component + value: service + - uuid: 7a51b5145538430aa3c363f9781af10b + name: 'auditd: Uptime' + type: DEPENDENT + key: rabe.auditd.uptime + delay: '0' + history: 7d + value_type: FLOAT + units: uptime + description: 'Number of seconds since unit entered the active state.' + preprocessing: + - type: JAVASCRIPT + parameters: + - | + data = JSON.parse(value); + if (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) { + return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000; + } + return null; + master_item: + key: 'systemd.unit.get["auditd.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: bd20f3a273324c88b408c110135a4591 + expression: last(/auditd/rabe.auditd.uptime)<=10m + name: 'auditd: has been restarted' + priority: INFO + manual_close: 'YES' + tags: + - tag: scope + value: notice + - uuid: fee979e9d3c64cb1873264957739052d + name: 'auditd: unit info' + type: ZABBIX_ACTIVE + key: 'systemd.unit.get["auditd.service"]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get unit info from systemd' + tags: + - tag: component + value: raw + - tag: component + value: unit + tags: + - tag: class + value: software + - tag: target + value: auditd + macros: + - macro: '{$AUDITD.THRESHOLD.MIN_PROC}' + value: '1' + description: 'Minimum amount of processes expected to be running at all times.' + dashboards: + - uuid: 872c608dda554c688ae39c4b33d564cc + name: 'auditd: Overview' + pages: + - widgets: + - type: item + width: '24' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'active state' + - type: ITEM + name: itemid + value: + host: auditd + key: rabe.auditd.active_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: 4CAF50 + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: STRING + name: thresholds.1.color + value: FF0000 + - type: STRING + name: thresholds.1.threshold + value: '2' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '3' + - type: INTEGER + name: units_bold + value: '0' + - type: INTEGER + name: units_show + value: '0' + - type: graph + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: auditd + key: rabe.auditd.cputime_user + - type: STRING + name: reference + value: AABJH + - type: INTEGER + name: source_type + value: '1' + - type: graph + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: auditd + key: rabe.auditd.rss + - type: STRING + name: reference + value: AABJI + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '24' + width: '18' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: uptime + - type: ITEM + name: itemid + value: + host: auditd + key: rabe.auditd.uptime + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: INTEGER + name: value_size + value: '15' + - type: graph + x: '36' + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: auditd + key: rabe.auditd.cputime_system + - type: STRING + name: reference + value: AABJJ + - type: INTEGER + name: source_type + value: '1' + - type: graph + x: '36' + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: auditd + key: rabe.auditd.swap + - type: STRING + name: reference + value: AABJK + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '42' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'unit file state' + - type: ITEM + name: itemid + value: + host: auditd + key: rabe.auditd.unitfile_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '42' + 'y': '2' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'service load state' + - type: ITEM + name: itemid + value: + host: auditd + key: rabe.auditd.load_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '60' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: processes + - type: ITEM + name: itemid + value: + host: auditd + key: rabe.auditd.processes + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + valuemaps: + - uuid: 8dbfbef1cf2f4da894428603161b3fb8 + name: 'Unit Active State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: active + - value: '2' + newvalue: reloading + - value: '3' + newvalue: inactive + - value: '4' + newvalue: failed + - value: '5' + newvalue: activating + - value: '6' + newvalue: deactivating + - uuid: 2f9ca8a700394a89a2167304e72a50d8 + name: 'Unit File State' + mappings: + - value: o + newvalue: unknown + - value: '1' + newvalue: enabled + - value: '2' + newvalue: enabled-runtime + - value: '3' + newvalue: linked + - value: '4' + newvalue: linked-runtime + - value: '5' + newvalue: masked + - value: '6' + newvalue: masked-runtime + - value: '7' + newvalue: static + - value: '8' + newvalue: disabled + - value: '9' + newvalue: runtime + - uuid: e1060cbfc184495185807c473707961c + name: 'Unit Load State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: loaded + - value: '2' + newvalue: error + - value: '3' + newvalue: masked diff --git a/Templates/Applications/auditd/7.0/docs/gen_ref_pages.py b/Templates/Applications/auditd/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/auditd/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/auditd/7.0/mkdocs.yaml b/Templates/Applications/auditd/7.0/mkdocs.yaml new file mode 100644 index 00000000..43f2a387 --- /dev/null +++ b/Templates/Applications/auditd/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: auditd" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/candlepin-rhsmcertd/7.0/README.md b/Templates/Applications/candlepin-rhsmcertd/7.0/README.md new file mode 100644 index 00000000..9a073672 --- /dev/null +++ b/Templates/Applications/candlepin-rhsmcertd/7.0/README.md @@ -0,0 +1,377 @@ +# Zabbix Template: candlepin-rhsmcertd + +![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: candlepin-rhsmcertd](https://img.shields.io/badge/target-candlepin-rhsmcertd-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Monitoring of [candlepin-rhsmcertd](https://github.com/candlepin/subscription-manager/blob/main/src/daemons/rhsmcertd.c). + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Items + +### Item: candlepin-rhsmcertd: process summary + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Get info about candlepin-rhsmcertd processes + +```console +proc.get[rhsmcertd,root,,summary] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +### Item: candlepin-rhsmcertd: Unit active state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". + +```console +rabe.candlepin-rhsmcertd.active_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["rhsmcertd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.ActiveState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: candlepin-rhsmcertd: CPU seconds (system) + +![component: candlepin-rhsmcertd](https://img.shields.io/badge/component-candlepin-rhsmcertd-00c9bf) + +Total CPU seconds (system) of candlepin-rhsmcertd processes. + +```console +rabe.candlepin-rhsmcertd.cputime_system +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[rhsmcertd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_system.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: candlepin-rhsmcertd: CPU seconds (user) + +![component: candlepin-rhsmcertd](https://img.shields.io/badge/component-candlepin-rhsmcertd-00c9bf) + +Total CPU seconds (user) of candlepin-rhsmcertd processes. + +```console +rabe.candlepin-rhsmcertd.cputime_user +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[rhsmcertd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_user.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: candlepin-rhsmcertd: Service load state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". + +```console +rabe.candlepin-rhsmcertd.load_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["rhsmcertd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.LoadState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: candlepin-rhsmcertd: Number of processes + +![component: candlepin-rhsmcertd](https://img.shields.io/badge/component-candlepin-rhsmcertd-00c9bf) + +Number of candlepin-rhsmcertd processes. + +```console +rabe.candlepin-rhsmcertd.processes +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[rhsmcertd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].processes.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: candlepin-rhsmcertd: Memory usage (RSS) + +![component: candlepin-rhsmcertd](https://img.shields.io/badge/component-candlepin-rhsmcertd-00c9bf) + +Memory usage of candlepin-rhsmcertd processes. + +```console +rabe.candlepin-rhsmcertd.rss +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[rhsmcertd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].rss.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: candlepin-rhsmcertd: Swap usage + +![component: candlepin-rhsmcertd](https://img.shields.io/badge/component-candlepin-rhsmcertd-00c9bf) + +Swap usage of candlepin-rhsmcertd processes. + +```console +rabe.candlepin-rhsmcertd.swap +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[rhsmcertd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].swap.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: candlepin-rhsmcertd: Number of threads + +![component: candlepin-rhsmcertd](https://img.shields.io/badge/component-candlepin-rhsmcertd-00c9bf) + +Number of candlepin-rhsmcertd threads. + +```console +rabe.candlepin-rhsmcertd.threads +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[rhsmcertd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].threads.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: candlepin-rhsmcertd: Unit file state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". + +```console +rabe.candlepin-rhsmcertd.unitfile_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["rhsmcertd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.UnitFileState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: candlepin-rhsmcertd: Uptime + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Number of seconds since unit entered the active state. + +```console +rabe.candlepin-rhsmcertd.uptime +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT in uptime | +| History | 7d | +| Source item | `systemd.unit.get["rhsmcertd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["data = JSON.parse(value);\nif (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) {\n return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000;\n}\nreturn null;\n"]` | + +### Item: candlepin-rhsmcertd: unit info + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) ![component: unit](https://img.shields.io/badge/component-unit-00c9bf) + +Get unit info from systemd + +```console +systemd.unit.get["rhsmcertd.service"] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +## Triggers + +### Trigger: candlepin-rhsmcertd: Service is not running + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | +| Manual close | YES | + +```console +last(/candlepin-rhsmcertd/rabe.candlepin-rhsmcertd.active_state)<>1 +``` + +### Trigger: candlepin-rhsmcertd: No running processes + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + +No running candlepin-rhsmcertd processes. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | HIGH | + +```console +last(/candlepin-rhsmcertd/rabe.candlepin-rhsmcertd.processes)<{$CANDLEPINRHSMCERTD.THRESHOLD.MIN_PROC} +``` + +### Trigger: candlepin-rhsmcertd: has been restarted + +![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | INFO | +| Manual close | YES | + +```console +last(/candlepin-rhsmcertd/rabe.candlepin-rhsmcertd.uptime)<=10m +``` + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$CANDLEPINRHSMCERTD.THRESHOLD.MIN_PROC}` + +Minimum amount of processes expected to be running at all times. + +Default: + +```console +1 +``` + +## Dashboards + +The following Zabbix dashboards are included in this template. + +* candlepin-rhsmcertd: Overview + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/candlepin-rhsmcertd/7.0/candlepin-rhsmcertd.yaml b/Templates/Applications/candlepin-rhsmcertd/7.0/candlepin-rhsmcertd.yaml new file mode 100644 index 00000000..26e5d4b6 --- /dev/null +++ b/Templates/Applications/candlepin-rhsmcertd/7.0/candlepin-rhsmcertd.yaml @@ -0,0 +1,592 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: a94da67f2f9d42a5b2daa4f25effa56e + template: candlepin-rhsmcertd + name: candlepin-rhsmcertd + description: | + Monitoring of [candlepin-rhsmcertd](https://github.com/candlepin/subscription-manager/blob/main/src/daemons/rhsmcertd.c). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: 6293b90697374a2aa898f1c4078b32a7 + name: 'candlepin-rhsmcertd: process summary' + type: ZABBIX_ACTIVE + key: 'proc.get[rhsmcertd,root,,summary]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get info about candlepin-rhsmcertd processes' + tags: + - tag: component + value: raw + - uuid: ed309ddc6e86458d8106370124154871 + name: 'candlepin-rhsmcertd: Unit active state' + type: DEPENDENT + key: rabe.candlepin-rhsmcertd.active_state + delay: '0' + history: 7d + description: 'State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating".' + valuemap: + name: 'Unit Active State' + preprocessing: + - type: JSONPATH + parameters: + - $.ActiveState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["rhsmcertd.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: 6c9112436d4e47c0ab598d5919e20a40 + expression: last(/candlepin-rhsmcertd/rabe.candlepin-rhsmcertd.active_state)<>1 + name: 'candlepin-rhsmcertd: Service is not running' + priority: WARNING + manual_close: 'YES' + tags: + - tag: scope + value: availability + - uuid: b16abb57e2a74b2f9dd2718ff751a033 + name: 'candlepin-rhsmcertd: CPU seconds (system)' + type: DEPENDENT + key: rabe.candlepin-rhsmcertd.cputime_system + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (system) of candlepin-rhsmcertd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_system.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rhsmcertd,root,,summary]' + tags: + - tag: component + value: candlepin-rhsmcertd + - uuid: b51053e289ac4dc98759e189cdadb640 + name: 'candlepin-rhsmcertd: CPU seconds (user)' + type: DEPENDENT + key: rabe.candlepin-rhsmcertd.cputime_user + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (user) of candlepin-rhsmcertd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_user.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rhsmcertd,root,,summary]' + tags: + - tag: component + value: candlepin-rhsmcertd + - uuid: 5fc7415bc7ab40be811a724f1b8ade77 + name: 'candlepin-rhsmcertd: Service load state' + type: DEPENDENT + key: rabe.candlepin-rhsmcertd.load_state + delay: '0' + history: 7d + description: 'State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked".' + valuemap: + name: 'Unit Load State' + preprocessing: + - type: JSONPATH + parameters: + - $.LoadState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["rhsmcertd.service"]' + tags: + - tag: component + value: service + - uuid: 213663b17a314a9a8773abc1e7174a98 + name: 'candlepin-rhsmcertd: Number of processes' + type: DEPENDENT + key: rabe.candlepin-rhsmcertd.processes + delay: '0' + history: 7d + description: 'Number of candlepin-rhsmcertd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].processes.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rhsmcertd,root,,summary]' + tags: + - tag: component + value: candlepin-rhsmcertd + triggers: + - uuid: 66350d13cecf42458a11032e556e8ed0 + expression: 'last(/candlepin-rhsmcertd/rabe.candlepin-rhsmcertd.processes)<{$CANDLEPINRHSMCERTD.THRESHOLD.MIN_PROC}' + name: 'candlepin-rhsmcertd: No running processes' + priority: HIGH + description: 'No running candlepin-rhsmcertd processes.' + dependencies: + - name: 'candlepin-rhsmcertd: Service is not running' + expression: last(/candlepin-rhsmcertd/rabe.candlepin-rhsmcertd.active_state)<>1 + tags: + - tag: scope + value: availability + - uuid: 6dd8934faa20481c89b5fc695fa74477 + name: 'candlepin-rhsmcertd: Memory usage (RSS)' + type: DEPENDENT + key: rabe.candlepin-rhsmcertd.rss + delay: '0' + history: 7d + units: B + description: 'Memory usage of candlepin-rhsmcertd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].rss.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rhsmcertd,root,,summary]' + tags: + - tag: component + value: candlepin-rhsmcertd + - uuid: 2321af48d75a4467ac066a615bc3fc71 + name: 'candlepin-rhsmcertd: Swap usage' + type: DEPENDENT + key: rabe.candlepin-rhsmcertd.swap + delay: '0' + history: 7d + units: B + description: 'Swap usage of candlepin-rhsmcertd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].swap.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rhsmcertd,root,,summary]' + tags: + - tag: component + value: candlepin-rhsmcertd + - uuid: c95c23d2ad9d4dc2ab49d6ea295317b9 + name: 'candlepin-rhsmcertd: Number of threads' + type: DEPENDENT + key: rabe.candlepin-rhsmcertd.threads + delay: '0' + history: 7d + description: 'Number of candlepin-rhsmcertd threads.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].threads.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rhsmcertd,root,,summary]' + tags: + - tag: component + value: candlepin-rhsmcertd + - uuid: f56871bf80d0488d9d453419c8a19121 + name: 'candlepin-rhsmcertd: Unit file state' + type: DEPENDENT + key: rabe.candlepin-rhsmcertd.unitfile_state + delay: '0' + history: 7d + description: 'Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid".' + valuemap: + name: 'Unit File State' + preprocessing: + - type: JSONPATH + parameters: + - $.UnitFileState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["rhsmcertd.service"]' + tags: + - tag: component + value: service + - uuid: 2a10fbe27e274c05914a18702d8c52bb + name: 'candlepin-rhsmcertd: Uptime' + type: DEPENDENT + key: rabe.candlepin-rhsmcertd.uptime + delay: '0' + history: 7d + value_type: FLOAT + units: uptime + description: 'Number of seconds since unit entered the active state.' + preprocessing: + - type: JAVASCRIPT + parameters: + - | + data = JSON.parse(value); + if (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) { + return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000; + } + return null; + master_item: + key: 'systemd.unit.get["rhsmcertd.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: 061481c49fcd44b68fe03db822cf7b94 + expression: last(/candlepin-rhsmcertd/rabe.candlepin-rhsmcertd.uptime)<=10m + name: 'candlepin-rhsmcertd: has been restarted' + priority: INFO + manual_close: 'YES' + tags: + - tag: scope + value: notice + - uuid: 7c7d45696d4b4ffbab8b3b9e0f4845f8 + name: 'candlepin-rhsmcertd: unit info' + type: ZABBIX_ACTIVE + key: 'systemd.unit.get["rhsmcertd.service"]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get unit info from systemd' + tags: + - tag: component + value: raw + - tag: component + value: unit + tags: + - tag: class + value: software + - tag: target + value: candlepin-rhsmcertd + macros: + - macro: '{$CANDLEPINRHSMCERTD.THRESHOLD.MIN_PROC}' + value: '1' + description: 'Minimum amount of processes expected to be running at all times.' + dashboards: + - uuid: 16873a85cc3048cc9fc63cf9d379cf2d + name: 'candlepin-rhsmcertd: Overview' + pages: + - widgets: + - type: item + width: '24' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'active state' + - type: ITEM + name: itemid + value: + host: candlepin-rhsmcertd + key: rabe.candlepin-rhsmcertd.active_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: 4CAF50 + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: STRING + name: thresholds.1.color + value: FF0000 + - type: STRING + name: thresholds.1.threshold + value: '2' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '3' + - type: INTEGER + name: units_bold + value: '0' + - type: INTEGER + name: units_show + value: '0' + - type: graph + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: candlepin-rhsmcertd + key: rabe.candlepin-rhsmcertd.cputime_user + - type: STRING + name: reference + value: AAAAA + - type: INTEGER + name: source_type + value: '1' + - type: graph + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: candlepin-rhsmcertd + key: rabe.candlepin-rhsmcertd.rss + - type: STRING + name: reference + value: AAAAB + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '24' + width: '18' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: uptime + - type: ITEM + name: itemid + value: + host: candlepin-rhsmcertd + key: rabe.candlepin-rhsmcertd.uptime + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: INTEGER + name: value_size + value: '15' + - type: graph + x: '36' + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: candlepin-rhsmcertd + key: rabe.candlepin-rhsmcertd.cputime_system + - type: STRING + name: reference + value: AAAAC + - type: INTEGER + name: source_type + value: '1' + - type: graph + x: '36' + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: candlepin-rhsmcertd + key: rabe.candlepin-rhsmcertd.swap + - type: STRING + name: reference + value: AAAAD + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '42' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'unit file state' + - type: ITEM + name: itemid + value: + host: candlepin-rhsmcertd + key: rabe.candlepin-rhsmcertd.unitfile_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '42' + 'y': '2' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'service load state' + - type: ITEM + name: itemid + value: + host: candlepin-rhsmcertd + key: rabe.candlepin-rhsmcertd.load_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '60' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: processes + - type: ITEM + name: itemid + value: + host: candlepin-rhsmcertd + key: rabe.candlepin-rhsmcertd.processes + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + valuemaps: + - uuid: 66001957246547a191dc26a467ae1b2e + name: 'Unit Active State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: active + - value: '2' + newvalue: reloading + - value: '3' + newvalue: inactive + - value: '4' + newvalue: failed + - value: '5' + newvalue: activating + - value: '6' + newvalue: deactivating + - uuid: 49039e691c834b498b503dc8311fea26 + name: 'Unit File State' + mappings: + - value: o + newvalue: unknown + - value: '1' + newvalue: enabled + - value: '2' + newvalue: enabled-runtime + - value: '3' + newvalue: linked + - value: '4' + newvalue: linked-runtime + - value: '5' + newvalue: masked + - value: '6' + newvalue: masked-runtime + - value: '7' + newvalue: static + - value: '8' + newvalue: disabled + - value: '9' + newvalue: runtime + - uuid: c5c2c1e12e2c4562953ec17087da697b + name: 'Unit Load State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: loaded + - value: '2' + newvalue: error + - value: '3' + newvalue: masked diff --git a/Templates/Applications/candlepin-rhsmcertd/7.0/docs/gen_ref_pages.py b/Templates/Applications/candlepin-rhsmcertd/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/candlepin-rhsmcertd/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/candlepin-rhsmcertd/7.0/mkdocs.yaml b/Templates/Applications/candlepin-rhsmcertd/7.0/mkdocs.yaml new file mode 100644 index 00000000..e6ea4f84 --- /dev/null +++ b/Templates/Applications/candlepin-rhsmcertd/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: candlepin-rhsmcertd" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/certmonger/7.0/README.md b/Templates/Applications/certmonger/7.0/README.md new file mode 100644 index 00000000..a7ee6afa --- /dev/null +++ b/Templates/Applications/certmonger/7.0/README.md @@ -0,0 +1,377 @@ +# Zabbix Template: certmonger + +![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: certmonger](https://img.shields.io/badge/target-certmonger-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Monitoring of [certmonger](https://www.freeipa.org/page/Certmonger). + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Items + +### Item: certmonger: process summary + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Get info about certmonger processes + +```console +proc.get[certmonger,root,,summary] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +### Item: certmonger: Unit active state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". + +```console +rabe.certmonger.active_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["certmonger.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.ActiveState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: certmonger: CPU seconds (system) + +![component: certmonger](https://img.shields.io/badge/component-certmonger-00c9bf) + +Total CPU seconds (system) of certmonger processes. + +```console +rabe.certmonger.cputime_system +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[certmonger,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_system.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: certmonger: CPU seconds (user) + +![component: certmonger](https://img.shields.io/badge/component-certmonger-00c9bf) + +Total CPU seconds (user) of certmonger processes. + +```console +rabe.certmonger.cputime_user +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[certmonger,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_user.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: certmonger: Service load state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". + +```console +rabe.certmonger.load_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["certmonger.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.LoadState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: certmonger: Number of processes + +![component: certmonger](https://img.shields.io/badge/component-certmonger-00c9bf) + +Number of certmonger processes. + +```console +rabe.certmonger.processes +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[certmonger,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].processes.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: certmonger: Memory usage (RSS) + +![component: certmonger](https://img.shields.io/badge/component-certmonger-00c9bf) + +Memory usage of certmonger processes. + +```console +rabe.certmonger.rss +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[certmonger,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].rss.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: certmonger: Swap usage + +![component: certmonger](https://img.shields.io/badge/component-certmonger-00c9bf) + +Swap usage of certmonger processes. + +```console +rabe.certmonger.swap +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[certmonger,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].swap.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: certmonger: Number of threads + +![component: certmonger](https://img.shields.io/badge/component-certmonger-00c9bf) + +Number of certmonger threads. + +```console +rabe.certmonger.threads +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[certmonger,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].threads.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: certmonger: Unit file state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". + +```console +rabe.certmonger.unitfile_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["certmonger.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.UnitFileState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: certmonger: Uptime + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Number of seconds since unit entered the active state. + +```console +rabe.certmonger.uptime +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT in uptime | +| History | 7d | +| Source item | `systemd.unit.get["certmonger.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["data = JSON.parse(value);\nif (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) {\n return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000;\n}\nreturn null;\n"]` | + +### Item: certmonger: unit info + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) ![component: unit](https://img.shields.io/badge/component-unit-00c9bf) + +Get unit info from systemd + +```console +systemd.unit.get["certmonger.service"] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +## Triggers + +### Trigger: certmonger: Service is not running + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | +| Manual close | YES | + +```console +last(/certmonger/rabe.certmonger.active_state)<>1 +``` + +### Trigger: certmonger: No running processes + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + +No running certmonger processes. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | HIGH | + +```console +last(/certmonger/rabe.certmonger.processes)<{$CERTMONGER.THRESHOLD.MIN_PROC} +``` + +### Trigger: certmonger: has been restarted + +![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | INFO | +| Manual close | YES | + +```console +last(/certmonger/rabe.certmonger.uptime)<=10m +``` + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$CERTMONGER.THRESHOLD.MIN_PROC}` + +Minimum amount of processes expected to be running at all times. + +Default: + +```console +1 +``` + +## Dashboards + +The following Zabbix dashboards are included in this template. + +* certmonger: Overview + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/certmonger/7.0/certmonger.yaml b/Templates/Applications/certmonger/7.0/certmonger.yaml new file mode 100644 index 00000000..04a2f096 --- /dev/null +++ b/Templates/Applications/certmonger/7.0/certmonger.yaml @@ -0,0 +1,592 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: f45e9a83754c4a5b83a26ccae9d5c84e + template: certmonger + name: certmonger + description: | + Monitoring of [certmonger](https://www.freeipa.org/page/Certmonger). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: af62b409c5d841b080b49e70f982d49d + name: 'certmonger: process summary' + type: ZABBIX_ACTIVE + key: 'proc.get[certmonger,root,,summary]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get info about certmonger processes' + tags: + - tag: component + value: raw + - uuid: e96d5839859b434cb2dbc4dea536f511 + name: 'certmonger: Unit active state' + type: DEPENDENT + key: rabe.certmonger.active_state + delay: '0' + history: 7d + description: 'State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating".' + valuemap: + name: 'Unit Active State' + preprocessing: + - type: JSONPATH + parameters: + - $.ActiveState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["certmonger.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: b853eaa14d5744b6bdde1f38761c7f55 + expression: last(/certmonger/rabe.certmonger.active_state)<>1 + name: 'certmonger: Service is not running' + priority: WARNING + manual_close: 'YES' + tags: + - tag: scope + value: availability + - uuid: 9aaf184984b0421b899be1cede002aaa + name: 'certmonger: CPU seconds (system)' + type: DEPENDENT + key: rabe.certmonger.cputime_system + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (system) of certmonger processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_system.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[certmonger,root,,summary]' + tags: + - tag: component + value: certmonger + - uuid: 80c6bc8876b84dc3b0f6ec3089bd01f9 + name: 'certmonger: CPU seconds (user)' + type: DEPENDENT + key: rabe.certmonger.cputime_user + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (user) of certmonger processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_user.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[certmonger,root,,summary]' + tags: + - tag: component + value: certmonger + - uuid: 977764278ea74b14a60afc6421684ee5 + name: 'certmonger: Service load state' + type: DEPENDENT + key: rabe.certmonger.load_state + delay: '0' + history: 7d + description: 'State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked".' + valuemap: + name: 'Unit Load State' + preprocessing: + - type: JSONPATH + parameters: + - $.LoadState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["certmonger.service"]' + tags: + - tag: component + value: service + - uuid: b91a0fb53e0243c9a4577908b2109878 + name: 'certmonger: Number of processes' + type: DEPENDENT + key: rabe.certmonger.processes + delay: '0' + history: 7d + description: 'Number of certmonger processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].processes.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[certmonger,root,,summary]' + tags: + - tag: component + value: certmonger + triggers: + - uuid: 754bfe5a7bd3463da3545a0321d95d3e + expression: 'last(/certmonger/rabe.certmonger.processes)<{$CERTMONGER.THRESHOLD.MIN_PROC}' + name: 'certmonger: No running processes' + priority: HIGH + description: 'No running certmonger processes.' + dependencies: + - name: 'certmonger: Service is not running' + expression: last(/certmonger/rabe.certmonger.active_state)<>1 + tags: + - tag: scope + value: availability + - uuid: 3637bbed68ad46a398143b61b7b4f651 + name: 'certmonger: Memory usage (RSS)' + type: DEPENDENT + key: rabe.certmonger.rss + delay: '0' + history: 7d + units: B + description: 'Memory usage of certmonger processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].rss.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[certmonger,root,,summary]' + tags: + - tag: component + value: certmonger + - uuid: 408749e1be014dbbbaf6b773b26c112f + name: 'certmonger: Swap usage' + type: DEPENDENT + key: rabe.certmonger.swap + delay: '0' + history: 7d + units: B + description: 'Swap usage of certmonger processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].swap.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[certmonger,root,,summary]' + tags: + - tag: component + value: certmonger + - uuid: b014d7c31d30428b9b140cf6adbe96aa + name: 'certmonger: Number of threads' + type: DEPENDENT + key: rabe.certmonger.threads + delay: '0' + history: 7d + description: 'Number of certmonger threads.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].threads.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[certmonger,root,,summary]' + tags: + - tag: component + value: certmonger + - uuid: 8d6a007de3ce4b4d94a68497051e05a9 + name: 'certmonger: Unit file state' + type: DEPENDENT + key: rabe.certmonger.unitfile_state + delay: '0' + history: 7d + description: 'Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid".' + valuemap: + name: 'Unit File State' + preprocessing: + - type: JSONPATH + parameters: + - $.UnitFileState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["certmonger.service"]' + tags: + - tag: component + value: service + - uuid: a7b3e53ff789481dba3aeadf519221d4 + name: 'certmonger: Uptime' + type: DEPENDENT + key: rabe.certmonger.uptime + delay: '0' + history: 7d + value_type: FLOAT + units: uptime + description: 'Number of seconds since unit entered the active state.' + preprocessing: + - type: JAVASCRIPT + parameters: + - | + data = JSON.parse(value); + if (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) { + return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000; + } + return null; + master_item: + key: 'systemd.unit.get["certmonger.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: 98ba1f3f61b2472ba2e1bd307a0e8832 + expression: last(/certmonger/rabe.certmonger.uptime)<=10m + name: 'certmonger: has been restarted' + priority: INFO + manual_close: 'YES' + tags: + - tag: scope + value: notice + - uuid: dfdf61b3b8664aee834f6f1ab613f887 + name: 'certmonger: unit info' + type: ZABBIX_ACTIVE + key: 'systemd.unit.get["certmonger.service"]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get unit info from systemd' + tags: + - tag: component + value: raw + - tag: component + value: unit + tags: + - tag: class + value: software + - tag: target + value: certmonger + macros: + - macro: '{$CERTMONGER.THRESHOLD.MIN_PROC}' + value: '1' + description: 'Minimum amount of processes expected to be running at all times.' + dashboards: + - uuid: b2ccf97fb0ed4a04abc386cafae1fc69 + name: 'certmonger: Overview' + pages: + - widgets: + - type: item + width: '24' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'active state' + - type: ITEM + name: itemid + value: + host: certmonger + key: rabe.certmonger.active_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: 4CAF50 + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: STRING + name: thresholds.1.color + value: FF0000 + - type: STRING + name: thresholds.1.threshold + value: '2' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '3' + - type: INTEGER + name: units_bold + value: '0' + - type: INTEGER + name: units_show + value: '0' + - type: graph + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: certmonger + key: rabe.certmonger.cputime_user + - type: STRING + name: reference + value: AABJL + - type: INTEGER + name: source_type + value: '1' + - type: graph + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: certmonger + key: rabe.certmonger.rss + - type: STRING + name: reference + value: AABJM + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '24' + width: '18' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: uptime + - type: ITEM + name: itemid + value: + host: certmonger + key: rabe.certmonger.uptime + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: INTEGER + name: value_size + value: '15' + - type: graph + x: '36' + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: certmonger + key: rabe.certmonger.cputime_system + - type: STRING + name: reference + value: AABJN + - type: INTEGER + name: source_type + value: '1' + - type: graph + x: '36' + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: certmonger + key: rabe.certmonger.swap + - type: STRING + name: reference + value: AABJO + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '42' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'unit file state' + - type: ITEM + name: itemid + value: + host: certmonger + key: rabe.certmonger.unitfile_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '42' + 'y': '2' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'service load state' + - type: ITEM + name: itemid + value: + host: certmonger + key: rabe.certmonger.load_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '60' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: processes + - type: ITEM + name: itemid + value: + host: certmonger + key: rabe.certmonger.processes + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + valuemaps: + - uuid: b8d873a993d84741b8bf3a77f0c507b0 + name: 'Unit Active State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: active + - value: '2' + newvalue: reloading + - value: '3' + newvalue: inactive + - value: '4' + newvalue: failed + - value: '5' + newvalue: activating + - value: '6' + newvalue: deactivating + - uuid: f815b1b99ec84799b1c51adfdf838083 + name: 'Unit File State' + mappings: + - value: o + newvalue: unknown + - value: '1' + newvalue: enabled + - value: '2' + newvalue: enabled-runtime + - value: '3' + newvalue: linked + - value: '4' + newvalue: linked-runtime + - value: '5' + newvalue: masked + - value: '6' + newvalue: masked-runtime + - value: '7' + newvalue: static + - value: '8' + newvalue: disabled + - value: '9' + newvalue: runtime + - uuid: b0328ec0814b45829a56a7aadfd58257 + name: 'Unit Load State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: loaded + - value: '2' + newvalue: error + - value: '3' + newvalue: masked diff --git a/Templates/Applications/certmonger/7.0/docs/gen_ref_pages.py b/Templates/Applications/certmonger/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/certmonger/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/certmonger/7.0/mkdocs.yaml b/Templates/Applications/certmonger/7.0/mkdocs.yaml new file mode 100644 index 00000000..6ddddacf --- /dev/null +++ b/Templates/Applications/certmonger/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: certmonger" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/chrony/7.0/README.md b/Templates/Applications/chrony/7.0/README.md new file mode 100644 index 00000000..e544ddec --- /dev/null +++ b/Templates/Applications/chrony/7.0/README.md @@ -0,0 +1,547 @@ +# Zabbix Template: chrony + +![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: chrony](https://img.shields.io/badge/target-chrony-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Keeps track of [chrony](https://chrony-project.org/). + +Needs the following configuration: +``` +AllowKey=system.run[/usr/bin/chronyc -c activity] +AllowKey=system.run[/usr/bin/chronyc -c tracking] +``` + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Items + +### Item: chrony: chronyd process + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Get info about chrony processes + +```console +proc.get[chronyd,chrony,,summary] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +### Item: chrony: Sources doing burst (return to offline) + +![component: chrony](https://img.shields.io/badge/component-chrony-00c9bf) + +Sources doing burst (return to offline). + +```console +rabe.chrony.activity.sources_burst_to_offline +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `system.run[/usr/bin/chronyc -c activity]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["return value.split(\",\")[3]"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: chrony: Sources doing burst (return to online) + +![component: chrony](https://img.shields.io/badge/component-chrony-00c9bf) + +Sources doing burst (return to online). + +```console +rabe.chrony.activity.sources_burst_to_online +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `system.run[/usr/bin/chronyc -c activity]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["return value.split(\",\")[2]"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: chrony: Sources offline + +![component: chrony](https://img.shields.io/badge/component-chrony-00c9bf) + +Sources offline. + +```console +rabe.chrony.activity.sources_offline +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `system.run[/usr/bin/chronyc -c activity]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["return value.split(\",\")[1]"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: chrony: Sources online + +![component: chrony](https://img.shields.io/badge/component-chrony-00c9bf) + +Sources online. + +```console +rabe.chrony.activity.sources_online +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `system.run[/usr/bin/chronyc -c activity]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["return value.split(\",\")[0]"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: chrony: Sources with unknown address + +![component: chrony](https://img.shields.io/badge/component-chrony-00c9bf) + +Sources with unknown address. + +```console +rabe.chrony.activity.sources_with_unknown_address +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `system.run[/usr/bin/chronyc -c activity]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["return value.split(\",\")[4]"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: chronyd: CPU seconds (system) + +![component: chrony](https://img.shields.io/badge/component-chrony-00c9bf) ![component: chronyd](https://img.shields.io/badge/component-chronyd-00c9bf) + +Total CPU seconds (system) of chronyd processes. + +```console +rabe.chrony.chronyd.cputime_system +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[chronyd,chrony,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_system.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: chronyd: CPU seconds (user) + +![component: chrony](https://img.shields.io/badge/component-chrony-00c9bf) ![component: chronyd](https://img.shields.io/badge/component-chronyd-00c9bf) + +Total CPU seconds (user) of chronyd processes. + +```console +rabe.chrony.chronyd.cputime_user +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[chronyd,chrony,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_user.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: chronyd: Number of processes + +![component: chrony](https://img.shields.io/badge/component-chrony-00c9bf) ![component: chronyd](https://img.shields.io/badge/component-chronyd-00c9bf) + +Number of chronyd processes. + +```console +rabe.chrony.chronyd.processes +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[chronyd,chrony,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].processes.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: chronyd: Memory usage (RSS) + +![component: chrony](https://img.shields.io/badge/component-chrony-00c9bf) ![component: chronyd](https://img.shields.io/badge/component-chronyd-00c9bf) + +Memory usage of chronyd processes. + +```console +rabe.chrony.chronyd.rss +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[chronyd,chrony,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].rss.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: chronyd: Swap usage + +![component: chrony](https://img.shields.io/badge/component-chrony-00c9bf) ![component: chronyd](https://img.shields.io/badge/component-chronyd-00c9bf) + +Swap usage of chronyd processes. + +```console +rabe.chrony.chronyd.swap +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[chronyd,chrony,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].swap.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: chronyd: Number of threads + +![component: chrony](https://img.shields.io/badge/component-chrony-00c9bf) ![component: chronyd](https://img.shields.io/badge/component-chronyd-00c9bf) + +Number of chronyd threads. + +```console +rabe.chrony.chronyd.threads +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[chronyd,chrony,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].threads.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: chrony: Reference ID + +![component: chrony](https://img.shields.io/badge/component-chrony-00c9bf) + +Reference ID. + +```console +rabe.chrony.tracking.reference_id +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | TEXT | +| History | 7d | +| Source item | `system.run[/usr/bin/chronyc -c tracking]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["return value.split(\",\")[0]"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["1h"]` | + +### Item: chrony: Reference IP + +![component: chrony](https://img.shields.io/badge/component-chrony-00c9bf) + +Reference IP. + +```console +rabe.chrony.tracking.reference_ip +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | TEXT | +| History | 7d | +| Source item | `system.run[/usr/bin/chronyc -c tracking]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["return value.split(\",\")[1]"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["1h"]` | + +### Item: chrony: Ref time (UTC) + +![component: chrony](https://img.shields.io/badge/component-chrony-00c9bf) + +Ref time (UTC). + +```console +rabe.chrony.tracking.ref_time +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT in unixtime | +| History | 7d | +| Source item | `system.run[/usr/bin/chronyc -c tracking]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["return value.split(\",\")[3]"]` | + +### Item: chrony: Skew + +![component: chrony](https://img.shields.io/badge/component-chrony-00c9bf) + +Skew. + +```console +rabe.chrony.tracking.skew +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT in ppm | +| History | 7d | +| Source item | `system.run[/usr/bin/chronyc -c tracking]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["return value.split(\",\")[9]"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: chrony: Stratum + +![component: chrony](https://img.shields.io/badge/component-chrony-00c9bf) + +Stratum. + +```console +rabe.chrony.tracking.stratum +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `system.run[/usr/bin/chronyc -c tracking]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["return value.split(\",\")[2]"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["1h"]` | + +### Item: chrony: System time slowness + +![component: chrony](https://img.shields.io/badge/component-chrony-00c9bf) + +System time is seconds slow of NTP time + +```console +rabe.chrony.tracking.system_time +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT in s | +| History | 7d | +| Source item | `system.run[/usr/bin/chronyc -c tracking]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["return value.split(\",\")[4]"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: chrony: Activitiy + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Results of chronyc -c activity + +```console +system.run[/usr/bin/chronyc -c activity] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +### Item: chrony: Tracking + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Results of chronyc -c tracking + +```console +system.run[/usr/bin/chronyc -c tracking] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +## Triggers + +### Trigger: chronyd: No running processes + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + +No running chronyd processes. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | HIGH | + +```console +last(/chrony/rabe.chrony.chronyd.processes)<1 +``` + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$CHRONY.THRESHOLD.MIN_PROC}` + +Minimum amount of processes expected to be running at all times. + +Default: + +```console +1 +``` + +## Dashboards + +The following Zabbix dashboards are included in this template. + +* chrony: Overview + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/chrony/7.0/chrony.yaml b/Templates/Applications/chrony/7.0/chrony.yaml new file mode 100644 index 00000000..45c3149f --- /dev/null +++ b/Templates/Applications/chrony/7.0/chrony.yaml @@ -0,0 +1,785 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: c4a24054ed3c4085aba8cfe5a077c2ca + template: chrony + name: chrony + description: | + Keeps track of [chrony](https://chrony-project.org/). + + Needs the following configuration: + ``` + AllowKey=system.run[/usr/bin/chronyc -c activity] + AllowKey=system.run[/usr/bin/chronyc -c tracking] + ``` + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: 1ad40d5c3d814204b84506a4f553a941 + name: 'chrony: chronyd process' + type: ZABBIX_ACTIVE + key: 'proc.get[chronyd,chrony,,summary]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get info about chrony processes' + tags: + - tag: component + value: raw + - uuid: e0f3a9d2b1cc40d4ada050409d94070a + name: 'chrony: Sources doing burst (return to offline)' + type: DEPENDENT + key: rabe.chrony.activity.sources_burst_to_offline + delay: '0' + history: 7d + description: 'Sources doing burst (return to offline).' + preprocessing: + - type: JAVASCRIPT + parameters: + - 'return value.split(",")[3]' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'system.run[/usr/bin/chronyc -c activity]' + tags: + - tag: component + value: chrony + - uuid: 26f9f34d7f944260bbcb7c85e057b299 + name: 'chrony: Sources doing burst (return to online)' + type: DEPENDENT + key: rabe.chrony.activity.sources_burst_to_online + delay: '0' + history: 7d + description: 'Sources doing burst (return to online).' + preprocessing: + - type: JAVASCRIPT + parameters: + - 'return value.split(",")[2]' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'system.run[/usr/bin/chronyc -c activity]' + tags: + - tag: component + value: chrony + - uuid: debb8c9d77334ec68bce647216d06e4d + name: 'chrony: Sources offline' + type: DEPENDENT + key: rabe.chrony.activity.sources_offline + delay: '0' + history: 7d + description: 'Sources offline.' + preprocessing: + - type: JAVASCRIPT + parameters: + - 'return value.split(",")[1]' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'system.run[/usr/bin/chronyc -c activity]' + tags: + - tag: component + value: chrony + - uuid: 2ad24b1b0a9a4697a4d7e446bb446f0c + name: 'chrony: Sources online' + type: DEPENDENT + key: rabe.chrony.activity.sources_online + delay: '0' + history: 7d + description: 'Sources online.' + preprocessing: + - type: JAVASCRIPT + parameters: + - 'return value.split(",")[0]' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'system.run[/usr/bin/chronyc -c activity]' + tags: + - tag: component + value: chrony + - uuid: f70864b390ae4217b6c41b42261f3476 + name: 'chrony: Sources with unknown address' + type: DEPENDENT + key: rabe.chrony.activity.sources_with_unknown_address + delay: '0' + history: 7d + description: 'Sources with unknown address.' + preprocessing: + - type: JAVASCRIPT + parameters: + - 'return value.split(",")[4]' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'system.run[/usr/bin/chronyc -c activity]' + tags: + - tag: component + value: chrony + - uuid: 543eeacffc944ceca2a5e58bdbd5f808 + name: 'chronyd: CPU seconds (system)' + type: DEPENDENT + key: rabe.chrony.chronyd.cputime_system + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (system) of chronyd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_system.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[chronyd,chrony,,summary]' + tags: + - tag: component + value: chrony + - tag: component + value: chronyd + - uuid: 714e726fbc3d407499df68217972219e + name: 'chronyd: CPU seconds (user)' + type: DEPENDENT + key: rabe.chrony.chronyd.cputime_user + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (user) of chronyd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_user.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[chronyd,chrony,,summary]' + tags: + - tag: component + value: chrony + - tag: component + value: chronyd + - uuid: 81b60ced2d504d3b89ecb6cffb2d8923 + name: 'chronyd: Number of processes' + type: DEPENDENT + key: rabe.chrony.chronyd.processes + delay: '0' + history: 7d + description: 'Number of chronyd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].processes.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[chronyd,chrony,,summary]' + tags: + - tag: component + value: chrony + - tag: component + value: chronyd + triggers: + - uuid: 613dcabbede04f0eb95d60c87e75ffef + expression: last(/chrony/rabe.chrony.chronyd.processes)<1 + name: 'chronyd: No running processes' + priority: HIGH + description: 'No running chronyd processes.' + tags: + - tag: scope + value: availability + - uuid: 75fc457172ab4673ad5a07daaf84e229 + name: 'chronyd: Memory usage (RSS)' + type: DEPENDENT + key: rabe.chrony.chronyd.rss + delay: '0' + history: 7d + units: B + description: 'Memory usage of chronyd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].rss.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[chronyd,chrony,,summary]' + tags: + - tag: component + value: chrony + - tag: component + value: chronyd + - uuid: f3a04d588f3748cd9ff81faa33b6fd3f + name: 'chronyd: Swap usage' + type: DEPENDENT + key: rabe.chrony.chronyd.swap + delay: '0' + history: 7d + units: B + description: 'Swap usage of chronyd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].swap.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[chronyd,chrony,,summary]' + tags: + - tag: component + value: chrony + - tag: component + value: chronyd + - uuid: a2e73469d6584108b941dbbe3d516447 + name: 'chronyd: Number of threads' + type: DEPENDENT + key: rabe.chrony.chronyd.threads + delay: '0' + history: 7d + description: 'Number of chronyd threads.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].threads.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[chronyd,chrony,,summary]' + tags: + - tag: component + value: chrony + - tag: component + value: chronyd + - uuid: 674b727174904227bae9d2e93234803c + name: 'chrony: Reference ID' + type: DEPENDENT + key: rabe.chrony.tracking.reference_id + delay: '0' + history: 7d + value_type: TEXT + trends: '0' + description: 'Reference ID.' + preprocessing: + - type: JAVASCRIPT + parameters: + - 'return value.split(",")[0]' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 1h + master_item: + key: 'system.run[/usr/bin/chronyc -c tracking]' + tags: + - tag: component + value: chrony + - uuid: d8c6446e98bd40efb779ec32169492f0 + name: 'chrony: Reference IP' + type: DEPENDENT + key: rabe.chrony.tracking.reference_ip + delay: '0' + history: 7d + value_type: TEXT + trends: '0' + description: 'Reference IP.' + preprocessing: + - type: JAVASCRIPT + parameters: + - 'return value.split(",")[1]' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 1h + master_item: + key: 'system.run[/usr/bin/chronyc -c tracking]' + tags: + - tag: component + value: chrony + - uuid: 31046634a8c349e798d5a9647531564f + name: 'chrony: Ref time (UTC)' + type: DEPENDENT + key: rabe.chrony.tracking.ref_time + delay: '0' + history: 7d + value_type: FLOAT + units: unixtime + description: 'Ref time (UTC).' + preprocessing: + - type: JAVASCRIPT + parameters: + - 'return value.split(",")[3]' + master_item: + key: 'system.run[/usr/bin/chronyc -c tracking]' + tags: + - tag: component + value: chrony + - uuid: bb49bcde746d4c60923ccf971847ca34 + name: 'chrony: Skew' + type: DEPENDENT + key: rabe.chrony.tracking.skew + delay: '0' + history: 7d + value_type: FLOAT + units: ppm + description: Skew. + preprocessing: + - type: JAVASCRIPT + parameters: + - 'return value.split(",")[9]' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'system.run[/usr/bin/chronyc -c tracking]' + tags: + - tag: component + value: chrony + - uuid: 0e487eabb0a443f19a7e27c420dd88e5 + name: 'chrony: Stratum' + type: DEPENDENT + key: rabe.chrony.tracking.stratum + delay: '0' + history: 7d + description: Stratum. + preprocessing: + - type: JAVASCRIPT + parameters: + - 'return value.split(",")[2]' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 1h + master_item: + key: 'system.run[/usr/bin/chronyc -c tracking]' + tags: + - tag: component + value: chrony + - uuid: 585d7ab3c8744de3a083718b928f3d2c + name: 'chrony: System time slowness' + type: DEPENDENT + key: rabe.chrony.tracking.system_time + delay: '0' + history: 7d + value_type: FLOAT + units: s + description: 'System time is seconds slow of NTP time' + preprocessing: + - type: JAVASCRIPT + parameters: + - 'return value.split(",")[4]' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'system.run[/usr/bin/chronyc -c tracking]' + tags: + - tag: component + value: chrony + - uuid: 4a02236adda54a649de3efc6470c56f5 + name: 'chrony: Activitiy' + type: ZABBIX_ACTIVE + key: 'system.run[/usr/bin/chronyc -c activity]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Results of chronyc -c activity' + tags: + - tag: component + value: raw + - uuid: a6379b74b39c40558b08b5a3cb699f4b + name: 'chrony: Tracking' + type: ZABBIX_ACTIVE + key: 'system.run[/usr/bin/chronyc -c tracking]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Results of chronyc -c tracking' + tags: + - tag: component + value: raw + tags: + - tag: class + value: software + - tag: target + value: chrony + macros: + - macro: '{$CHRONY.THRESHOLD.MIN_PROC}' + value: '1' + description: 'Minimum amount of processes expected to be running at all times.' + dashboards: + - uuid: 503d0b61ebde46aea00f259664f23252 + name: 'chrony: Overview' + pages: + - widgets: + - type: item + width: '9' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: stratum + - type: STRING + name: down_color + value: 4CAF50 + - type: ITEM + name: itemid + value: + host: chrony + key: rabe.chrony.tracking.stratum + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: INTEGER + name: show + value: '4' + - type: STRING + name: updown_color + value: 4CAF50 + - type: STRING + name: up_color + value: FF0000 + - type: item + 'y': '2' + width: '9' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_size + value: '5' + - type: STRING + name: description + value: 'reference IP' + - type: ITEM + name: itemid + value: + host: chrony + key: rabe.chrony.tracking.reference_ip + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: INTEGER + name: value_bold + value: '0' + - type: INTEGER + name: value_size + value: '30' + - type: graph + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: chrony + key: rabe.chrony.tracking.system_time + - type: STRING + name: reference + value: AABIG + - type: INTEGER + name: source_type + value: '1' + - type: graph + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: chrony + key: rabe.chrony.chronyd.cputime_user + - type: STRING + name: reference + value: AABIH + - type: INTEGER + name: source_type + value: '1' + - type: graph + 'y': '14' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: chrony + key: rabe.chrony.chronyd.rss + - type: STRING + name: reference + value: AABII + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '9' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: 'online sources' + - type: INTEGER + name: desc_size + value: '10' + - type: ITEM + name: itemid + value: + host: chrony + key: rabe.chrony.activity.sources_online + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: 43A047 + - type: STRING + name: thresholds.0.threshold + value: '3' + - type: item + x: '21' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: 'offline sources' + - type: INTEGER + name: desc_size + value: '10' + - type: ITEM + name: itemid + value: + host: chrony + key: rabe.chrony.activity.sources_offline + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF465C + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: item + x: '33' + width: '6' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: 'bursting online' + - type: ITEM + name: itemid + value: + host: chrony + key: rabe.chrony.activity.sources_burst_to_online + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF9800 + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: item + x: '33' + 'y': '2' + width: '6' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: 'bursting offline' + - type: ITEM + name: itemid + value: + host: chrony + key: rabe.chrony.activity.sources_burst_to_offline + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF465C + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: graph + x: '36' + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: chrony + key: rabe.chrony.tracking.skew + - type: STRING + name: reference + value: AABIJ + - type: INTEGER + name: source_type + value: '1' + - type: graph + x: '36' + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: chrony + key: rabe.chrony.chronyd.cputime_system + - type: STRING + name: reference + value: AABIK + - type: INTEGER + name: source_type + value: '1' + - type: graph + x: '36' + 'y': '14' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: chrony + key: rabe.chrony.chronyd.swap + - type: STRING + name: reference + value: AABIL + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '39' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: 'unknown sources' + - type: INTEGER + name: desc_size + value: '10' + - type: ITEM + name: itemid + value: + host: chrony + key: rabe.chrony.activity.sources_with_unknown_address + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF465C + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: item + x: '60' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: processes + - type: INTEGER + name: desc_size + value: '10' + - type: ITEM + name: itemid + value: + host: chrony + key: rabe.chrony.chronyd.processes + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF465C + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 43A047 + - type: STRING + name: thresholds.1.threshold + value: '1' diff --git a/Templates/Applications/chrony/7.0/docs/gen_ref_pages.py b/Templates/Applications/chrony/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/chrony/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/chrony/7.0/mkdocs.yaml b/Templates/Applications/chrony/7.0/mkdocs.yaml new file mode 100644 index 00000000..825c19e5 --- /dev/null +++ b/Templates/Applications/chrony/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: chrony" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/firewalld/7.0/README.md b/Templates/Applications/firewalld/7.0/README.md new file mode 100644 index 00000000..ad2d6024 --- /dev/null +++ b/Templates/Applications/firewalld/7.0/README.md @@ -0,0 +1,377 @@ +# Zabbix Template: firewalld + +![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: firewalld](https://img.shields.io/badge/target-firewalld-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Monitoring of [firewalld](https://firewalld.org/). + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Items + +### Item: firewalld: process summary + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Get info about firewalld processes + +```console +proc.get[firewalld,root,,summary] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +### Item: firewalld: Unit active state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". + +```console +rabe.firewalld.active_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["firewalld.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.ActiveState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: firewalld: CPU seconds (system) + +![component: firewalld](https://img.shields.io/badge/component-firewalld-00c9bf) + +Total CPU seconds (system) of firewalld processes. + +```console +rabe.firewalld.cputime_system +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[firewalld,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_system.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: firewalld: CPU seconds (user) + +![component: firewalld](https://img.shields.io/badge/component-firewalld-00c9bf) + +Total CPU seconds (user) of firewalld processes. + +```console +rabe.firewalld.cputime_user +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[firewalld,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_user.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: firewalld: Service load state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". + +```console +rabe.firewalld.load_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["firewalld.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.LoadState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: firewalld: Number of processes + +![component: firewalld](https://img.shields.io/badge/component-firewalld-00c9bf) + +Number of firewalld processes. + +```console +rabe.firewalld.processes +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[firewalld,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].processes.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: firewalld: Memory usage (RSS) + +![component: firewalld](https://img.shields.io/badge/component-firewalld-00c9bf) + +Memory usage of firewalld processes. + +```console +rabe.firewalld.rss +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[firewalld,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].rss.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: firewalld: Swap usage + +![component: firewalld](https://img.shields.io/badge/component-firewalld-00c9bf) + +Swap usage of firewalld processes. + +```console +rabe.firewalld.swap +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[firewalld,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].swap.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: firewalld: Number of threads + +![component: firewalld](https://img.shields.io/badge/component-firewalld-00c9bf) + +Number of firewalld threads. + +```console +rabe.firewalld.threads +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[firewalld,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].threads.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: firewalld: Unit file state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". + +```console +rabe.firewalld.unitfile_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["firewalld.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.UnitFileState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: firewalld: Uptime + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Number of seconds since unit entered the active state. + +```console +rabe.firewalld.uptime +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT in uptime | +| History | 7d | +| Source item | `systemd.unit.get["firewalld.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["data = JSON.parse(value);\nif (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) {\n return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000;\n}\nreturn null;\n"]` | + +### Item: firewalld: unit info + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) ![component: unit](https://img.shields.io/badge/component-unit-00c9bf) + +Get unit info from systemd + +```console +systemd.unit.get["firewalld.service"] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +## Triggers + +### Trigger: firewalld: Service is not running + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | +| Manual close | YES | + +```console +last(/firewalld/rabe.firewalld.active_state)<>1 +``` + +### Trigger: firewalld: No running processes + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + +No running firewalld processes. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | HIGH | + +```console +last(/firewalld/rabe.firewalld.processes)<{$FIREWALLD.THRESHOLD.MIN_PROC} +``` + +### Trigger: firewalld: has been restarted + +![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | INFO | +| Manual close | YES | + +```console +last(/firewalld/rabe.firewalld.uptime)<=10m +``` + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$FIREWALLD.THRESHOLD.MIN_PROC}` + +Minimum amount of processes expected to be running at all times. + +Default: + +```console +1 +``` + +## Dashboards + +The following Zabbix dashboards are included in this template. + +* firewalld: Overview + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/firewalld/7.0/docs/gen_ref_pages.py b/Templates/Applications/firewalld/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/firewalld/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/firewalld/7.0/firewalld.yaml b/Templates/Applications/firewalld/7.0/firewalld.yaml new file mode 100644 index 00000000..7ce86b95 --- /dev/null +++ b/Templates/Applications/firewalld/7.0/firewalld.yaml @@ -0,0 +1,592 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: dcfc6aa41ee44cf6a147e0390b959cca + template: firewalld + name: firewalld + description: | + Monitoring of [firewalld](https://firewalld.org/). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: e58846d3d0f7441985e4c2536c267a87 + name: 'firewalld: process summary' + type: ZABBIX_ACTIVE + key: 'proc.get[firewalld,root,,summary]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get info about firewalld processes' + tags: + - tag: component + value: raw + - uuid: daefe850dd144946b701d4021c57bcc0 + name: 'firewalld: Unit active state' + type: DEPENDENT + key: rabe.firewalld.active_state + delay: '0' + history: 7d + description: 'State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating".' + valuemap: + name: 'Unit Active State' + preprocessing: + - type: JSONPATH + parameters: + - $.ActiveState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["firewalld.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: 43a7ea6e27d34c7d9938eb2d43c0b206 + expression: last(/firewalld/rabe.firewalld.active_state)<>1 + name: 'firewalld: Service is not running' + priority: WARNING + manual_close: 'YES' + tags: + - tag: scope + value: availability + - uuid: c3d455aeb78c4b6a95e98b916cab7c7f + name: 'firewalld: CPU seconds (system)' + type: DEPENDENT + key: rabe.firewalld.cputime_system + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (system) of firewalld processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_system.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[firewalld,root,,summary]' + tags: + - tag: component + value: firewalld + - uuid: 201794babb9043c3b984bf1dd522e6a8 + name: 'firewalld: CPU seconds (user)' + type: DEPENDENT + key: rabe.firewalld.cputime_user + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (user) of firewalld processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_user.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[firewalld,root,,summary]' + tags: + - tag: component + value: firewalld + - uuid: 8043ff12c7b6450cac73c9be0f2f0053 + name: 'firewalld: Service load state' + type: DEPENDENT + key: rabe.firewalld.load_state + delay: '0' + history: 7d + description: 'State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked".' + valuemap: + name: 'Unit Load State' + preprocessing: + - type: JSONPATH + parameters: + - $.LoadState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["firewalld.service"]' + tags: + - tag: component + value: service + - uuid: 3c59ca45dd3440cab29e426d3952fd35 + name: 'firewalld: Number of processes' + type: DEPENDENT + key: rabe.firewalld.processes + delay: '0' + history: 7d + description: 'Number of firewalld processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].processes.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[firewalld,root,,summary]' + tags: + - tag: component + value: firewalld + triggers: + - uuid: 15a9761082ea433199dd5190c6c949a1 + expression: 'last(/firewalld/rabe.firewalld.processes)<{$FIREWALLD.THRESHOLD.MIN_PROC}' + name: 'firewalld: No running processes' + priority: HIGH + description: 'No running firewalld processes.' + dependencies: + - name: 'firewalld: Service is not running' + expression: last(/firewalld/rabe.firewalld.active_state)<>1 + tags: + - tag: scope + value: availability + - uuid: 13497879a89140f8a4f09f411e4fda05 + name: 'firewalld: Memory usage (RSS)' + type: DEPENDENT + key: rabe.firewalld.rss + delay: '0' + history: 7d + units: B + description: 'Memory usage of firewalld processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].rss.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[firewalld,root,,summary]' + tags: + - tag: component + value: firewalld + - uuid: 174de31167f646178e70775d587721de + name: 'firewalld: Swap usage' + type: DEPENDENT + key: rabe.firewalld.swap + delay: '0' + history: 7d + units: B + description: 'Swap usage of firewalld processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].swap.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[firewalld,root,,summary]' + tags: + - tag: component + value: firewalld + - uuid: f7891157dea943a88b84e8df0ae2cd7b + name: 'firewalld: Number of threads' + type: DEPENDENT + key: rabe.firewalld.threads + delay: '0' + history: 7d + description: 'Number of firewalld threads.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].threads.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[firewalld,root,,summary]' + tags: + - tag: component + value: firewalld + - uuid: 246dacbe5be0422ea2ade66dff2ac469 + name: 'firewalld: Unit file state' + type: DEPENDENT + key: rabe.firewalld.unitfile_state + delay: '0' + history: 7d + description: 'Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid".' + valuemap: + name: 'Unit File State' + preprocessing: + - type: JSONPATH + parameters: + - $.UnitFileState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["firewalld.service"]' + tags: + - tag: component + value: service + - uuid: 8c15b2bfaa1a4bac93c719720e434e5b + name: 'firewalld: Uptime' + type: DEPENDENT + key: rabe.firewalld.uptime + delay: '0' + history: 7d + value_type: FLOAT + units: uptime + description: 'Number of seconds since unit entered the active state.' + preprocessing: + - type: JAVASCRIPT + parameters: + - | + data = JSON.parse(value); + if (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) { + return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000; + } + return null; + master_item: + key: 'systemd.unit.get["firewalld.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: d14cf3f068f248b6ad48d1835eb5f37f + expression: last(/firewalld/rabe.firewalld.uptime)<=10m + name: 'firewalld: has been restarted' + priority: INFO + manual_close: 'YES' + tags: + - tag: scope + value: notice + - uuid: 62b0fbf2c0934f0cb6098108b631c34d + name: 'firewalld: unit info' + type: ZABBIX_ACTIVE + key: 'systemd.unit.get["firewalld.service"]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get unit info from systemd' + tags: + - tag: component + value: raw + - tag: component + value: unit + tags: + - tag: class + value: software + - tag: target + value: firewalld + macros: + - macro: '{$FIREWALLD.THRESHOLD.MIN_PROC}' + value: '1' + description: 'Minimum amount of processes expected to be running at all times.' + dashboards: + - uuid: 46f9f3ee13c94536b056e62463d5c7ea + name: 'firewalld: Overview' + pages: + - widgets: + - type: item + width: '24' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'active state' + - type: ITEM + name: itemid + value: + host: firewalld + key: rabe.firewalld.active_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: 4CAF50 + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: STRING + name: thresholds.1.color + value: FF0000 + - type: STRING + name: thresholds.1.threshold + value: '2' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '3' + - type: INTEGER + name: units_bold + value: '0' + - type: INTEGER + name: units_show + value: '0' + - type: graph + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: firewalld + key: rabe.firewalld.cputime_user + - type: STRING + name: reference + value: AABJP + - type: INTEGER + name: source_type + value: '1' + - type: graph + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: firewalld + key: rabe.firewalld.rss + - type: STRING + name: reference + value: AABJQ + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '24' + width: '18' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: uptime + - type: ITEM + name: itemid + value: + host: firewalld + key: rabe.firewalld.uptime + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: INTEGER + name: value_size + value: '15' + - type: graph + x: '36' + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: firewalld + key: rabe.firewalld.cputime_system + - type: STRING + name: reference + value: AABJR + - type: INTEGER + name: source_type + value: '1' + - type: graph + x: '36' + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: firewalld + key: rabe.firewalld.swap + - type: STRING + name: reference + value: AABJS + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '42' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'unit file state' + - type: ITEM + name: itemid + value: + host: firewalld + key: rabe.firewalld.unitfile_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '42' + 'y': '2' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'service load state' + - type: ITEM + name: itemid + value: + host: firewalld + key: rabe.firewalld.load_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '60' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: processes + - type: ITEM + name: itemid + value: + host: firewalld + key: rabe.firewalld.processes + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + valuemaps: + - uuid: fe60e2f692a441f690f0047c9ed0f565 + name: 'Unit Active State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: active + - value: '2' + newvalue: reloading + - value: '3' + newvalue: inactive + - value: '4' + newvalue: failed + - value: '5' + newvalue: activating + - value: '6' + newvalue: deactivating + - uuid: 14ad24ea691e4276a8a2dcb492cc665b + name: 'Unit File State' + mappings: + - value: o + newvalue: unknown + - value: '1' + newvalue: enabled + - value: '2' + newvalue: enabled-runtime + - value: '3' + newvalue: linked + - value: '4' + newvalue: linked-runtime + - value: '5' + newvalue: masked + - value: '6' + newvalue: masked-runtime + - value: '7' + newvalue: static + - value: '8' + newvalue: disabled + - value: '9' + newvalue: runtime + - uuid: 4f25a75d5c5c4c16bd545dde836b6b4c + name: 'Unit Load State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: loaded + - value: '2' + newvalue: error + - value: '3' + newvalue: masked diff --git a/Templates/Applications/firewalld/7.0/mkdocs.yaml b/Templates/Applications/firewalld/7.0/mkdocs.yaml new file mode 100644 index 00000000..1a1ac6e5 --- /dev/null +++ b/Templates/Applications/firewalld/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: firewalld" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/gssproxy/7.0/README.md b/Templates/Applications/gssproxy/7.0/README.md new file mode 100644 index 00000000..a6034540 --- /dev/null +++ b/Templates/Applications/gssproxy/7.0/README.md @@ -0,0 +1,377 @@ +# Zabbix Template: gssproxy + +![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: gssproxy](https://img.shields.io/badge/target-gssproxy-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Monitoring of [gssproxy](https://pagure.io/gssproxy). + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Items + +### Item: gssproxy: process summary + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Get info about gssproxy processes + +```console +proc.get[gssproxy,root,,summary] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +### Item: gssproxy: Unit active state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". + +```console +rabe.gssproxy.active_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["gssproxy.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.ActiveState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: gssproxy: CPU seconds (system) + +![component: gssproxy](https://img.shields.io/badge/component-gssproxy-00c9bf) + +Total CPU seconds (system) of gssproxy processes. + +```console +rabe.gssproxy.cputime_system +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[gssproxy,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_system.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: gssproxy: CPU seconds (user) + +![component: gssproxy](https://img.shields.io/badge/component-gssproxy-00c9bf) + +Total CPU seconds (user) of gssproxy processes. + +```console +rabe.gssproxy.cputime_user +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[gssproxy,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_user.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: gssproxy: Service load state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". + +```console +rabe.gssproxy.load_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["gssproxy.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.LoadState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: gssproxy: Number of processes + +![component: gssproxy](https://img.shields.io/badge/component-gssproxy-00c9bf) + +Number of gssproxy processes. + +```console +rabe.gssproxy.processes +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[gssproxy,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].processes.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: gssproxy: Memory usage (RSS) + +![component: gssproxy](https://img.shields.io/badge/component-gssproxy-00c9bf) + +Memory usage of gssproxy processes. + +```console +rabe.gssproxy.rss +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[gssproxy,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].rss.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: gssproxy: Swap usage + +![component: gssproxy](https://img.shields.io/badge/component-gssproxy-00c9bf) + +Swap usage of gssproxy processes. + +```console +rabe.gssproxy.swap +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[gssproxy,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].swap.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: gssproxy: Number of threads + +![component: gssproxy](https://img.shields.io/badge/component-gssproxy-00c9bf) + +Number of gssproxy threads. + +```console +rabe.gssproxy.threads +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[gssproxy,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].threads.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: gssproxy: Unit file state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". + +```console +rabe.gssproxy.unitfile_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["gssproxy.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.UnitFileState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: gssproxy: Uptime + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Number of seconds since unit entered the active state. + +```console +rabe.gssproxy.uptime +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT in uptime | +| History | 7d | +| Source item | `systemd.unit.get["gssproxy.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["data = JSON.parse(value);\nif (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) {\n return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000;\n}\nreturn null;\n"]` | + +### Item: gssproxy: unit info + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) ![component: unit](https://img.shields.io/badge/component-unit-00c9bf) + +Get unit info from systemd + +```console +systemd.unit.get["gssproxy.service"] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +## Triggers + +### Trigger: gssproxy: Service is not running + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | +| Manual close | YES | + +```console +last(/gssproxy/rabe.gssproxy.active_state)<>1 +``` + +### Trigger: gssproxy: No running processes + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + +No running gssproxy processes. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | HIGH | + +```console +last(/gssproxy/rabe.gssproxy.processes)<{$GSSPROXY.THRESHOLD.MIN_PROC} +``` + +### Trigger: gssproxy: has been restarted + +![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | INFO | +| Manual close | YES | + +```console +last(/gssproxy/rabe.gssproxy.uptime)<=10m +``` + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$GSSPROXY.THRESHOLD.MIN_PROC}` + +Minimum amount of processes expected to be running at all times. + +Default: + +```console +1 +``` + +## Dashboards + +The following Zabbix dashboards are included in this template. + +* gssproxy: Overview + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/gssproxy/7.0/docs/gen_ref_pages.py b/Templates/Applications/gssproxy/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/gssproxy/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/gssproxy/7.0/gssproxy.yaml b/Templates/Applications/gssproxy/7.0/gssproxy.yaml new file mode 100644 index 00000000..c162dea8 --- /dev/null +++ b/Templates/Applications/gssproxy/7.0/gssproxy.yaml @@ -0,0 +1,592 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: 95c6a57fd45d41efa0a69adbcfe77f7d + template: gssproxy + name: gssproxy + description: | + Monitoring of [gssproxy](https://pagure.io/gssproxy). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: 564363b341d641eba0f8a5ac10bd0dd6 + name: 'gssproxy: process summary' + type: ZABBIX_ACTIVE + key: 'proc.get[gssproxy,root,,summary]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get info about gssproxy processes' + tags: + - tag: component + value: raw + - uuid: f092260974494d4e96cc31757b334533 + name: 'gssproxy: Unit active state' + type: DEPENDENT + key: rabe.gssproxy.active_state + delay: '0' + history: 7d + description: 'State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating".' + valuemap: + name: 'Unit Active State' + preprocessing: + - type: JSONPATH + parameters: + - $.ActiveState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["gssproxy.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: 34ab28242bec487389f90f2566435e8a + expression: last(/gssproxy/rabe.gssproxy.active_state)<>1 + name: 'gssproxy: Service is not running' + priority: WARNING + manual_close: 'YES' + tags: + - tag: scope + value: availability + - uuid: 071714c8ab3a48f5ad3aa4940cc7fdcd + name: 'gssproxy: CPU seconds (system)' + type: DEPENDENT + key: rabe.gssproxy.cputime_system + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (system) of gssproxy processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_system.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[gssproxy,root,,summary]' + tags: + - tag: component + value: gssproxy + - uuid: f623e4087c544a57afeba76b316f9691 + name: 'gssproxy: CPU seconds (user)' + type: DEPENDENT + key: rabe.gssproxy.cputime_user + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (user) of gssproxy processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_user.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[gssproxy,root,,summary]' + tags: + - tag: component + value: gssproxy + - uuid: 6384b82e07a64b6aaa6d3094e344402f + name: 'gssproxy: Service load state' + type: DEPENDENT + key: rabe.gssproxy.load_state + delay: '0' + history: 7d + description: 'State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked".' + valuemap: + name: 'Unit Load State' + preprocessing: + - type: JSONPATH + parameters: + - $.LoadState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["gssproxy.service"]' + tags: + - tag: component + value: service + - uuid: b4bd342079254211ad2e7963f344bce4 + name: 'gssproxy: Number of processes' + type: DEPENDENT + key: rabe.gssproxy.processes + delay: '0' + history: 7d + description: 'Number of gssproxy processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].processes.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[gssproxy,root,,summary]' + tags: + - tag: component + value: gssproxy + triggers: + - uuid: 63770c9832ac4b928c936eaeeb4feba2 + expression: 'last(/gssproxy/rabe.gssproxy.processes)<{$GSSPROXY.THRESHOLD.MIN_PROC}' + name: 'gssproxy: No running processes' + priority: HIGH + description: 'No running gssproxy processes.' + dependencies: + - name: 'gssproxy: Service is not running' + expression: last(/gssproxy/rabe.gssproxy.active_state)<>1 + tags: + - tag: scope + value: availability + - uuid: c337e6fdbeb24b429fb1e335a52a7250 + name: 'gssproxy: Memory usage (RSS)' + type: DEPENDENT + key: rabe.gssproxy.rss + delay: '0' + history: 7d + units: B + description: 'Memory usage of gssproxy processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].rss.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[gssproxy,root,,summary]' + tags: + - tag: component + value: gssproxy + - uuid: 61b026e0800149978bdd2ff1a829a53b + name: 'gssproxy: Swap usage' + type: DEPENDENT + key: rabe.gssproxy.swap + delay: '0' + history: 7d + units: B + description: 'Swap usage of gssproxy processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].swap.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[gssproxy,root,,summary]' + tags: + - tag: component + value: gssproxy + - uuid: 0fcb923c94e3464e81f4d1fb19fd46cd + name: 'gssproxy: Number of threads' + type: DEPENDENT + key: rabe.gssproxy.threads + delay: '0' + history: 7d + description: 'Number of gssproxy threads.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].threads.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[gssproxy,root,,summary]' + tags: + - tag: component + value: gssproxy + - uuid: 948a1148dbb4460d96f54325ed30eb69 + name: 'gssproxy: Unit file state' + type: DEPENDENT + key: rabe.gssproxy.unitfile_state + delay: '0' + history: 7d + description: 'Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid".' + valuemap: + name: 'Unit File State' + preprocessing: + - type: JSONPATH + parameters: + - $.UnitFileState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["gssproxy.service"]' + tags: + - tag: component + value: service + - uuid: 2b33668b19954114bd38c63f39257279 + name: 'gssproxy: Uptime' + type: DEPENDENT + key: rabe.gssproxy.uptime + delay: '0' + history: 7d + value_type: FLOAT + units: uptime + description: 'Number of seconds since unit entered the active state.' + preprocessing: + - type: JAVASCRIPT + parameters: + - | + data = JSON.parse(value); + if (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) { + return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000; + } + return null; + master_item: + key: 'systemd.unit.get["gssproxy.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: 48bdcd85e25846e08594edfd130ddb13 + expression: last(/gssproxy/rabe.gssproxy.uptime)<=10m + name: 'gssproxy: has been restarted' + priority: INFO + manual_close: 'YES' + tags: + - tag: scope + value: notice + - uuid: f10701eed98a496f8bb8a2d2014f4f0e + name: 'gssproxy: unit info' + type: ZABBIX_ACTIVE + key: 'systemd.unit.get["gssproxy.service"]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get unit info from systemd' + tags: + - tag: component + value: raw + - tag: component + value: unit + tags: + - tag: class + value: software + - tag: target + value: gssproxy + macros: + - macro: '{$GSSPROXY.THRESHOLD.MIN_PROC}' + value: '1' + description: 'Minimum amount of processes expected to be running at all times.' + dashboards: + - uuid: 1dd7da0a2faf413895311fb37bc32bad + name: 'gssproxy: Overview' + pages: + - widgets: + - type: item + width: '24' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'active state' + - type: ITEM + name: itemid + value: + host: gssproxy + key: rabe.gssproxy.active_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: 4CAF50 + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: STRING + name: thresholds.1.color + value: FF0000 + - type: STRING + name: thresholds.1.threshold + value: '2' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '3' + - type: INTEGER + name: units_bold + value: '0' + - type: INTEGER + name: units_show + value: '0' + - type: graph + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: gssproxy + key: rabe.gssproxy.cputime_user + - type: STRING + name: reference + value: AABJT + - type: INTEGER + name: source_type + value: '1' + - type: graph + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: gssproxy + key: rabe.gssproxy.rss + - type: STRING + name: reference + value: AABJU + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '24' + width: '18' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: uptime + - type: ITEM + name: itemid + value: + host: gssproxy + key: rabe.gssproxy.uptime + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: INTEGER + name: value_size + value: '15' + - type: graph + x: '36' + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: gssproxy + key: rabe.gssproxy.cputime_system + - type: STRING + name: reference + value: AABJV + - type: INTEGER + name: source_type + value: '1' + - type: graph + x: '36' + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: gssproxy + key: rabe.gssproxy.swap + - type: STRING + name: reference + value: AABJW + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '42' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'unit file state' + - type: ITEM + name: itemid + value: + host: gssproxy + key: rabe.gssproxy.unitfile_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '7' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '8' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '9' + - type: item + x: '42' + 'y': '2' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'service load state' + - type: ITEM + name: itemid + value: + host: gssproxy + key: rabe.gssproxy.load_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '60' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: processes + - type: ITEM + name: itemid + value: + host: gssproxy + key: rabe.gssproxy.processes + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + valuemaps: + - uuid: 375d36e8d2e044e29d24234d765530fc + name: 'Unit Active State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: active + - value: '2' + newvalue: reloading + - value: '3' + newvalue: inactive + - value: '4' + newvalue: failed + - value: '5' + newvalue: activating + - value: '6' + newvalue: deactivating + - uuid: fa603bc484d640cf9834ce368f9f4294 + name: 'Unit File State' + mappings: + - value: o + newvalue: unknown + - value: '1' + newvalue: enabled + - value: '2' + newvalue: enabled-runtime + - value: '3' + newvalue: linked + - value: '4' + newvalue: linked-runtime + - value: '5' + newvalue: masked + - value: '6' + newvalue: masked-runtime + - value: '7' + newvalue: static + - value: '8' + newvalue: disabled + - value: '9' + newvalue: runtime + - uuid: f83b8519353740289bffb75bb4c618e4 + name: 'Unit Load State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: loaded + - value: '2' + newvalue: error + - value: '3' + newvalue: masked diff --git a/Templates/Applications/gssproxy/7.0/mkdocs.yaml b/Templates/Applications/gssproxy/7.0/mkdocs.yaml new file mode 100644 index 00000000..0326e950 --- /dev/null +++ b/Templates/Applications/gssproxy/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: gssproxy" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/qemu-ga/7.0/README.md b/Templates/Applications/qemu-ga/7.0/README.md new file mode 100644 index 00000000..c37dca62 --- /dev/null +++ b/Templates/Applications/qemu-ga/7.0/README.md @@ -0,0 +1,377 @@ +# Zabbix Template: QEMU Guest Agent + +![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: qemu-ga](https://img.shields.io/badge/target-qemu-ga-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Monitoring of the [QEMU Guest Agent](https://www.qemu.org/docs/master/interop/qemu-ga.html). + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Items + +### Item: qemu-ga: process summary + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Get info about qemu-ga processes + +```console +proc.get[qemu-ga,root,,summary] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +### Item: qemu-ga: Unit active state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". + +```console +rabe.qemu-ga.active_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["qemu-guest-agent.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.ActiveState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: qemu-ga: CPU seconds (system) + +![component: qemu-ga](https://img.shields.io/badge/component-qemu-ga-00c9bf) + +Total CPU seconds (system) of qemu-ga processes. + +```console +rabe.qemu-ga.cputime_system +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[qemu-ga,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_system.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: qemu-ga: CPU seconds (user) + +![component: qemu-ga](https://img.shields.io/badge/component-qemu-ga-00c9bf) + +Total CPU seconds (user) of qemu-ga processes. + +```console +rabe.qemu-ga.cputime_user +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[qemu-ga,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_user.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: qemu-ga: Service load state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". + +```console +rabe.qemu-ga.load_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["qemu-guest-agent.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.LoadState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: qemu-ga: Number of processes + +![component: qemu-ga](https://img.shields.io/badge/component-qemu-ga-00c9bf) + +Number of qemu-ga processes. + +```console +rabe.qemu-ga.processes +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[qemu-ga,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].processes.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: qemu-ga: Memory usage (RSS) + +![component: qemu-ga](https://img.shields.io/badge/component-qemu-ga-00c9bf) + +Memory usage of qemu-ga processes. + +```console +rabe.qemu-ga.rss +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[qemu-ga,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].rss.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: qemu-ga: Swap usage + +![component: qemu-ga](https://img.shields.io/badge/component-qemu-ga-00c9bf) + +Swap usage of qemu-ga processes. + +```console +rabe.qemu-ga.swap +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[qemu-ga,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].swap.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: qemu-ga: Number of threads + +![component: qemu-ga](https://img.shields.io/badge/component-qemu-ga-00c9bf) + +Number of qemu-ga threads. + +```console +rabe.qemu-ga.threads +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[qemu-ga,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].threads.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: qemu-ga: Unit file state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". + +```console +rabe.qemu-ga.unitfile_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["qemu-guest-agent.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.UnitFileState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: qemu-ga: Uptime + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Number of seconds since unit entered the active state. + +```console +rabe.qemu-ga.uptime +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT in uptime | +| History | 7d | +| Source item | `systemd.unit.get["qemu-guest-agent.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["data = JSON.parse(value);\nif (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) {\n return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000;\n}\nreturn null;\n"]` | + +### Item: qemu-ga: unit info + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) ![component: unit](https://img.shields.io/badge/component-unit-00c9bf) + +Get unit info from systemd + +```console +systemd.unit.get["qemu-guest-agent.service"] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +## Triggers + +### Trigger: qemu-ga: Service is not running + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | +| Manual close | YES | + +```console +last(/qemu-ga/rabe.qemu-ga.active_state)<>1 +``` + +### Trigger: qemu-ga: No running processes + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + +No running qemu-ga processes. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | HIGH | + +```console +last(/qemu-ga/rabe.qemu-ga.processes)<{$QEMUGA.THRESHOLD.MIN_PROC} +``` + +### Trigger: qemu-ga: has been restarted + +![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | INFO | +| Manual close | YES | + +```console +last(/qemu-ga/rabe.qemu-ga.uptime)<=10m +``` + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$QEMUGA.THRESHOLD.MIN_PROC}` + +Minimum amount of processes expected to be running at all times. + +Default: + +```console +1 +``` + +## Dashboards + +The following Zabbix dashboards are included in this template. + +* qemu-ga: Overview + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/qemu-ga/7.0/docs/gen_ref_pages.py b/Templates/Applications/qemu-ga/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/qemu-ga/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/qemu-ga/7.0/mkdocs.yaml b/Templates/Applications/qemu-ga/7.0/mkdocs.yaml new file mode 100644 index 00000000..b224d577 --- /dev/null +++ b/Templates/Applications/qemu-ga/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: QEMU Guest Agent" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/qemu-ga/7.0/qemu-ga.yaml b/Templates/Applications/qemu-ga/7.0/qemu-ga.yaml new file mode 100644 index 00000000..6fd6bffc --- /dev/null +++ b/Templates/Applications/qemu-ga/7.0/qemu-ga.yaml @@ -0,0 +1,592 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: 77a0624363cd4616a13d1902430ae186 + template: qemu-ga + name: 'QEMU Guest Agent' + description: | + Monitoring of the [QEMU Guest Agent](https://www.qemu.org/docs/master/interop/qemu-ga.html). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: 479183626b394584a9faf40cda6e86ff + name: 'qemu-ga: process summary' + type: ZABBIX_ACTIVE + key: 'proc.get[qemu-ga,root,,summary]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get info about qemu-ga processes' + tags: + - tag: component + value: raw + - uuid: 490c3dc19ef844dda08fc71378a65de2 + name: 'qemu-ga: Unit active state' + type: DEPENDENT + key: rabe.qemu-ga.active_state + delay: '0' + history: 7d + description: 'State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating".' + valuemap: + name: 'Unit Active State' + preprocessing: + - type: JSONPATH + parameters: + - $.ActiveState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["qemu-guest-agent.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: 35f0bcdb66a14d9da957bf89f86a5bcd + expression: last(/qemu-ga/rabe.qemu-ga.active_state)<>1 + name: 'qemu-ga: Service is not running' + priority: WARNING + manual_close: 'YES' + tags: + - tag: scope + value: availability + - uuid: 17bd216dfec5463f8ddbc8237bf25fbc + name: 'qemu-ga: CPU seconds (system)' + type: DEPENDENT + key: rabe.qemu-ga.cputime_system + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (system) of qemu-ga processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_system.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[qemu-ga,root,,summary]' + tags: + - tag: component + value: qemu-ga + - uuid: 1def6d220e36452b850cdb00ee088372 + name: 'qemu-ga: CPU seconds (user)' + type: DEPENDENT + key: rabe.qemu-ga.cputime_user + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (user) of qemu-ga processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_user.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[qemu-ga,root,,summary]' + tags: + - tag: component + value: qemu-ga + - uuid: 983e40d9d5f04fd483681421cedae2fe + name: 'qemu-ga: Service load state' + type: DEPENDENT + key: rabe.qemu-ga.load_state + delay: '0' + history: 7d + description: 'State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked".' + valuemap: + name: 'Unit Load State' + preprocessing: + - type: JSONPATH + parameters: + - $.LoadState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["qemu-guest-agent.service"]' + tags: + - tag: component + value: service + - uuid: f1dd7d16f45c4fd289cfa085ae1c88b8 + name: 'qemu-ga: Number of processes' + type: DEPENDENT + key: rabe.qemu-ga.processes + delay: '0' + history: 7d + description: 'Number of qemu-ga processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].processes.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[qemu-ga,root,,summary]' + tags: + - tag: component + value: qemu-ga + triggers: + - uuid: aa2a46515f98469482296b49600c44c7 + expression: 'last(/qemu-ga/rabe.qemu-ga.processes)<{$QEMUGA.THRESHOLD.MIN_PROC}' + name: 'qemu-ga: No running processes' + priority: HIGH + description: 'No running qemu-ga processes.' + dependencies: + - name: 'qemu-ga: Service is not running' + expression: last(/qemu-ga/rabe.qemu-ga.active_state)<>1 + tags: + - tag: scope + value: availability + - uuid: 49bda86d7fa6491e88b9cace94751f34 + name: 'qemu-ga: Memory usage (RSS)' + type: DEPENDENT + key: rabe.qemu-ga.rss + delay: '0' + history: 7d + units: B + description: 'Memory usage of qemu-ga processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].rss.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[qemu-ga,root,,summary]' + tags: + - tag: component + value: qemu-ga + - uuid: 850a82a7000d44509b709951fe00ac98 + name: 'qemu-ga: Swap usage' + type: DEPENDENT + key: rabe.qemu-ga.swap + delay: '0' + history: 7d + units: B + description: 'Swap usage of qemu-ga processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].swap.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[qemu-ga,root,,summary]' + tags: + - tag: component + value: qemu-ga + - uuid: b799e7ba76b2442ba0b296c51f7517a4 + name: 'qemu-ga: Number of threads' + type: DEPENDENT + key: rabe.qemu-ga.threads + delay: '0' + history: 7d + description: 'Number of qemu-ga threads.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].threads.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[qemu-ga,root,,summary]' + tags: + - tag: component + value: qemu-ga + - uuid: dc3d8fd54e7b44d4951f276f1703496d + name: 'qemu-ga: Unit file state' + type: DEPENDENT + key: rabe.qemu-ga.unitfile_state + delay: '0' + history: 7d + description: 'Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid".' + valuemap: + name: 'Unit File State' + preprocessing: + - type: JSONPATH + parameters: + - $.UnitFileState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["qemu-guest-agent.service"]' + tags: + - tag: component + value: service + - uuid: b44b4dda6f254b19879ce854b29f5f12 + name: 'qemu-ga: Uptime' + type: DEPENDENT + key: rabe.qemu-ga.uptime + delay: '0' + history: 7d + value_type: FLOAT + units: uptime + description: 'Number of seconds since unit entered the active state.' + preprocessing: + - type: JAVASCRIPT + parameters: + - | + data = JSON.parse(value); + if (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) { + return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000; + } + return null; + master_item: + key: 'systemd.unit.get["qemu-guest-agent.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: d2e99905e5e04957a2953ef7f71081f7 + expression: last(/qemu-ga/rabe.qemu-ga.uptime)<=10m + name: 'qemu-ga: has been restarted' + priority: INFO + manual_close: 'YES' + tags: + - tag: scope + value: notice + - uuid: 609efd8900794691a7ace4002d1c78ae + name: 'qemu-ga: unit info' + type: ZABBIX_ACTIVE + key: 'systemd.unit.get["qemu-guest-agent.service"]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get unit info from systemd' + tags: + - tag: component + value: raw + - tag: component + value: unit + tags: + - tag: class + value: software + - tag: target + value: qemu-ga + macros: + - macro: '{$QEMUGA.THRESHOLD.MIN_PROC}' + value: '1' + description: 'Minimum amount of processes expected to be running at all times.' + dashboards: + - uuid: 910162aa19a04fd9b91f491190ab4c74 + name: 'qemu-ga: Overview' + pages: + - widgets: + - type: item + width: '24' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'active state' + - type: ITEM + name: itemid + value: + host: qemu-ga + key: rabe.qemu-ga.active_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: 4CAF50 + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: STRING + name: thresholds.1.color + value: FF0000 + - type: STRING + name: thresholds.1.threshold + value: '2' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '3' + - type: INTEGER + name: units_bold + value: '0' + - type: INTEGER + name: units_show + value: '0' + - type: graph + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: qemu-ga + key: rabe.qemu-ga.cputime_user + - type: STRING + name: reference + value: AABJX + - type: INTEGER + name: source_type + value: '1' + - type: graph + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: qemu-ga + key: rabe.qemu-ga.rss + - type: STRING + name: reference + value: AABJY + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '24' + width: '18' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: uptime + - type: ITEM + name: itemid + value: + host: qemu-ga + key: rabe.qemu-ga.uptime + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: INTEGER + name: value_size + value: '15' + - type: graph + x: '36' + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: qemu-ga + key: rabe.qemu-ga.cputime_system + - type: STRING + name: reference + value: AABJZ + - type: INTEGER + name: source_type + value: '1' + - type: graph + x: '36' + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: qemu-ga + key: rabe.qemu-ga.swap + - type: STRING + name: reference + value: AABKA + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '42' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'unit file state' + - type: ITEM + name: itemid + value: + host: qemu-ga + key: rabe.qemu-ga.unitfile_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '42' + 'y': '2' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'service load state' + - type: ITEM + name: itemid + value: + host: qemu-ga + key: rabe.qemu-ga.load_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '60' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: processes + - type: ITEM + name: itemid + value: + host: qemu-ga + key: rabe.qemu-ga.processes + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + valuemaps: + - uuid: 3379206daed14761a2104f5bda46651f + name: 'Unit Active State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: active + - value: '2' + newvalue: reloading + - value: '3' + newvalue: inactive + - value: '4' + newvalue: failed + - value: '5' + newvalue: activating + - value: '6' + newvalue: deactivating + - uuid: ed6125e7aadc47b1bd6c5a5133fcb676 + name: 'Unit File State' + mappings: + - value: o + newvalue: unknown + - value: '1' + newvalue: enabled + - value: '2' + newvalue: enabled-runtime + - value: '3' + newvalue: linked + - value: '4' + newvalue: linked-runtime + - value: '5' + newvalue: masked + - value: '6' + newvalue: masked-runtime + - value: '7' + newvalue: static + - value: '8' + newvalue: disabled + - value: '9' + newvalue: runtime + - uuid: 35810908d92e41b2b760d0c38c887ceb + name: 'Unit Load State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: loaded + - value: '2' + newvalue: error + - value: '3' + newvalue: masked diff --git a/Templates/Applications/rpc.gssd/7.0/README.md b/Templates/Applications/rpc.gssd/7.0/README.md new file mode 100644 index 00000000..171ea724 --- /dev/null +++ b/Templates/Applications/rpc.gssd/7.0/README.md @@ -0,0 +1,377 @@ +# Zabbix Template: rpc.gssd + +![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: rpcgssd](https://img.shields.io/badge/target-rpcgssd-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Monitoring of [rpc.gssd](https://linux.die.net/man/8/rpc.gssd). + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Items + +### Item: rpc.gssd: process summary + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Get info about rpc.gssd processes + +```console +proc.get[rpc.gssd,root,,summary] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +### Item: rpc.gssd: Unit active state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". + +```console +rabe.rpc.gssd.active_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["rpc-gssd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.ActiveState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: rpc.gssd: CPU seconds (system) + +![component: rpcgssd](https://img.shields.io/badge/component-rpcgssd-00c9bf) + +Total CPU seconds (system) of rpc.gssd processes. + +```console +rabe.rpc.gssd.cputime_system +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[rpc.gssd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_system.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: rpc.gssd: CPU seconds (user) + +![component: rpcgssd](https://img.shields.io/badge/component-rpcgssd-00c9bf) + +Total CPU seconds (user) of rpc.gssd processes. + +```console +rabe.rpc.gssd.cputime_user +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[rpc.gssd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_user.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: rpc.gssd: Service load state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". + +```console +rabe.rpc.gssd.load_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["rpc-gssd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.LoadState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: rpc.gssd: Number of processes + +![component: rpcgssd](https://img.shields.io/badge/component-rpcgssd-00c9bf) + +Number of rpc.gssd processes. + +```console +rabe.rpc.gssd.processes +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[rpc.gssd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].processes.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: rpc.gssd: Memory usage (RSS) + +![component: rpcgssd](https://img.shields.io/badge/component-rpcgssd-00c9bf) + +Memory usage of rpc.gssd processes. + +```console +rabe.rpc.gssd.rss +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[rpc.gssd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].rss.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: rpc.gssd: Swap usage + +![component: rpcgssd](https://img.shields.io/badge/component-rpcgssd-00c9bf) + +Swap usage of rpc.gssd processes. + +```console +rabe.rpc.gssd.swap +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[rpc.gssd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].swap.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: rpc.gssd: Number of threads + +![component: rpcgssd](https://img.shields.io/badge/component-rpcgssd-00c9bf) + +Number of rpc.gssd threads. + +```console +rabe.rpc.gssd.threads +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[rpc.gssd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].threads.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: rpc.gssd: Unit file state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". + +```console +rabe.rpc.gssd.unitfile_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["rpc-gssd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.UnitFileState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: rpc.gssd: Uptime + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Number of seconds since unit entered the active state. + +```console +rabe.rpc.gssd.uptime +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT in uptime | +| History | 7d | +| Source item | `systemd.unit.get["rpc-gssd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["data = JSON.parse(value);\nif (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) {\n return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000;\n}\nreturn null;\n"]` | + +### Item: rpc.gssd: unit info + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) ![component: unit](https://img.shields.io/badge/component-unit-00c9bf) + +Get unit info from systemd + +```console +systemd.unit.get["rpc-gssd.service"] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +## Triggers + +### Trigger: rpc.gssd: Service is not running + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | +| Manual close | YES | + +```console +last(/rpc.gssd/rabe.rpc.gssd.active_state)<>1 +``` + +### Trigger: rpc.gssd: No running processes + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + +No running rpc.gssd processes. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | HIGH | + +```console +last(/rpc.gssd/rabe.rpc.gssd.processes)<{$RPC.GSSD.THRESHOLD.MIN_PROC} +``` + +### Trigger: rpc.gssd: has been restarted + +![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | INFO | +| Manual close | YES | + +```console +last(/rpc.gssd/rabe.rpc.gssd.uptime)<=10m +``` + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$RPC.GSSD.THRESHOLD.MIN_PROC}` + +Minimum amount of processes expected to be running at all times. + +Default: + +```console +1 +``` + +## Dashboards + +The following Zabbix dashboards are included in this template. + +* rpc.gssd: Overview + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/rpc.gssd/7.0/docs/gen_ref_pages.py b/Templates/Applications/rpc.gssd/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/rpc.gssd/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/rpc.gssd/7.0/mkdocs.yaml b/Templates/Applications/rpc.gssd/7.0/mkdocs.yaml new file mode 100644 index 00000000..05800412 --- /dev/null +++ b/Templates/Applications/rpc.gssd/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: rpc.gssd" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/rpc.gssd/7.0/rpc.gssd.yaml b/Templates/Applications/rpc.gssd/7.0/rpc.gssd.yaml new file mode 100644 index 00000000..3af398d9 --- /dev/null +++ b/Templates/Applications/rpc.gssd/7.0/rpc.gssd.yaml @@ -0,0 +1,592 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: c17341b0f4ae4087a5356f695608cdce + template: rpc.gssd + name: rpc.gssd + description: | + Monitoring of [rpc.gssd](https://linux.die.net/man/8/rpc.gssd). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: aa03535713e14255805c5c1017fe0357 + name: 'rpc.gssd: process summary' + type: ZABBIX_ACTIVE + key: 'proc.get[rpc.gssd,root,,summary]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get info about rpc.gssd processes' + tags: + - tag: component + value: raw + - uuid: 25a88fbd637b460eb5b4c387c35481ce + name: 'rpc.gssd: Unit active state' + type: DEPENDENT + key: rabe.rpc.gssd.active_state + delay: '0' + history: 7d + description: 'State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating".' + valuemap: + name: 'Unit Active State' + preprocessing: + - type: JSONPATH + parameters: + - $.ActiveState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["rpc-gssd.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: 95f68a5df31047c4a2d677cb130288af + expression: last(/rpc.gssd/rabe.rpc.gssd.active_state)<>1 + name: 'rpc.gssd: Service is not running' + priority: WARNING + manual_close: 'YES' + tags: + - tag: scope + value: availability + - uuid: 2cd32fd6e6b64ed5aa3a0edc391bf436 + name: 'rpc.gssd: CPU seconds (system)' + type: DEPENDENT + key: rabe.rpc.gssd.cputime_system + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (system) of rpc.gssd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_system.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rpc.gssd,root,,summary]' + tags: + - tag: component + value: rpcgssd + - uuid: b7977b94dd864c8dade8565e76133d61 + name: 'rpc.gssd: CPU seconds (user)' + type: DEPENDENT + key: rabe.rpc.gssd.cputime_user + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (user) of rpc.gssd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_user.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rpc.gssd,root,,summary]' + tags: + - tag: component + value: rpcgssd + - uuid: 013b833e86bf4626835be2d058f5284f + name: 'rpc.gssd: Service load state' + type: DEPENDENT + key: rabe.rpc.gssd.load_state + delay: '0' + history: 7d + description: 'State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked".' + valuemap: + name: 'Unit Load State' + preprocessing: + - type: JSONPATH + parameters: + - $.LoadState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["rpc-gssd.service"]' + tags: + - tag: component + value: service + - uuid: 600747130717406d96d09850419d282f + name: 'rpc.gssd: Number of processes' + type: DEPENDENT + key: rabe.rpc.gssd.processes + delay: '0' + history: 7d + description: 'Number of rpc.gssd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].processes.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rpc.gssd,root,,summary]' + tags: + - tag: component + value: rpcgssd + triggers: + - uuid: 4c40385bebe248cca1353f35a1814493 + expression: 'last(/rpc.gssd/rabe.rpc.gssd.processes)<{$RPC.GSSD.THRESHOLD.MIN_PROC}' + name: 'rpc.gssd: No running processes' + priority: HIGH + description: 'No running rpc.gssd processes.' + dependencies: + - name: 'rpc.gssd: Service is not running' + expression: last(/rpc.gssd/rabe.rpc.gssd.active_state)<>1 + tags: + - tag: scope + value: availability + - uuid: 98482fdc7c6648c4b6bf9a04ab84516a + name: 'rpc.gssd: Memory usage (RSS)' + type: DEPENDENT + key: rabe.rpc.gssd.rss + delay: '0' + history: 7d + units: B + description: 'Memory usage of rpc.gssd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].rss.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rpc.gssd,root,,summary]' + tags: + - tag: component + value: rpcgssd + - uuid: 49810a108bda4d88951f173cecacf02a + name: 'rpc.gssd: Swap usage' + type: DEPENDENT + key: rabe.rpc.gssd.swap + delay: '0' + history: 7d + units: B + description: 'Swap usage of rpc.gssd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].swap.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rpc.gssd,root,,summary]' + tags: + - tag: component + value: rpcgssd + - uuid: 29c8d2dc65424d68901122945f79ea24 + name: 'rpc.gssd: Number of threads' + type: DEPENDENT + key: rabe.rpc.gssd.threads + delay: '0' + history: 7d + description: 'Number of rpc.gssd threads.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].threads.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rpc.gssd,root,,summary]' + tags: + - tag: component + value: rpcgssd + - uuid: 1e1d8a5d4fb341388789d2e62175370b + name: 'rpc.gssd: Unit file state' + type: DEPENDENT + key: rabe.rpc.gssd.unitfile_state + delay: '0' + history: 7d + description: 'Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid".' + valuemap: + name: 'Unit File State' + preprocessing: + - type: JSONPATH + parameters: + - $.UnitFileState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["rpc-gssd.service"]' + tags: + - tag: component + value: service + - uuid: cdf83090d37a4ab4995d460956885916 + name: 'rpc.gssd: Uptime' + type: DEPENDENT + key: rabe.rpc.gssd.uptime + delay: '0' + history: 7d + value_type: FLOAT + units: uptime + description: 'Number of seconds since unit entered the active state.' + preprocessing: + - type: JAVASCRIPT + parameters: + - | + data = JSON.parse(value); + if (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) { + return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000; + } + return null; + master_item: + key: 'systemd.unit.get["rpc-gssd.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: 37b70a412ae7483d91db35a192a12f0e + expression: last(/rpc.gssd/rabe.rpc.gssd.uptime)<=10m + name: 'rpc.gssd: has been restarted' + priority: INFO + manual_close: 'YES' + tags: + - tag: scope + value: notice + - uuid: df8f87350ceb4880b6ae8b95ce2dd420 + name: 'rpc.gssd: unit info' + type: ZABBIX_ACTIVE + key: 'systemd.unit.get["rpc-gssd.service"]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get unit info from systemd' + tags: + - tag: component + value: raw + - tag: component + value: unit + tags: + - tag: class + value: software + - tag: target + value: rpcgssd + macros: + - macro: '{$RPC.GSSD.THRESHOLD.MIN_PROC}' + value: '1' + description: 'Minimum amount of processes expected to be running at all times.' + dashboards: + - uuid: a0304f5c816e4d01acb1b5c39e608e11 + name: 'rpc.gssd: Overview' + pages: + - widgets: + - type: item + width: '24' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'active state' + - type: ITEM + name: itemid + value: + host: rpc.gssd + key: rabe.rpc.gssd.active_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: 4CAF50 + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: STRING + name: thresholds.1.color + value: FF0000 + - type: STRING + name: thresholds.1.threshold + value: '2' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '3' + - type: INTEGER + name: units_bold + value: '0' + - type: INTEGER + name: units_show + value: '0' + - type: graph + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: rpc.gssd + key: rabe.rpc.gssd.cputime_user + - type: STRING + name: reference + value: AABKB + - type: INTEGER + name: source_type + value: '1' + - type: graph + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: rpc.gssd + key: rabe.rpc.gssd.rss + - type: STRING + name: reference + value: AABKC + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '24' + width: '18' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: uptime + - type: ITEM + name: itemid + value: + host: rpc.gssd + key: rabe.rpc.gssd.uptime + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: INTEGER + name: value_size + value: '15' + - type: graph + x: '36' + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: rpc.gssd + key: rabe.rpc.gssd.cputime_system + - type: STRING + name: reference + value: AABKD + - type: INTEGER + name: source_type + value: '1' + - type: graph + x: '36' + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: rpc.gssd + key: rabe.rpc.gssd.swap + - type: STRING + name: reference + value: AABKE + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '42' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'unit file state' + - type: ITEM + name: itemid + value: + host: rpc.gssd + key: rabe.rpc.gssd.unitfile_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '6' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '7' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '8' + - type: item + x: '42' + 'y': '2' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'service load state' + - type: ITEM + name: itemid + value: + host: rpc.gssd + key: rabe.rpc.gssd.load_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '60' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: processes + - type: ITEM + name: itemid + value: + host: rpc.gssd + key: rabe.rpc.gssd.processes + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + valuemaps: + - uuid: 3e75b70aa1a4490097f155444d90540d + name: 'Unit Active State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: active + - value: '2' + newvalue: reloading + - value: '3' + newvalue: inactive + - value: '4' + newvalue: failed + - value: '5' + newvalue: activating + - value: '6' + newvalue: deactivating + - uuid: fdba5e0122994f50b9d3f5765a9c715f + name: 'Unit File State' + mappings: + - value: o + newvalue: unknown + - value: '1' + newvalue: enabled + - value: '2' + newvalue: enabled-runtime + - value: '3' + newvalue: linked + - value: '4' + newvalue: linked-runtime + - value: '5' + newvalue: masked + - value: '6' + newvalue: masked-runtime + - value: '7' + newvalue: static + - value: '8' + newvalue: disabled + - value: '9' + newvalue: runtime + - uuid: d3f9d5b008de4827a92f3d4dda9c5e5b + name: 'Unit Load State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: loaded + - value: '2' + newvalue: error + - value: '3' + newvalue: masked diff --git a/Templates/Applications/rsyslog/7.0/README.md b/Templates/Applications/rsyslog/7.0/README.md new file mode 100644 index 00000000..1874a1a1 --- /dev/null +++ b/Templates/Applications/rsyslog/7.0/README.md @@ -0,0 +1,377 @@ +# Zabbix Template: rsyslog + +![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: rsyslog](https://img.shields.io/badge/target-rsyslog-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Monitoring of [rsyslog](https://www.rsyslog.com/). + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Items + +### Item: rsyslog: process summary + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Get info about rsyslog processes + +```console +proc.get[rsyslogd,root,,summary] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +### Item: rsyslog: Unit active state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". + +```console +rabe.rsyslog.active_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["rsyslog.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.ActiveState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: rsyslog: CPU seconds (system) + +![component: rsyslog](https://img.shields.io/badge/component-rsyslog-00c9bf) + +Total CPU seconds (system) of rsyslog processes. + +```console +rabe.rsyslog.cputime_system +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[rsyslogd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_system.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: rsyslog: CPU seconds (user) + +![component: rsyslog](https://img.shields.io/badge/component-rsyslog-00c9bf) + +Total CPU seconds (user) of rsyslog processes. + +```console +rabe.rsyslog.cputime_user +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[rsyslogd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_user.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: rsyslog: Service load state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". + +```console +rabe.rsyslog.load_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["rsyslog.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.LoadState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: rsyslog: Number of processes + +![component: rsyslog](https://img.shields.io/badge/component-rsyslog-00c9bf) + +Number of rsyslog processes. + +```console +rabe.rsyslog.processes +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[rsyslogd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].processes.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: rsyslog: Memory usage (RSS) + +![component: rsyslog](https://img.shields.io/badge/component-rsyslog-00c9bf) + +Memory usage of rsyslog processes. + +```console +rabe.rsyslog.rss +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[rsyslogd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].rss.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: rsyslog: Swap usage + +![component: rsyslog](https://img.shields.io/badge/component-rsyslog-00c9bf) + +Swap usage of rsyslog processes. + +```console +rabe.rsyslog.swap +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[rsyslogd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].swap.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: rsyslog: Number of threads + +![component: rsyslog](https://img.shields.io/badge/component-rsyslog-00c9bf) + +Number of rsyslog threads. + +```console +rabe.rsyslog.threads +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[rsyslogd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].threads.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: rsyslog: Unit file state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". + +```console +rabe.rsyslog.unitfile_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["rsyslog.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.UnitFileState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: rsyslog: Uptime + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Number of seconds since unit entered the active state. + +```console +rabe.rsyslog.uptime +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT in uptime | +| History | 7d | +| Source item | `systemd.unit.get["rsyslog.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["data = JSON.parse(value);\nif (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) {\n return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000;\n}\nreturn null;\n"]` | + +### Item: rsyslog: unit info + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) ![component: unit](https://img.shields.io/badge/component-unit-00c9bf) + +Get unit info from systemd + +```console +systemd.unit.get["rsyslog.service"] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +## Triggers + +### Trigger: rsyslog: Service is not running + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | +| Manual close | YES | + +```console +last(/rsyslog/rabe.rsyslog.active_state)<>1 +``` + +### Trigger: rsyslog: No running processes + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + +No running rsyslog processes. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | HIGH | + +```console +last(/rsyslog/rabe.rsyslog.processes)<{$RSYSLOG.THRESHOLD.MIN_PROC} +``` + +### Trigger: rsyslog: has been restarted + +![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | INFO | +| Manual close | YES | + +```console +last(/rsyslog/rabe.rsyslog.uptime)<=10m +``` + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$RSYSLOG.THRESHOLD.MIN_PROC}` + +Minimum amount of processes expected to be running at all times. + +Default: + +```console +1 +``` + +## Dashboards + +The following Zabbix dashboards are included in this template. + +* rsyslog: Overview + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/rsyslog/7.0/docs/gen_ref_pages.py b/Templates/Applications/rsyslog/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/rsyslog/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/rsyslog/7.0/mkdocs.yaml b/Templates/Applications/rsyslog/7.0/mkdocs.yaml new file mode 100644 index 00000000..c3efc45c --- /dev/null +++ b/Templates/Applications/rsyslog/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: rsyslog" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/rsyslog/7.0/rsyslog.yaml b/Templates/Applications/rsyslog/7.0/rsyslog.yaml new file mode 100644 index 00000000..1c992bec --- /dev/null +++ b/Templates/Applications/rsyslog/7.0/rsyslog.yaml @@ -0,0 +1,592 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: 67bcb0eff7844452b277630a5b03da13 + template: rsyslog + name: rsyslog + description: | + Monitoring of [rsyslog](https://www.rsyslog.com/). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: fd6bb615efd7419988d3f4280d4806e9 + name: 'rsyslog: process summary' + type: ZABBIX_ACTIVE + key: 'proc.get[rsyslogd,root,,summary]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get info about rsyslog processes' + tags: + - tag: component + value: raw + - uuid: eb72e78ac46a42099fc6398a77bf88a5 + name: 'rsyslog: Unit active state' + type: DEPENDENT + key: rabe.rsyslog.active_state + delay: '0' + history: 7d + description: 'State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating".' + valuemap: + name: 'Unit Active State' + preprocessing: + - type: JSONPATH + parameters: + - $.ActiveState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["rsyslog.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: eff32a718ecc44d5b28dc444b2a3abfe + expression: last(/rsyslog/rabe.rsyslog.active_state)<>1 + name: 'rsyslog: Service is not running' + priority: WARNING + manual_close: 'YES' + tags: + - tag: scope + value: availability + - uuid: 41be8e5506934eddba86d09b1aaf67d7 + name: 'rsyslog: CPU seconds (system)' + type: DEPENDENT + key: rabe.rsyslog.cputime_system + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (system) of rsyslog processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_system.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rsyslogd,root,,summary]' + tags: + - tag: component + value: rsyslog + - uuid: 6b777e6889834f59aff3c2eeaf96f560 + name: 'rsyslog: CPU seconds (user)' + type: DEPENDENT + key: rabe.rsyslog.cputime_user + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (user) of rsyslog processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_user.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rsyslogd,root,,summary]' + tags: + - tag: component + value: rsyslog + - uuid: 50c5ccf1b99b49d5809f6637f99fd257 + name: 'rsyslog: Service load state' + type: DEPENDENT + key: rabe.rsyslog.load_state + delay: '0' + history: 7d + description: 'State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked".' + valuemap: + name: 'Unit Load State' + preprocessing: + - type: JSONPATH + parameters: + - $.LoadState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["rsyslog.service"]' + tags: + - tag: component + value: service + - uuid: e4c66dfa4c1a457fac71189e2e9d7339 + name: 'rsyslog: Number of processes' + type: DEPENDENT + key: rabe.rsyslog.processes + delay: '0' + history: 7d + description: 'Number of rsyslog processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].processes.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rsyslogd,root,,summary]' + tags: + - tag: component + value: rsyslog + triggers: + - uuid: cd0c058237d84b3484cd6c91f78eed38 + expression: 'last(/rsyslog/rabe.rsyslog.processes)<{$RSYSLOG.THRESHOLD.MIN_PROC}' + name: 'rsyslog: No running processes' + priority: HIGH + description: 'No running rsyslog processes.' + dependencies: + - name: 'rsyslog: Service is not running' + expression: last(/rsyslog/rabe.rsyslog.active_state)<>1 + tags: + - tag: scope + value: availability + - uuid: d7111b302ee84409b14cd7850ac2dd87 + name: 'rsyslog: Memory usage (RSS)' + type: DEPENDENT + key: rabe.rsyslog.rss + delay: '0' + history: 7d + units: B + description: 'Memory usage of rsyslog processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].rss.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rsyslogd,root,,summary]' + tags: + - tag: component + value: rsyslog + - uuid: 890fa1b9113146baac4353cbf2752db6 + name: 'rsyslog: Swap usage' + type: DEPENDENT + key: rabe.rsyslog.swap + delay: '0' + history: 7d + units: B + description: 'Swap usage of rsyslog processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].swap.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rsyslogd,root,,summary]' + tags: + - tag: component + value: rsyslog + - uuid: 424037a4821c4d36a345db5cf24fd067 + name: 'rsyslog: Number of threads' + type: DEPENDENT + key: rabe.rsyslog.threads + delay: '0' + history: 7d + description: 'Number of rsyslog threads.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].threads.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[rsyslogd,root,,summary]' + tags: + - tag: component + value: rsyslog + - uuid: 308405e512c54311816100dbe9a40bdf + name: 'rsyslog: Unit file state' + type: DEPENDENT + key: rabe.rsyslog.unitfile_state + delay: '0' + history: 7d + description: 'Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid".' + valuemap: + name: 'Unit File State' + preprocessing: + - type: JSONPATH + parameters: + - $.UnitFileState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["rsyslog.service"]' + tags: + - tag: component + value: service + - uuid: 1afff21ff9c94fb39025c370a16e6fa4 + name: 'rsyslog: Uptime' + type: DEPENDENT + key: rabe.rsyslog.uptime + delay: '0' + history: 7d + value_type: FLOAT + units: uptime + description: 'Number of seconds since unit entered the active state.' + preprocessing: + - type: JAVASCRIPT + parameters: + - | + data = JSON.parse(value); + if (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) { + return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000; + } + return null; + master_item: + key: 'systemd.unit.get["rsyslog.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: 0ebab0a4fc134a048f05d07a86e1443d + expression: last(/rsyslog/rabe.rsyslog.uptime)<=10m + name: 'rsyslog: has been restarted' + priority: INFO + manual_close: 'YES' + tags: + - tag: scope + value: notice + - uuid: ef752a32685a4bc59466b8e56f9eb7bc + name: 'rsyslog: unit info' + type: ZABBIX_ACTIVE + key: 'systemd.unit.get["rsyslog.service"]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get unit info from systemd' + tags: + - tag: component + value: raw + - tag: component + value: unit + tags: + - tag: class + value: software + - tag: target + value: rsyslog + macros: + - macro: '{$RSYSLOG.THRESHOLD.MIN_PROC}' + value: '1' + description: 'Minimum amount of processes expected to be running at all times.' + dashboards: + - uuid: df75390b93dc45c4a43ef90ec6b1060b + name: 'rsyslog: Overview' + pages: + - widgets: + - type: item + width: '24' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'active state' + - type: ITEM + name: itemid + value: + host: rsyslog + key: rabe.rsyslog.active_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: 4CAF50 + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: STRING + name: thresholds.1.color + value: FF0000 + - type: STRING + name: thresholds.1.threshold + value: '2' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '3' + - type: INTEGER + name: units_bold + value: '0' + - type: INTEGER + name: units_show + value: '0' + - type: graph + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: rsyslog + key: rabe.rsyslog.cputime_user + - type: STRING + name: reference + value: AABKF + - type: INTEGER + name: source_type + value: '1' + - type: graph + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: rsyslog + key: rabe.rsyslog.rss + - type: STRING + name: reference + value: AABKG + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '24' + width: '18' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: uptime + - type: ITEM + name: itemid + value: + host: rsyslog + key: rabe.rsyslog.uptime + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: INTEGER + name: value_size + value: '15' + - type: graph + x: '36' + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: rsyslog + key: rabe.rsyslog.cputime_system + - type: STRING + name: reference + value: AABKH + - type: INTEGER + name: source_type + value: '1' + - type: graph + x: '36' + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: rsyslog + key: rabe.rsyslog.swap + - type: STRING + name: reference + value: AABKI + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '42' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'unit file state' + - type: ITEM + name: itemid + value: + host: rsyslog + key: rabe.rsyslog.unitfile_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '42' + 'y': '2' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'service load state' + - type: ITEM + name: itemid + value: + host: rsyslog + key: rabe.rsyslog.load_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '60' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: processes + - type: ITEM + name: itemid + value: + host: rsyslog + key: rabe.rsyslog.processes + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + valuemaps: + - uuid: 165f060c97b84515ada93713bb68847d + name: 'Unit Active State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: active + - value: '2' + newvalue: reloading + - value: '3' + newvalue: inactive + - value: '4' + newvalue: failed + - value: '5' + newvalue: activating + - value: '6' + newvalue: deactivating + - uuid: fdb6a8a860324de49fa51eb09f1f5a64 + name: 'Unit File State' + mappings: + - value: o + newvalue: unknown + - value: '1' + newvalue: enabled + - value: '2' + newvalue: enabled-runtime + - value: '3' + newvalue: linked + - value: '4' + newvalue: linked-runtime + - value: '5' + newvalue: masked + - value: '6' + newvalue: masked-runtime + - value: '7' + newvalue: static + - value: '8' + newvalue: disabled + - value: '9' + newvalue: runtime + - uuid: 07b22fdaf8b84e99bbc97062d622f0f4 + name: 'Unit Load State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: loaded + - value: '2' + newvalue: error + - value: '3' + newvalue: masked diff --git a/Templates/Applications/sssd/7.0/README.md b/Templates/Applications/sssd/7.0/README.md new file mode 100644 index 00000000..7f7ad12e --- /dev/null +++ b/Templates/Applications/sssd/7.0/README.md @@ -0,0 +1,377 @@ +# Zabbix Template: sssd + +![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: sssd](https://img.shields.io/badge/target-sssd-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Monitoring of [sssd](https://sssd.io). + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Items + +### Item: sssd: process summary + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Get info about sssd processes + +```console +proc.get[sssd,root,,summary] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +### Item: sssd: Unit active state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". + +```console +rabe.sssd.active_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["sssd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.ActiveState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: sssd: CPU seconds (system) + +![component: sssd](https://img.shields.io/badge/component-sssd-00c9bf) + +Total CPU seconds (system) of sssd processes. + +```console +rabe.sssd.cputime_system +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[sssd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_system.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: sssd: CPU seconds (user) + +![component: sssd](https://img.shields.io/badge/component-sssd-00c9bf) + +Total CPU seconds (user) of sssd processes. + +```console +rabe.sssd.cputime_user +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[sssd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_user.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: sssd: Service load state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". + +```console +rabe.sssd.load_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["sssd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.LoadState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: sssd: Number of processes + +![component: sssd](https://img.shields.io/badge/component-sssd-00c9bf) + +Number of sssd processes. + +```console +rabe.sssd.processes +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[sssd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].processes.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: sssd: Memory usage (RSS) + +![component: sssd](https://img.shields.io/badge/component-sssd-00c9bf) + +Memory usage of sssd processes. + +```console +rabe.sssd.rss +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[sssd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].rss.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: sssd: Swap usage + +![component: sssd](https://img.shields.io/badge/component-sssd-00c9bf) + +Swap usage of sssd processes. + +```console +rabe.sssd.swap +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[sssd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].swap.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: sssd: Number of threads + +![component: sssd](https://img.shields.io/badge/component-sssd-00c9bf) + +Number of sssd threads. + +```console +rabe.sssd.threads +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[sssd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].threads.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: sssd: Unit file state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". + +```console +rabe.sssd.unitfile_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["sssd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.UnitFileState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: sssd: Uptime + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Number of seconds since unit entered the active state. + +```console +rabe.sssd.uptime +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT in uptime | +| History | 7d | +| Source item | `systemd.unit.get["sssd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["data = JSON.parse(value);\nif (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) {\n return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000;\n}\nreturn null;\n"]` | + +### Item: sssd: unit info + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) ![component: unit](https://img.shields.io/badge/component-unit-00c9bf) + +Get unit info from systemd + +```console +systemd.unit.get["sssd.service"] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +## Triggers + +### Trigger: sssd: Service is not running + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | +| Manual close | YES | + +```console +last(/sssd/rabe.sssd.active_state)<>1 +``` + +### Trigger: sssd: No running processes + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + +No running sssd processes. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | HIGH | + +```console +last(/sssd/rabe.sssd.processes)<{$SSSD.THRESHOLD.MIN_PROC} +``` + +### Trigger: sssd: has been restarted + +![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | INFO | +| Manual close | YES | + +```console +last(/sssd/rabe.sssd.uptime)<=10m +``` + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$SSSD.THRESHOLD.MIN_PROC}` + +Minimum amount of processes expected to be running at all times. + +Default: + +```console +1 +``` + +## Dashboards + +The following Zabbix dashboards are included in this template. + +* sssd: Overview + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/sssd/7.0/docs/gen_ref_pages.py b/Templates/Applications/sssd/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/sssd/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/sssd/7.0/mkdocs.yaml b/Templates/Applications/sssd/7.0/mkdocs.yaml new file mode 100644 index 00000000..ce1e903d --- /dev/null +++ b/Templates/Applications/sssd/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: sssd" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/sssd/7.0/sssd.yaml b/Templates/Applications/sssd/7.0/sssd.yaml new file mode 100644 index 00000000..48bdf687 --- /dev/null +++ b/Templates/Applications/sssd/7.0/sssd.yaml @@ -0,0 +1,592 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: 16b1c17264c0460d92c29aa6b8adb8d1 + template: sssd + name: sssd + description: | + Monitoring of [sssd](https://sssd.io). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: f794b260ca324da69dd3b551a94d617d + name: 'sssd: process summary' + type: ZABBIX_ACTIVE + key: 'proc.get[sssd,root,,summary]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get info about sssd processes' + tags: + - tag: component + value: raw + - uuid: dd211793eab148abba1d130b47e8bf02 + name: 'sssd: Unit active state' + type: DEPENDENT + key: rabe.sssd.active_state + delay: '0' + history: 7d + description: 'State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating".' + valuemap: + name: 'Unit Active State' + preprocessing: + - type: JSONPATH + parameters: + - $.ActiveState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["sssd.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: 2b195da3505041d2b9167c89ca754576 + expression: last(/sssd/rabe.sssd.active_state)<>1 + name: 'sssd: Service is not running' + priority: WARNING + manual_close: 'YES' + tags: + - tag: scope + value: availability + - uuid: 42a91aec255a4c42bae147c8588bd660 + name: 'sssd: CPU seconds (system)' + type: DEPENDENT + key: rabe.sssd.cputime_system + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (system) of sssd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_system.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[sssd,root,,summary]' + tags: + - tag: component + value: sssd + - uuid: 95cb13a3d1cf4aae85429a3b3d29a01f + name: 'sssd: CPU seconds (user)' + type: DEPENDENT + key: rabe.sssd.cputime_user + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (user) of sssd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_user.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[sssd,root,,summary]' + tags: + - tag: component + value: sssd + - uuid: 630537b42c5c40049a0ae2859e03b723 + name: 'sssd: Service load state' + type: DEPENDENT + key: rabe.sssd.load_state + delay: '0' + history: 7d + description: 'State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked".' + valuemap: + name: 'Unit Load State' + preprocessing: + - type: JSONPATH + parameters: + - $.LoadState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["sssd.service"]' + tags: + - tag: component + value: service + - uuid: 65ba0f18eac0408cae1afee4f4b53046 + name: 'sssd: Number of processes' + type: DEPENDENT + key: rabe.sssd.processes + delay: '0' + history: 7d + description: 'Number of sssd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].processes.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[sssd,root,,summary]' + tags: + - tag: component + value: sssd + triggers: + - uuid: c47f07f0cd5b437082c2293f17812b6b + expression: 'last(/sssd/rabe.sssd.processes)<{$SSSD.THRESHOLD.MIN_PROC}' + name: 'sssd: No running processes' + priority: HIGH + description: 'No running sssd processes.' + dependencies: + - name: 'sssd: Service is not running' + expression: last(/sssd/rabe.sssd.active_state)<>1 + tags: + - tag: scope + value: availability + - uuid: 4b7f1921c57f4b0c8c0f970e3674c4b7 + name: 'sssd: Memory usage (RSS)' + type: DEPENDENT + key: rabe.sssd.rss + delay: '0' + history: 7d + units: B + description: 'Memory usage of sssd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].rss.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[sssd,root,,summary]' + tags: + - tag: component + value: sssd + - uuid: 7c7eaf25cf29483db288a7a06b832944 + name: 'sssd: Swap usage' + type: DEPENDENT + key: rabe.sssd.swap + delay: '0' + history: 7d + units: B + description: 'Swap usage of sssd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].swap.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[sssd,root,,summary]' + tags: + - tag: component + value: sssd + - uuid: b55d87f2113b4a28a53ac8dd5aeeefa7 + name: 'sssd: Number of threads' + type: DEPENDENT + key: rabe.sssd.threads + delay: '0' + history: 7d + description: 'Number of sssd threads.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].threads.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[sssd,root,,summary]' + tags: + - tag: component + value: sssd + - uuid: 47cfb060a88c45728d2aa5a8f903e961 + name: 'sssd: Unit file state' + type: DEPENDENT + key: rabe.sssd.unitfile_state + delay: '0' + history: 7d + description: 'Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid".' + valuemap: + name: 'Unit File State' + preprocessing: + - type: JSONPATH + parameters: + - $.UnitFileState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["sssd.service"]' + tags: + - tag: component + value: service + - uuid: a2f3779174da4f03891e01eae14c9264 + name: 'sssd: Uptime' + type: DEPENDENT + key: rabe.sssd.uptime + delay: '0' + history: 7d + value_type: FLOAT + units: uptime + description: 'Number of seconds since unit entered the active state.' + preprocessing: + - type: JAVASCRIPT + parameters: + - | + data = JSON.parse(value); + if (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) { + return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000; + } + return null; + master_item: + key: 'systemd.unit.get["sssd.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: cc585bbbe101460b923cea1b4a803cbc + expression: last(/sssd/rabe.sssd.uptime)<=10m + name: 'sssd: has been restarted' + priority: INFO + manual_close: 'YES' + tags: + - tag: scope + value: notice + - uuid: 95e635d0590843b68bd927e513f15619 + name: 'sssd: unit info' + type: ZABBIX_ACTIVE + key: 'systemd.unit.get["sssd.service"]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get unit info from systemd' + tags: + - tag: component + value: raw + - tag: component + value: unit + tags: + - tag: class + value: software + - tag: target + value: sssd + macros: + - macro: '{$SSSD.THRESHOLD.MIN_PROC}' + value: '1' + description: 'Minimum amount of processes expected to be running at all times.' + dashboards: + - uuid: b7b75193454546dc98336f500ae4ff49 + name: 'sssd: Overview' + pages: + - widgets: + - type: item + width: '24' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'active state' + - type: ITEM + name: itemid + value: + host: sssd + key: rabe.sssd.active_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: 4CAF50 + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: STRING + name: thresholds.1.color + value: FF0000 + - type: STRING + name: thresholds.1.threshold + value: '2' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '3' + - type: INTEGER + name: units_bold + value: '0' + - type: INTEGER + name: units_show + value: '0' + - type: graph + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: sssd + key: rabe.sssd.cputime_user + - type: STRING + name: reference + value: AABKJ + - type: INTEGER + name: source_type + value: '1' + - type: graph + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: sssd + key: rabe.sssd.rss + - type: STRING + name: reference + value: AABKK + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '24' + width: '18' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: uptime + - type: ITEM + name: itemid + value: + host: sssd + key: rabe.sssd.uptime + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: INTEGER + name: value_size + value: '15' + - type: graph + x: '36' + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: sssd + key: rabe.sssd.cputime_system + - type: STRING + name: reference + value: AABKL + - type: INTEGER + name: source_type + value: '1' + - type: graph + x: '36' + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: sssd + key: rabe.sssd.swap + - type: STRING + name: reference + value: AABKM + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '42' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'unit file state' + - type: ITEM + name: itemid + value: + host: sssd + key: rabe.sssd.unitfile_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '42' + 'y': '2' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'service load state' + - type: ITEM + name: itemid + value: + host: sssd + key: rabe.sssd.load_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '60' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: processes + - type: ITEM + name: itemid + value: + host: sssd + key: rabe.sssd.processes + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + valuemaps: + - uuid: 63dc6ca94ce84eff8a7352fd2d414382 + name: 'Unit Active State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: active + - value: '2' + newvalue: reloading + - value: '3' + newvalue: inactive + - value: '4' + newvalue: failed + - value: '5' + newvalue: activating + - value: '6' + newvalue: deactivating + - uuid: c479dbf0f1a64a209559d041ba5f25e3 + name: 'Unit File State' + mappings: + - value: o + newvalue: unknown + - value: '1' + newvalue: enabled + - value: '2' + newvalue: enabled-runtime + - value: '3' + newvalue: linked + - value: '4' + newvalue: linked-runtime + - value: '5' + newvalue: masked + - value: '6' + newvalue: masked-runtime + - value: '7' + newvalue: static + - value: '8' + newvalue: disabled + - value: '9' + newvalue: runtime + - uuid: 4df42b6777264d218b97878c10dadbdd + name: 'Unit Load State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: loaded + - value: '2' + newvalue: error + - value: '3' + newvalue: masked diff --git a/Templates/Applications/systemd-journald/7.0/README.md b/Templates/Applications/systemd-journald/7.0/README.md new file mode 100644 index 00000000..63332bb6 --- /dev/null +++ b/Templates/Applications/systemd-journald/7.0/README.md @@ -0,0 +1,377 @@ +# Zabbix Template: systemd-journald + +![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: systemd-journald](https://img.shields.io/badge/target-systemd-journald-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Monitoring of [systemd-journald](https://www.freedesktop.org/software/systemd/man/latest/systemd-journald.service.html). + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Items + +### Item: systemd-journald: process summary + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Get info about systemd-journald processes + +```console +proc.get[systemd-journald,root,,summary] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +### Item: systemd-journald: Unit active state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". + +```console +rabe.systemd-journald.active_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["systemd-journald.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.ActiveState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: systemd-journald: CPU seconds (system) + +![component: systemd-journald](https://img.shields.io/badge/component-systemd-journald-00c9bf) + +Total CPU seconds (system) of systemd-journald processes. + +```console +rabe.systemd-journald.cputime_system +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[systemd-journald,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_system.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-journald: CPU seconds (user) + +![component: systemd-journald](https://img.shields.io/badge/component-systemd-journald-00c9bf) + +Total CPU seconds (user) of systemd-journald processes. + +```console +rabe.systemd-journald.cputime_user +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[systemd-journald,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_user.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-journald: Service load state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". + +```console +rabe.systemd-journald.load_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["systemd-journald.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.LoadState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: systemd-journald: Number of processes + +![component: systemd-journald](https://img.shields.io/badge/component-systemd-journald-00c9bf) + +Number of systemd-journald processes. + +```console +rabe.systemd-journald.processes +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[systemd-journald,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].processes.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-journald: Memory usage (RSS) + +![component: systemd-journald](https://img.shields.io/badge/component-systemd-journald-00c9bf) + +Memory usage of systemd-journald processes. + +```console +rabe.systemd-journald.rss +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[systemd-journald,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].rss.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-journald: Swap usage + +![component: systemd-journald](https://img.shields.io/badge/component-systemd-journald-00c9bf) + +Swap usage of systemd-journald processes. + +```console +rabe.systemd-journald.swap +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[systemd-journald,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].swap.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-journald: Number of threads + +![component: systemd-journald](https://img.shields.io/badge/component-systemd-journald-00c9bf) + +Number of systemd-journald threads. + +```console +rabe.systemd-journald.threads +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[systemd-journald,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].threads.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-journald: Unit file state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". + +```console +rabe.systemd-journald.unitfile_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["systemd-journald.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.UnitFileState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: systemd-journald: Uptime + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Number of seconds since unit entered the active state. + +```console +rabe.systemd-journald.uptime +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT in uptime | +| History | 7d | +| Source item | `systemd.unit.get["systemd-journald.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["data = JSON.parse(value);\nif (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) {\n return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000;\n}\nreturn null;\n"]` | + +### Item: systemd-journald: unit info + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) ![component: unit](https://img.shields.io/badge/component-unit-00c9bf) + +Get unit info from systemd + +```console +systemd.unit.get["systemd-journald.service"] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +## Triggers + +### Trigger: systemd-journald: Service is not running + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | +| Manual close | YES | + +```console +last(/systemd-journald/rabe.systemd-journald.active_state)<>1 +``` + +### Trigger: systemd-journald: No running processes + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + +No running systemd-journald processes. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | HIGH | + +```console +last(/systemd-journald/rabe.systemd-journald.processes)<{$SYSTEMDJOURNALD.THRESHOLD.MIN_PROC} +``` + +### Trigger: systemd-journald: has been restarted + +![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | INFO | +| Manual close | YES | + +```console +last(/systemd-journald/rabe.systemd-journald.uptime)<=10m +``` + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$SYSTEMDJOURNALD.THRESHOLD.MIN_PROC}` + +Minimum amount of processes expected to be running at all times. + +Default: + +```console +1 +``` + +## Dashboards + +The following Zabbix dashboards are included in this template. + +* systemd-journald: Overview + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/systemd-journald/7.0/docs/gen_ref_pages.py b/Templates/Applications/systemd-journald/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/systemd-journald/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/systemd-journald/7.0/mkdocs.yaml b/Templates/Applications/systemd-journald/7.0/mkdocs.yaml new file mode 100644 index 00000000..f7863326 --- /dev/null +++ b/Templates/Applications/systemd-journald/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: systemd-journald" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/systemd-journald/7.0/systemd-journald.yaml b/Templates/Applications/systemd-journald/7.0/systemd-journald.yaml new file mode 100644 index 00000000..c3000382 --- /dev/null +++ b/Templates/Applications/systemd-journald/7.0/systemd-journald.yaml @@ -0,0 +1,592 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: c0d178b0ba524448b7bf7b5644009d37 + template: systemd-journald + name: systemd-journald + description: | + Monitoring of [systemd-journald](https://www.freedesktop.org/software/systemd/man/latest/systemd-journald.service.html). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: 363fe7de80bd462aa3d37146674de67c + name: 'systemd-journald: process summary' + type: ZABBIX_ACTIVE + key: 'proc.get[systemd-journald,root,,summary]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get info about systemd-journald processes' + tags: + - tag: component + value: raw + - uuid: 2494ccda55a045e894dcf33ee28ba00a + name: 'systemd-journald: Unit active state' + type: DEPENDENT + key: rabe.systemd-journald.active_state + delay: '0' + history: 7d + description: 'State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating".' + valuemap: + name: 'Unit Active State' + preprocessing: + - type: JSONPATH + parameters: + - $.ActiveState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["systemd-journald.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: 8912efe4d5334ec099cceed708e0aba8 + expression: last(/systemd-journald/rabe.systemd-journald.active_state)<>1 + name: 'systemd-journald: Service is not running' + priority: WARNING + manual_close: 'YES' + tags: + - tag: scope + value: availability + - uuid: c7931c7ada3747f39a4982111ad85344 + name: 'systemd-journald: CPU seconds (system)' + type: DEPENDENT + key: rabe.systemd-journald.cputime_system + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (system) of systemd-journald processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_system.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-journald,root,,summary]' + tags: + - tag: component + value: systemd-journald + - uuid: 945b74e98c744651a681109fe71ff16b + name: 'systemd-journald: CPU seconds (user)' + type: DEPENDENT + key: rabe.systemd-journald.cputime_user + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (user) of systemd-journald processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_user.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-journald,root,,summary]' + tags: + - tag: component + value: systemd-journald + - uuid: 86823152e33a48b3b3ec9ca2dd06c094 + name: 'systemd-journald: Service load state' + type: DEPENDENT + key: rabe.systemd-journald.load_state + delay: '0' + history: 7d + description: 'State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked".' + valuemap: + name: 'Unit Load State' + preprocessing: + - type: JSONPATH + parameters: + - $.LoadState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["systemd-journald.service"]' + tags: + - tag: component + value: service + - uuid: 7545d90e87ab4f8396591f0d1d0498b6 + name: 'systemd-journald: Number of processes' + type: DEPENDENT + key: rabe.systemd-journald.processes + delay: '0' + history: 7d + description: 'Number of systemd-journald processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].processes.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-journald,root,,summary]' + tags: + - tag: component + value: systemd-journald + triggers: + - uuid: 2e718d635eee47f8987d572b690dd20a + expression: 'last(/systemd-journald/rabe.systemd-journald.processes)<{$SYSTEMDJOURNALD.THRESHOLD.MIN_PROC}' + name: 'systemd-journald: No running processes' + priority: HIGH + description: 'No running systemd-journald processes.' + dependencies: + - name: 'systemd-journald: Service is not running' + expression: last(/systemd-journald/rabe.systemd-journald.active_state)<>1 + tags: + - tag: scope + value: availability + - uuid: ee555340f7544fb0b0ba742826baf5ab + name: 'systemd-journald: Memory usage (RSS)' + type: DEPENDENT + key: rabe.systemd-journald.rss + delay: '0' + history: 7d + units: B + description: 'Memory usage of systemd-journald processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].rss.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-journald,root,,summary]' + tags: + - tag: component + value: systemd-journald + - uuid: c11f4d417aa74fb8be1f4d5501eaf3f1 + name: 'systemd-journald: Swap usage' + type: DEPENDENT + key: rabe.systemd-journald.swap + delay: '0' + history: 7d + units: B + description: 'Swap usage of systemd-journald processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].swap.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-journald,root,,summary]' + tags: + - tag: component + value: systemd-journald + - uuid: fe6b759f836041878266787446195030 + name: 'systemd-journald: Number of threads' + type: DEPENDENT + key: rabe.systemd-journald.threads + delay: '0' + history: 7d + description: 'Number of systemd-journald threads.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].threads.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-journald,root,,summary]' + tags: + - tag: component + value: systemd-journald + - uuid: ea0bbb0d1309474fb9eb6ddcd255e7b2 + name: 'systemd-journald: Unit file state' + type: DEPENDENT + key: rabe.systemd-journald.unitfile_state + delay: '0' + history: 7d + description: 'Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid".' + valuemap: + name: 'Unit File State' + preprocessing: + - type: JSONPATH + parameters: + - $.UnitFileState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["systemd-journald.service"]' + tags: + - tag: component + value: service + - uuid: 7f0e73f84b974f58a666dbdd82aa2e91 + name: 'systemd-journald: Uptime' + type: DEPENDENT + key: rabe.systemd-journald.uptime + delay: '0' + history: 7d + value_type: FLOAT + units: uptime + description: 'Number of seconds since unit entered the active state.' + preprocessing: + - type: JAVASCRIPT + parameters: + - | + data = JSON.parse(value); + if (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) { + return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000; + } + return null; + master_item: + key: 'systemd.unit.get["systemd-journald.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: 20c0d0a59aee4471b591984a4de1b6fa + expression: last(/systemd-journald/rabe.systemd-journald.uptime)<=10m + name: 'systemd-journald: has been restarted' + priority: INFO + manual_close: 'YES' + tags: + - tag: scope + value: notice + - uuid: aa7a1a7f8ca2493c82057f5963a936a2 + name: 'systemd-journald: unit info' + type: ZABBIX_ACTIVE + key: 'systemd.unit.get["systemd-journald.service"]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get unit info from systemd' + tags: + - tag: component + value: raw + - tag: component + value: unit + tags: + - tag: class + value: software + - tag: target + value: systemd-journald + macros: + - macro: '{$SYSTEMDJOURNALD.THRESHOLD.MIN_PROC}' + value: '1' + description: 'Minimum amount of processes expected to be running at all times.' + dashboards: + - uuid: e7954e35bcb845b39fd8fb0b4a5b9654 + name: 'systemd-journald: Overview' + pages: + - widgets: + - type: item + width: '24' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'active state' + - type: ITEM + name: itemid + value: + host: systemd-journald + key: rabe.systemd-journald.active_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: 4CAF50 + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: STRING + name: thresholds.1.color + value: FF0000 + - type: STRING + name: thresholds.1.threshold + value: '2' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '3' + - type: INTEGER + name: units_bold + value: '0' + - type: INTEGER + name: units_show + value: '0' + - type: graph + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: systemd-journald + key: rabe.systemd-journald.cputime_user + - type: STRING + name: reference + value: AABKN + - type: INTEGER + name: source_type + value: '1' + - type: graph + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: systemd-journald + key: rabe.systemd-journald.rss + - type: STRING + name: reference + value: AABKO + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '24' + width: '18' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: uptime + - type: ITEM + name: itemid + value: + host: systemd-journald + key: rabe.systemd-journald.uptime + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: INTEGER + name: value_size + value: '15' + - type: graph + x: '36' + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: systemd-journald + key: rabe.systemd-journald.cputime_system + - type: STRING + name: reference + value: AABKP + - type: INTEGER + name: source_type + value: '1' + - type: graph + x: '36' + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: systemd-journald + key: rabe.systemd-journald.swap + - type: STRING + name: reference + value: AABKQ + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '42' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'unit file state' + - type: ITEM + name: itemid + value: + host: systemd-journald + key: rabe.systemd-journald.unitfile_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '6' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '7' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '8' + - type: item + x: '42' + 'y': '2' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'service load state' + - type: ITEM + name: itemid + value: + host: systemd-journald + key: rabe.systemd-journald.load_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '60' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: processes + - type: ITEM + name: itemid + value: + host: systemd-journald + key: rabe.systemd-journald.processes + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + valuemaps: + - uuid: a1a9b9d4abd44617b2c935ab7a996e4c + name: 'Unit Active State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: active + - value: '2' + newvalue: reloading + - value: '3' + newvalue: inactive + - value: '4' + newvalue: failed + - value: '5' + newvalue: activating + - value: '6' + newvalue: deactivating + - uuid: 76365f9e226341c990150d110e6d92db + name: 'Unit File State' + mappings: + - value: o + newvalue: unknown + - value: '1' + newvalue: enabled + - value: '2' + newvalue: enabled-runtime + - value: '3' + newvalue: linked + - value: '4' + newvalue: linked-runtime + - value: '5' + newvalue: masked + - value: '6' + newvalue: masked-runtime + - value: '7' + newvalue: static + - value: '8' + newvalue: disabled + - value: '9' + newvalue: runtime + - uuid: 46f704bbfdec4e3c872b6db247caecb2 + name: 'Unit Load State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: loaded + - value: '2' + newvalue: error + - value: '3' + newvalue: masked diff --git a/Templates/Applications/systemd-logind/7.0/README.md b/Templates/Applications/systemd-logind/7.0/README.md new file mode 100644 index 00000000..81aae2e4 --- /dev/null +++ b/Templates/Applications/systemd-logind/7.0/README.md @@ -0,0 +1,377 @@ +# Zabbix Template: systemd-logind + +![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: systemd-logind](https://img.shields.io/badge/target-systemd-logind-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Monitoring of [systemd-logind](https://www.freedesktop.org/software/systemd/man/latest/systemd-logind.service.html). + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Items + +### Item: systemd-logind: process summary + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Get info about systemd-logind processes + +```console +proc.get[systemd-logind,root,,summary] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +### Item: systemd-logind: Unit active state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". + +```console +rabe.systemd-logind.active_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["systemd-logind.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.ActiveState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: systemd-logind: CPU seconds (system) + +![component: systemd-logind](https://img.shields.io/badge/component-systemd-logind-00c9bf) + +Total CPU seconds (system) of systemd-logind processes. + +```console +rabe.systemd-logind.cputime_system +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[systemd-logind,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_system.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-logind: CPU seconds (user) + +![component: systemd-logind](https://img.shields.io/badge/component-systemd-logind-00c9bf) + +Total CPU seconds (user) of systemd-logind processes. + +```console +rabe.systemd-logind.cputime_user +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[systemd-logind,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_user.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-logind: Service load state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". + +```console +rabe.systemd-logind.load_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["systemd-logind.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.LoadState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: systemd-logind: Number of processes + +![component: systemd-logind](https://img.shields.io/badge/component-systemd-logind-00c9bf) + +Number of systemd-logind processes. + +```console +rabe.systemd-logind.processes +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[systemd-logind,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].processes.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-logind: Memory usage (RSS) + +![component: systemd-logind](https://img.shields.io/badge/component-systemd-logind-00c9bf) + +Memory usage of systemd-logind processes. + +```console +rabe.systemd-logind.rss +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[systemd-logind,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].rss.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-logind: Swap usage + +![component: systemd-logind](https://img.shields.io/badge/component-systemd-logind-00c9bf) + +Swap usage of systemd-logind processes. + +```console +rabe.systemd-logind.swap +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[systemd-logind,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].swap.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-logind: Number of threads + +![component: systemd-logind](https://img.shields.io/badge/component-systemd-logind-00c9bf) + +Number of systemd-logind threads. + +```console +rabe.systemd-logind.threads +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[systemd-logind,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].threads.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-logind: Unit file state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". + +```console +rabe.systemd-logind.unitfile_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["systemd-logind.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.UnitFileState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: systemd-logind: Uptime + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Number of seconds since unit entered the active state. + +```console +rabe.systemd-logind.uptime +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT in uptime | +| History | 7d | +| Source item | `systemd.unit.get["systemd-logind.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["data = JSON.parse(value);\nif (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) {\n return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000;\n}\nreturn null;\n"]` | + +### Item: systemd-logind: unit info + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) ![component: unit](https://img.shields.io/badge/component-unit-00c9bf) + +Get unit info from systemd + +```console +systemd.unit.get["systemd-logind.service"] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +## Triggers + +### Trigger: systemd-logind: Service is not running + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | +| Manual close | YES | + +```console +last(/systemd-logind/rabe.systemd-logind.active_state)<>1 +``` + +### Trigger: systemd-logind: No running processes + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + +No running systemd-logind processes. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | HIGH | + +```console +last(/systemd-logind/rabe.systemd-logind.processes)<{$SYSTEMDLOGIND.THRESHOLD.MIN_PROC} +``` + +### Trigger: systemd-logind: has been restarted + +![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | INFO | +| Manual close | YES | + +```console +last(/systemd-logind/rabe.systemd-logind.uptime)<=10m +``` + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$SYSTEMDLOGIND.THRESHOLD.MIN_PROC}` + +Minimum amount of processes expected to be running at all times. + +Default: + +```console +1 +``` + +## Dashboards + +The following Zabbix dashboards are included in this template. + +* systemd-logind: Overview + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/systemd-logind/7.0/docs/gen_ref_pages.py b/Templates/Applications/systemd-logind/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/systemd-logind/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/systemd-logind/7.0/mkdocs.yaml b/Templates/Applications/systemd-logind/7.0/mkdocs.yaml new file mode 100644 index 00000000..1e02bac3 --- /dev/null +++ b/Templates/Applications/systemd-logind/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: systemd-logind" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/systemd-logind/7.0/systemd-logind.yaml b/Templates/Applications/systemd-logind/7.0/systemd-logind.yaml new file mode 100644 index 00000000..1e6c07cd --- /dev/null +++ b/Templates/Applications/systemd-logind/7.0/systemd-logind.yaml @@ -0,0 +1,592 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: a30e5c013f51405f9a91afa1a6a978f2 + template: systemd-logind + name: systemd-logind + description: | + Monitoring of [systemd-logind](https://www.freedesktop.org/software/systemd/man/latest/systemd-logind.service.html). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: e77759138ce440cc85b1071b1a8ee9a0 + name: 'systemd-logind: process summary' + type: ZABBIX_ACTIVE + key: 'proc.get[systemd-logind,root,,summary]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get info about systemd-logind processes' + tags: + - tag: component + value: raw + - uuid: ce970f8212fd435182d3cd02ba4a1718 + name: 'systemd-logind: Unit active state' + type: DEPENDENT + key: rabe.systemd-logind.active_state + delay: '0' + history: 7d + description: 'State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating".' + valuemap: + name: 'Unit Active State' + preprocessing: + - type: JSONPATH + parameters: + - $.ActiveState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["systemd-logind.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: 4eab40cbbfe24d7fae40d3877392fa08 + expression: last(/systemd-logind/rabe.systemd-logind.active_state)<>1 + name: 'systemd-logind: Service is not running' + priority: WARNING + manual_close: 'YES' + tags: + - tag: scope + value: availability + - uuid: 9ea5c628669045dc83525cf198f9d55f + name: 'systemd-logind: CPU seconds (system)' + type: DEPENDENT + key: rabe.systemd-logind.cputime_system + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (system) of systemd-logind processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_system.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-logind,root,,summary]' + tags: + - tag: component + value: systemd-logind + - uuid: 150d11e553684077b6a55cc0fb04fd08 + name: 'systemd-logind: CPU seconds (user)' + type: DEPENDENT + key: rabe.systemd-logind.cputime_user + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (user) of systemd-logind processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_user.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-logind,root,,summary]' + tags: + - tag: component + value: systemd-logind + - uuid: 8670ce83d52c456fa2661936197d90c9 + name: 'systemd-logind: Service load state' + type: DEPENDENT + key: rabe.systemd-logind.load_state + delay: '0' + history: 7d + description: 'State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked".' + valuemap: + name: 'Unit Load State' + preprocessing: + - type: JSONPATH + parameters: + - $.LoadState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["systemd-logind.service"]' + tags: + - tag: component + value: service + - uuid: 0a44678ec5d14449944e9b3e315f4755 + name: 'systemd-logind: Number of processes' + type: DEPENDENT + key: rabe.systemd-logind.processes + delay: '0' + history: 7d + description: 'Number of systemd-logind processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].processes.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-logind,root,,summary]' + tags: + - tag: component + value: systemd-logind + triggers: + - uuid: faff94d6d02e440aae18fdd7b59bd73b + expression: 'last(/systemd-logind/rabe.systemd-logind.processes)<{$SYSTEMDLOGIND.THRESHOLD.MIN_PROC}' + name: 'systemd-logind: No running processes' + priority: HIGH + description: 'No running systemd-logind processes.' + dependencies: + - name: 'systemd-logind: Service is not running' + expression: last(/systemd-logind/rabe.systemd-logind.active_state)<>1 + tags: + - tag: scope + value: availability + - uuid: 6f538469a1d54a7586a721bd115cbdcf + name: 'systemd-logind: Memory usage (RSS)' + type: DEPENDENT + key: rabe.systemd-logind.rss + delay: '0' + history: 7d + units: B + description: 'Memory usage of systemd-logind processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].rss.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-logind,root,,summary]' + tags: + - tag: component + value: systemd-logind + - uuid: 61251f313d8b47f0860dc9983840c7e5 + name: 'systemd-logind: Swap usage' + type: DEPENDENT + key: rabe.systemd-logind.swap + delay: '0' + history: 7d + units: B + description: 'Swap usage of systemd-logind processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].swap.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-logind,root,,summary]' + tags: + - tag: component + value: systemd-logind + - uuid: 1b10af6c40224d29b2cc68628e3ab617 + name: 'systemd-logind: Number of threads' + type: DEPENDENT + key: rabe.systemd-logind.threads + delay: '0' + history: 7d + description: 'Number of systemd-logind threads.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].threads.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-logind,root,,summary]' + tags: + - tag: component + value: systemd-logind + - uuid: 97cb7b49a11f40f79295fc5091d62aad + name: 'systemd-logind: Unit file state' + type: DEPENDENT + key: rabe.systemd-logind.unitfile_state + delay: '0' + history: 7d + description: 'Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid".' + valuemap: + name: 'Unit File State' + preprocessing: + - type: JSONPATH + parameters: + - $.UnitFileState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["systemd-logind.service"]' + tags: + - tag: component + value: service + - uuid: 194b6a296bc747a397fd19b83d2ccd7e + name: 'systemd-logind: Uptime' + type: DEPENDENT + key: rabe.systemd-logind.uptime + delay: '0' + history: 7d + value_type: FLOAT + units: uptime + description: 'Number of seconds since unit entered the active state.' + preprocessing: + - type: JAVASCRIPT + parameters: + - | + data = JSON.parse(value); + if (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) { + return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000; + } + return null; + master_item: + key: 'systemd.unit.get["systemd-logind.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: 8e6f3284cad14757adbf6c53f59c315c + expression: last(/systemd-logind/rabe.systemd-logind.uptime)<=10m + name: 'systemd-logind: has been restarted' + priority: INFO + manual_close: 'YES' + tags: + - tag: scope + value: notice + - uuid: 01564f12c06d4334b439ec69a19da517 + name: 'systemd-logind: unit info' + type: ZABBIX_ACTIVE + key: 'systemd.unit.get["systemd-logind.service"]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get unit info from systemd' + tags: + - tag: component + value: raw + - tag: component + value: unit + tags: + - tag: class + value: software + - tag: target + value: systemd-logind + macros: + - macro: '{$SYSTEMDLOGIND.THRESHOLD.MIN_PROC}' + value: '1' + description: 'Minimum amount of processes expected to be running at all times.' + dashboards: + - uuid: 9fd3c447ca7441b1834af2750b6feda6 + name: 'systemd-logind: Overview' + pages: + - widgets: + - type: item + width: '24' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'active state' + - type: ITEM + name: itemid + value: + host: systemd-logind + key: rabe.systemd-logind.active_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: 4CAF50 + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: STRING + name: thresholds.1.color + value: FF0000 + - type: STRING + name: thresholds.1.threshold + value: '2' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '3' + - type: INTEGER + name: units_bold + value: '0' + - type: INTEGER + name: units_show + value: '0' + - type: graph + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: systemd-logind + key: rabe.systemd-logind.cputime_user + - type: STRING + name: reference + value: AABKR + - type: INTEGER + name: source_type + value: '1' + - type: graph + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: systemd-logind + key: rabe.systemd-logind.rss + - type: STRING + name: reference + value: AABKS + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '24' + width: '18' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: uptime + - type: ITEM + name: itemid + value: + host: systemd-logind + key: rabe.systemd-logind.uptime + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: INTEGER + name: value_size + value: '15' + - type: graph + x: '36' + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: systemd-logind + key: rabe.systemd-logind.cputime_system + - type: STRING + name: reference + value: AABKT + - type: INTEGER + name: source_type + value: '1' + - type: graph + x: '36' + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: systemd-logind + key: rabe.systemd-logind.swap + - type: STRING + name: reference + value: AABKU + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '42' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'unit file state' + - type: ITEM + name: itemid + value: + host: systemd-logind + key: rabe.systemd-logind.unitfile_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '6' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '7' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '8' + - type: item + x: '42' + 'y': '2' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'service load state' + - type: ITEM + name: itemid + value: + host: systemd-logind + key: rabe.systemd-logind.load_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '60' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: processes + - type: ITEM + name: itemid + value: + host: systemd-logind + key: rabe.systemd-logind.processes + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + valuemaps: + - uuid: 273454416134432b8069656b61227493 + name: 'Unit Active State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: active + - value: '2' + newvalue: reloading + - value: '3' + newvalue: inactive + - value: '4' + newvalue: failed + - value: '5' + newvalue: activating + - value: '6' + newvalue: deactivating + - uuid: 2fbb5aa82d9d4e919ea068f761c2f991 + name: 'Unit File State' + mappings: + - value: o + newvalue: unknown + - value: '1' + newvalue: enabled + - value: '2' + newvalue: enabled-runtime + - value: '3' + newvalue: linked + - value: '4' + newvalue: linked-runtime + - value: '5' + newvalue: masked + - value: '6' + newvalue: masked-runtime + - value: '7' + newvalue: static + - value: '8' + newvalue: disabled + - value: '9' + newvalue: runtime + - uuid: d09f03ba510d43658aedd58b7132738f + name: 'Unit Load State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: loaded + - value: '2' + newvalue: error + - value: '3' + newvalue: masked diff --git a/Templates/Applications/systemd-udevd/7.0/README.md b/Templates/Applications/systemd-udevd/7.0/README.md new file mode 100644 index 00000000..d543e8df --- /dev/null +++ b/Templates/Applications/systemd-udevd/7.0/README.md @@ -0,0 +1,377 @@ +# Zabbix Template: systemd-udevd + +![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: systemd-udevd](https://img.shields.io/badge/target-systemd-udevd-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Monitoring of [systemd-udevd](https://www.freedesktop.org/software/systemd/man/latest/systemd-udevd.service.html). + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Items + +### Item: systemd-udevd: process summary + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Get info about systemd-udevd processes + +```console +proc.get[systemd-udevd,root,,summary] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +### Item: systemd-udevd: Unit active state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". + +```console +rabe.systemd-udevd.active_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["systemd-udevd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.ActiveState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: systemd-udevd: CPU seconds (system) + +![component: systemd-udevd](https://img.shields.io/badge/component-systemd-udevd-00c9bf) + +Total CPU seconds (system) of systemd-udevd processes. + +```console +rabe.systemd-udevd.cputime_system +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[systemd-udevd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_system.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-udevd: CPU seconds (user) + +![component: systemd-udevd](https://img.shields.io/badge/component-systemd-udevd-00c9bf) + +Total CPU seconds (user) of systemd-udevd processes. + +```console +rabe.systemd-udevd.cputime_user +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[systemd-udevd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_user.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-udevd: Service load state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". + +```console +rabe.systemd-udevd.load_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["systemd-udevd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.LoadState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: systemd-udevd: Number of processes + +![component: systemd-udevd](https://img.shields.io/badge/component-systemd-udevd-00c9bf) + +Number of systemd-udevd processes. + +```console +rabe.systemd-udevd.processes +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[systemd-udevd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].processes.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-udevd: Memory usage (RSS) + +![component: systemd-udevd](https://img.shields.io/badge/component-systemd-udevd-00c9bf) + +Memory usage of systemd-udevd processes. + +```console +rabe.systemd-udevd.rss +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[systemd-udevd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].rss.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-udevd: Swap usage + +![component: systemd-udevd](https://img.shields.io/badge/component-systemd-udevd-00c9bf) + +Swap usage of systemd-udevd processes. + +```console +rabe.systemd-udevd.swap +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[systemd-udevd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].swap.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-udevd: Number of threads + +![component: systemd-udevd](https://img.shields.io/badge/component-systemd-udevd-00c9bf) + +Number of systemd-udevd threads. + +```console +rabe.systemd-udevd.threads +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[systemd-udevd,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].threads.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: systemd-udevd: Unit file state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". + +```console +rabe.systemd-udevd.unitfile_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["systemd-udevd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.UnitFileState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: systemd-udevd: Uptime + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Number of seconds since unit entered the active state. + +```console +rabe.systemd-udevd.uptime +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT in uptime | +| History | 7d | +| Source item | `systemd.unit.get["systemd-udevd.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["data = JSON.parse(value);\nif (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) {\n return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000;\n}\nreturn null;\n"]` | + +### Item: systemd-udevd: unit info + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) ![component: unit](https://img.shields.io/badge/component-unit-00c9bf) + +Get unit info from systemd + +```console +systemd.unit.get["systemd-udevd.service"] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +## Triggers + +### Trigger: systemd-udevd: Service is not running + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | +| Manual close | YES | + +```console +last(/systemd-udevd/rabe.systemd-udevd.active_state)<>1 +``` + +### Trigger: systemd-udevd: No running processes + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + +No running systemd-udevd processes. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | HIGH | + +```console +last(/systemd-udevd/rabe.systemd-udevd.processes)<{$SYSTEMDUDEVD.THRESHOLD.MIN_PROC} +``` + +### Trigger: systemd-udevd: has been restarted + +![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | INFO | +| Manual close | YES | + +```console +last(/systemd-udevd/rabe.systemd-udevd.uptime)<=10m +``` + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$SYSTEMDUDEVD.THRESHOLD.MIN_PROC}` + +Minimum amount of processes expected to be running at all times. + +Default: + +```console +1 +``` + +## Dashboards + +The following Zabbix dashboards are included in this template. + +* systemd-udevd: Overview + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/systemd-udevd/7.0/docs/gen_ref_pages.py b/Templates/Applications/systemd-udevd/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/systemd-udevd/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/systemd-udevd/7.0/mkdocs.yaml b/Templates/Applications/systemd-udevd/7.0/mkdocs.yaml new file mode 100644 index 00000000..ad176517 --- /dev/null +++ b/Templates/Applications/systemd-udevd/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: systemd-udevd" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/systemd-udevd/7.0/systemd-udevd.yaml b/Templates/Applications/systemd-udevd/7.0/systemd-udevd.yaml new file mode 100644 index 00000000..50b4ffb3 --- /dev/null +++ b/Templates/Applications/systemd-udevd/7.0/systemd-udevd.yaml @@ -0,0 +1,592 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: 68c64cee88374d66840dc22b430809d1 + template: systemd-udevd + name: systemd-udevd + description: | + Monitoring of [systemd-udevd](https://www.freedesktop.org/software/systemd/man/latest/systemd-udevd.service.html). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: e84cdf8391e84b0bb54750115c7575f6 + name: 'systemd-udevd: process summary' + type: ZABBIX_ACTIVE + key: 'proc.get[systemd-udevd,root,,summary]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get info about systemd-udevd processes' + tags: + - tag: component + value: raw + - uuid: 169078f3661f44049ecfe145d31cfd72 + name: 'systemd-udevd: Unit active state' + type: DEPENDENT + key: rabe.systemd-udevd.active_state + delay: '0' + history: 7d + description: 'State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating".' + valuemap: + name: 'Unit Active State' + preprocessing: + - type: JSONPATH + parameters: + - $.ActiveState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["systemd-udevd.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: cc3834ce8310433298ed3c3ee0ad7711 + expression: last(/systemd-udevd/rabe.systemd-udevd.active_state)<>1 + name: 'systemd-udevd: Service is not running' + priority: WARNING + manual_close: 'YES' + tags: + - tag: scope + value: availability + - uuid: 865669d5334043fbbea0cbb8ebb76ff8 + name: 'systemd-udevd: CPU seconds (system)' + type: DEPENDENT + key: rabe.systemd-udevd.cputime_system + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (system) of systemd-udevd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_system.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-udevd,root,,summary]' + tags: + - tag: component + value: systemd-udevd + - uuid: f1764724074e4af6b847345962f89bb9 + name: 'systemd-udevd: CPU seconds (user)' + type: DEPENDENT + key: rabe.systemd-udevd.cputime_user + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (user) of systemd-udevd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_user.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-udevd,root,,summary]' + tags: + - tag: component + value: systemd-udevd + - uuid: 1cb71c9a92744506b2cc41c1255edeac + name: 'systemd-udevd: Service load state' + type: DEPENDENT + key: rabe.systemd-udevd.load_state + delay: '0' + history: 7d + description: 'State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked".' + valuemap: + name: 'Unit Load State' + preprocessing: + - type: JSONPATH + parameters: + - $.LoadState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["systemd-udevd.service"]' + tags: + - tag: component + value: service + - uuid: ed587c3a2b304a169b26b5a5ef6d1685 + name: 'systemd-udevd: Number of processes' + type: DEPENDENT + key: rabe.systemd-udevd.processes + delay: '0' + history: 7d + description: 'Number of systemd-udevd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].processes.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-udevd,root,,summary]' + tags: + - tag: component + value: systemd-udevd + triggers: + - uuid: e05fd53525de4f05a5abf0406704bb95 + expression: 'last(/systemd-udevd/rabe.systemd-udevd.processes)<{$SYSTEMDUDEVD.THRESHOLD.MIN_PROC}' + name: 'systemd-udevd: No running processes' + priority: HIGH + description: 'No running systemd-udevd processes.' + dependencies: + - name: 'systemd-udevd: Service is not running' + expression: last(/systemd-udevd/rabe.systemd-udevd.active_state)<>1 + tags: + - tag: scope + value: availability + - uuid: 962006696ce140938b981b211f6805a5 + name: 'systemd-udevd: Memory usage (RSS)' + type: DEPENDENT + key: rabe.systemd-udevd.rss + delay: '0' + history: 7d + units: B + description: 'Memory usage of systemd-udevd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].rss.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-udevd,root,,summary]' + tags: + - tag: component + value: systemd-udevd + - uuid: 10a6f83b779840adbe4c961108171faa + name: 'systemd-udevd: Swap usage' + type: DEPENDENT + key: rabe.systemd-udevd.swap + delay: '0' + history: 7d + units: B + description: 'Swap usage of systemd-udevd processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].swap.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-udevd,root,,summary]' + tags: + - tag: component + value: systemd-udevd + - uuid: decff16e2eac4cd58d4adc84f5423871 + name: 'systemd-udevd: Number of threads' + type: DEPENDENT + key: rabe.systemd-udevd.threads + delay: '0' + history: 7d + description: 'Number of systemd-udevd threads.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].threads.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[systemd-udevd,root,,summary]' + tags: + - tag: component + value: systemd-udevd + - uuid: 07e8cd833db64556b87d55282cbe5edc + name: 'systemd-udevd: Unit file state' + type: DEPENDENT + key: rabe.systemd-udevd.unitfile_state + delay: '0' + history: 7d + description: 'Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid".' + valuemap: + name: 'Unit File State' + preprocessing: + - type: JSONPATH + parameters: + - $.UnitFileState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["systemd-udevd.service"]' + tags: + - tag: component + value: service + - uuid: f4a17e829ec3416182649d7ddeb51e1f + name: 'systemd-udevd: Uptime' + type: DEPENDENT + key: rabe.systemd-udevd.uptime + delay: '0' + history: 7d + value_type: FLOAT + units: uptime + description: 'Number of seconds since unit entered the active state.' + preprocessing: + - type: JAVASCRIPT + parameters: + - | + data = JSON.parse(value); + if (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) { + return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000; + } + return null; + master_item: + key: 'systemd.unit.get["systemd-udevd.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: a37f38acac464b43b196b641dfba5ffd + expression: last(/systemd-udevd/rabe.systemd-udevd.uptime)<=10m + name: 'systemd-udevd: has been restarted' + priority: INFO + manual_close: 'YES' + tags: + - tag: scope + value: notice + - uuid: b708a6fbee704fdc93f8a68fe2148928 + name: 'systemd-udevd: unit info' + type: ZABBIX_ACTIVE + key: 'systemd.unit.get["systemd-udevd.service"]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get unit info from systemd' + tags: + - tag: component + value: raw + - tag: component + value: unit + tags: + - tag: class + value: software + - tag: target + value: systemd-udevd + macros: + - macro: '{$SYSTEMDUDEVD.THRESHOLD.MIN_PROC}' + value: '1' + description: 'Minimum amount of processes expected to be running at all times.' + dashboards: + - uuid: aaa56c2502e344e49062c6d1d21ae124 + name: 'systemd-udevd: Overview' + pages: + - widgets: + - type: item + width: '24' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'active state' + - type: ITEM + name: itemid + value: + host: systemd-udevd + key: rabe.systemd-udevd.active_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: 4CAF50 + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: STRING + name: thresholds.1.color + value: FF0000 + - type: STRING + name: thresholds.1.threshold + value: '2' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '3' + - type: INTEGER + name: units_bold + value: '0' + - type: INTEGER + name: units_show + value: '0' + - type: graph + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: systemd-udevd + key: rabe.systemd-udevd.cputime_user + - type: STRING + name: reference + value: AABKV + - type: INTEGER + name: source_type + value: '1' + - type: graph + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: systemd-udevd + key: rabe.systemd-udevd.rss + - type: STRING + name: reference + value: AABKW + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '24' + width: '18' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: uptime + - type: ITEM + name: itemid + value: + host: systemd-udevd + key: rabe.systemd-udevd.uptime + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: INTEGER + name: value_size + value: '15' + - type: graph + x: '36' + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: systemd-udevd + key: rabe.systemd-udevd.cputime_system + - type: STRING + name: reference + value: AABKX + - type: INTEGER + name: source_type + value: '1' + - type: graph + x: '36' + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: systemd-udevd + key: rabe.systemd-udevd.swap + - type: STRING + name: reference + value: AABKY + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '42' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'unit file state' + - type: ITEM + name: itemid + value: + host: systemd-udevd + key: rabe.systemd-udevd.unitfile_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '6' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '7' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '8' + - type: item + x: '42' + 'y': '2' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'service load state' + - type: ITEM + name: itemid + value: + host: systemd-udevd + key: rabe.systemd-udevd.load_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '60' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: processes + - type: ITEM + name: itemid + value: + host: systemd-udevd + key: rabe.systemd-udevd.processes + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + valuemaps: + - uuid: 9598ed70a3af401fbf0e9fb6a2d7f851 + name: 'Unit Active State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: active + - value: '2' + newvalue: reloading + - value: '3' + newvalue: inactive + - value: '4' + newvalue: failed + - value: '5' + newvalue: activating + - value: '6' + newvalue: deactivating + - uuid: 64c4a8a82f514fc6b32eb23f7a1171cb + name: 'Unit File State' + mappings: + - value: o + newvalue: unknown + - value: '1' + newvalue: enabled + - value: '2' + newvalue: enabled-runtime + - value: '3' + newvalue: linked + - value: '4' + newvalue: linked-runtime + - value: '5' + newvalue: masked + - value: '6' + newvalue: masked-runtime + - value: '7' + newvalue: static + - value: '8' + newvalue: disabled + - value: '9' + newvalue: runtime + - uuid: eb7cce35ded54ebdae38113b45db455b + name: 'Unit Load State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: loaded + - value: '2' + newvalue: error + - value: '3' + newvalue: masked diff --git a/Templates/Applications/timedatectl/7.0/README.md b/Templates/Applications/timedatectl/7.0/README.md new file mode 100644 index 00000000..9e367a94 --- /dev/null +++ b/Templates/Applications/timedatectl/7.0/README.md @@ -0,0 +1,225 @@ +# Zabbix Template: timedatectl + +![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: timedatectl](https://img.shields.io/badge/target-timedatectl-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Keeps track of the time and date subsystem by running timedatectl status. + +Needs the following configuration: +``` +AllowKey=system.run[/usr/bin/timedatectl show] +``` + +See [here](https://www.freedesktop.org/software/systemd/man/latest/timedatectl.html) +for more information about timedatectl. + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Items + +### Item: timedatectl: NTP service status + +![component: timedatectl](https://img.shields.io/badge/component-timedatectl-00c9bf) + +NTP service status + +```console +rabe.timedatectl.status.ntp_service +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `system.run[/usr/bin/timedatectl show]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| REGEX | `["NTP=(.*)", "\\1"]` | +| JAVASCRIPT | `["return {\"yes\": 1, \"no\": 0}[value]"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: timedatectl: RTC in local TZ + +![component: timedatectl](https://img.shields.io/badge/component-timedatectl-00c9bf) + +Is the RTC in local TZ? + +```console +rabe.timedatectl.status.rtc_in_local_tz +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `system.run[/usr/bin/timedatectl show]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| REGEX | `["LocalRTC=(.*)", "\\1"]` | +| JAVASCRIPT | `["return {\"yes\": 1, \"no\": 0}[value]"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: timedatectl: System clock synchronized + +![component: timedatectl](https://img.shields.io/badge/component-timedatectl-00c9bf) + +Is the system clock synchronized? + +```console +rabe.timedatectl.status.system_clock_synchronized +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `system.run[/usr/bin/timedatectl show]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| REGEX | `["NTPSynchronized=(.*)", "\\1"]` | +| JAVASCRIPT | `["return {\"yes\": 1, \"no\": 0}[value]"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: timedatectl: Time zone + +![component: timedatectl](https://img.shields.io/badge/component-timedatectl-00c9bf) + +Time zone + +```console +rabe.timedatectl.status.time_zone +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | TEXT | +| History | 7d | +| Source item | `system.run[/usr/bin/timedatectl show]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| REGEX | `["Timezone=(.*)", "\\1"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["1d"]` | + +### Item: timedatectl: Get status + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Get output from timedatectl status. + +```console +system.run[/usr/bin/timedatectl show] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +## Triggers + +### Trigger: timedatectl: NTP not active + +![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + +The NTP service is not active, check `timedatectl status` for more info. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | + +```console +last(/timedatectl/rabe.timedatectl.status.ntp_service)<>1 +``` + +### Trigger: timedatectl: RTC not in local TZ + +![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + +The RTC not in local TZ, check `timedatectl status` for more info. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | INFO | + +```console +last(/timedatectl/rabe.timedatectl.status.rtc_in_local_tz)<>0 +``` + +### Trigger: timedatectl: NTP not synchronized + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) ![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + +NTP is not in sync, check `timedatectl status` for more info. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | INFO | + +```console +last(/timedatectl/rabe.timedatectl.status.system_clock_synchronized)<>1 +``` + +### Trigger: timedatectl: NTP not synchronized for more than {$TIMEDATECTL_MAX_NO_SYNC_TIME} + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + +NTP is not in sync, check `timedatectl status` for more info. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | + +```console +last(/timedatectl/rabe.timedatectl.status.system_clock_synchronized,{$TIMEDATECTL_MAX_NO_SYNC_TIME})<1 +``` + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$TIMEDATECTL_MAX_NO_SYNC_TIME}` + +How long can time be out if sync before we care? + +Default: + +```console +60m +``` + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/timedatectl/7.0/docs/gen_ref_pages.py b/Templates/Applications/timedatectl/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/timedatectl/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/timedatectl/7.0/mkdocs.yaml b/Templates/Applications/timedatectl/7.0/mkdocs.yaml new file mode 100644 index 00000000..83bfdaec --- /dev/null +++ b/Templates/Applications/timedatectl/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: timedatectl" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/timedatectl/7.0/timedatectl.yaml b/Templates/Applications/timedatectl/7.0/timedatectl.yaml new file mode 100644 index 00000000..83761224 --- /dev/null +++ b/Templates/Applications/timedatectl/7.0/timedatectl.yaml @@ -0,0 +1,200 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: 6d986f76224c4737991379018a5053df + template: timedatectl + name: timedatectl + description: | + Keeps track of the time and date subsystem by running timedatectl status. + + Needs the following configuration: + ``` + AllowKey=system.run[/usr/bin/timedatectl show] + ``` + + See [here](https://www.freedesktop.org/software/systemd/man/latest/timedatectl.html) + for more information about timedatectl. + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: f99cb96f1a434eb0a18695b599be6aa2 + name: 'timedatectl: NTP service status' + type: DEPENDENT + key: rabe.timedatectl.status.ntp_service + delay: '0' + history: 7d + description: 'NTP service status' + valuemap: + name: 'Service status' + preprocessing: + - type: REGEX + parameters: + - 'NTP=(.*)' + - \1 + - type: JAVASCRIPT + parameters: + - 'return {"yes": 1, "no": 0}[value]' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'system.run[/usr/bin/timedatectl show]' + tags: + - tag: component + value: timedatectl + triggers: + - uuid: 60519a0277a346359eb813d619835bea + expression: last(/timedatectl/rabe.timedatectl.status.ntp_service)<>1 + name: 'timedatectl: NTP not active' + priority: WARNING + description: 'The NTP service is not active, check `timedatectl status` for more info.' + tags: + - tag: scope + value: notice + - uuid: 2e27ec62a973426a9dfbf2ee6ec80df5 + name: 'timedatectl: RTC in local TZ' + type: DEPENDENT + key: rabe.timedatectl.status.rtc_in_local_tz + delay: '0' + history: 7d + description: 'Is the RTC in local TZ?' + valuemap: + name: Status + preprocessing: + - type: REGEX + parameters: + - 'LocalRTC=(.*)' + - \1 + - type: JAVASCRIPT + parameters: + - 'return {"yes": 1, "no": 0}[value]' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'system.run[/usr/bin/timedatectl show]' + tags: + - tag: component + value: timedatectl + triggers: + - uuid: fd6e89cd7a284eb09fb98f15ed011a04 + expression: last(/timedatectl/rabe.timedatectl.status.rtc_in_local_tz)<>0 + name: 'timedatectl: RTC not in local TZ' + priority: INFO + description: 'The RTC not in local TZ, check `timedatectl status` for more info.' + tags: + - tag: scope + value: notice + - uuid: c5e288f97d6d4a52959358a890409fd4 + name: 'timedatectl: System clock synchronized' + type: DEPENDENT + key: rabe.timedatectl.status.system_clock_synchronized + delay: '0' + history: 7d + description: 'Is the system clock synchronized?' + valuemap: + name: Status + preprocessing: + - type: REGEX + parameters: + - 'NTPSynchronized=(.*)' + - \1 + - type: JAVASCRIPT + parameters: + - 'return {"yes": 1, "no": 0}[value]' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'system.run[/usr/bin/timedatectl show]' + tags: + - tag: component + value: timedatectl + triggers: + - uuid: 8b917fa2bc904bfcba0467a968819020 + expression: last(/timedatectl/rabe.timedatectl.status.system_clock_synchronized)<>1 + name: 'timedatectl: NTP not synchronized' + priority: INFO + description: 'NTP is not in sync, check `timedatectl status` for more info.' + dependencies: + - name: 'timedatectl: NTP not synchronized for more than {$TIMEDATECTL_MAX_NO_SYNC_TIME}' + expression: 'last(/timedatectl/rabe.timedatectl.status.system_clock_synchronized,{$TIMEDATECTL_MAX_NO_SYNC_TIME})<1' + tags: + - tag: scope + value: availability + - tag: scope + value: notice + - uuid: 40264d8d024b4a7c8e7eceadf719f43b + expression: 'last(/timedatectl/rabe.timedatectl.status.system_clock_synchronized,{$TIMEDATECTL_MAX_NO_SYNC_TIME})<1' + name: 'timedatectl: NTP not synchronized for more than {$TIMEDATECTL_MAX_NO_SYNC_TIME}' + priority: WARNING + description: 'NTP is not in sync, check `timedatectl status` for more info.' + tags: + - tag: scope + value: availability + - uuid: f4af343dc2c14673b8439c197f909239 + name: 'timedatectl: Time zone' + type: DEPENDENT + key: rabe.timedatectl.status.time_zone + delay: '0' + history: 7d + value_type: TEXT + trends: '0' + description: 'Time zone' + preprocessing: + - type: REGEX + parameters: + - 'Timezone=(.*)' + - \1 + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 1d + master_item: + key: 'system.run[/usr/bin/timedatectl show]' + tags: + - tag: component + value: timedatectl + - uuid: 913f9a76ee83464886433833455bd83f + name: 'timedatectl: Get status' + type: ZABBIX_ACTIVE + key: 'system.run[/usr/bin/timedatectl show]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get output from timedatectl status.' + tags: + - tag: component + value: raw + tags: + - tag: class + value: software + - tag: target + value: timedatectl + macros: + - macro: '{$TIMEDATECTL_MAX_NO_SYNC_TIME}' + value: 60m + description: 'How long can time be out if sync before we care?' + valuemaps: + - uuid: b2a114b092954391a1d6828f7b1f8bc0 + name: 'Service status' + mappings: + - value: '1' + newvalue: active + - type: DEFAULT + newvalue: inactive + - uuid: 53732806df7e4a8aa9263ee9f928badc + name: Status + mappings: + - value: '1' + newvalue: 'yes' + - value: '0' + newvalue: 'no' diff --git a/Templates/Applications/tuned/7.0/README.md b/Templates/Applications/tuned/7.0/README.md new file mode 100644 index 00000000..88568fba --- /dev/null +++ b/Templates/Applications/tuned/7.0/README.md @@ -0,0 +1,377 @@ +# Zabbix Template: tuned + +![class: software](https://img.shields.io/badge/class-software-00c9bf) ![target: tuned](https://img.shields.io/badge/target-tuned-00c9bf) ![vendor: RaBe](https://img.shields.io/badge/vendor-RaBe-00c9bf) ![version: 7.0](https://img.shields.io/badge/version-7.0-00c9bf) + +Monitoring of [tuned](https://tuned-project.org/). + +This template is part of [RaBe's Zabbix template and helpers +collection](https://github.com/radiorabe/rabe-zabbix). + +## Items + +### Item: tuned: process summary + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) + +Get info about tuned processes + +```console +proc.get[tuned,root,,summary] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +### Item: tuned: Unit active state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating". + +```console +rabe.tuned.active_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["tuned.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.ActiveState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: tuned: CPU seconds (system) + +![component: tuned](https://img.shields.io/badge/component-tuned-00c9bf) + +Total CPU seconds (system) of tuned processes. + +```console +rabe.tuned.cputime_system +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[tuned,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_system.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: tuned: CPU seconds (user) + +![component: tuned](https://img.shields.io/badge/component-tuned-00c9bf) + +Total CPU seconds (user) of tuned processes. + +```console +rabe.tuned.cputime_user +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT | +| History | 7d | +| Source item | `proc.get[tuned,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].cputime_user.first()"]` | +| SIMPLE_CHANGE | `[""]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: tuned: Service load state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked". + +```console +rabe.tuned.load_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["tuned.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.LoadState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: tuned: Number of processes + +![component: tuned](https://img.shields.io/badge/component-tuned-00c9bf) + +Number of tuned processes. + +```console +rabe.tuned.processes +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[tuned,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].processes.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: tuned: Memory usage (RSS) + +![component: tuned](https://img.shields.io/badge/component-tuned-00c9bf) + +Memory usage of tuned processes. + +```console +rabe.tuned.rss +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[tuned,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].rss.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: tuned: Swap usage + +![component: tuned](https://img.shields.io/badge/component-tuned-00c9bf) + +Swap usage of tuned processes. + +```console +rabe.tuned.swap +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[tuned,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].swap.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: tuned: Number of threads + +![component: tuned](https://img.shields.io/badge/component-tuned-00c9bf) + +Number of tuned threads. + +```console +rabe.tuned.threads +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `proc.get[tuned,root,,summary]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$[*].threads.first()"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["5m"]` | + +### Item: tuned: Unit file state + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid". + +```console +rabe.tuned.unitfile_state +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| History | 7d | +| Source item | `systemd.unit.get["tuned.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JSONPATH | `["$.UnitFileState.state"]` | +| DISCARD_UNCHANGED_HEARTBEAT | `["30m"]` | + +### Item: tuned: Uptime + +![component: service](https://img.shields.io/badge/component-service-00c9bf) + +Number of seconds since unit entered the active state. + +```console +rabe.tuned.uptime +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | DEPENDENT | +| Value type | FLOAT in uptime | +| History | 7d | +| Source item | `systemd.unit.get["tuned.service"]` | + +Preprocessing steps: + +| Type | Parameters | +| ---- | ---------- | +| JAVASCRIPT | `["data = JSON.parse(value);\nif (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) {\n return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000;\n}\nreturn null;\n"]` | + +### Item: tuned: unit info + +![component: raw](https://img.shields.io/badge/component-raw-00c9bf) ![component: unit](https://img.shields.io/badge/component-unit-00c9bf) + +Get unit info from systemd + +```console +systemd.unit.get["tuned.service"] +``` + +Settings: + +| Item Setting | Value | +| ------------ | ----- | +| Type | ZABBIX_ACTIVE | +| Value type | TEXT | + +## Triggers + +### Trigger: tuned: Service is not running + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | WARNING | +| Manual close | YES | + +```console +last(/tuned/rabe.tuned.active_state)<>1 +``` + +### Trigger: tuned: No running processes + +![scope: availability](https://img.shields.io/badge/scope-availability-00c9bf) + +No running tuned processes. +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | HIGH | + +```console +last(/tuned/rabe.tuned.processes)<{$TUNED.THRESHOLD.MIN_PROC} +``` + +### Trigger: tuned: has been restarted + +![scope: notice](https://img.shields.io/badge/scope-notice-00c9bf) + + +Settings: + +| Trigger Setting | Values | +| --------------- | ------ | +| Priority | INFO | +| Manual close | YES | + +```console +last(/tuned/rabe.tuned.uptime)<=10m +``` + +## Macros + +The following Zabbix macros are configured via this template. + +### Macro: `{$TUNED.THRESHOLD.MIN_PROC}` + +Minimum amount of processes expected to be running at all times. + +Default: + +```console +1 +``` + +## Dashboards + +The following Zabbix dashboards are included in this template. + +* tuned: Overview + +## License + +This template is free software: you can redistribute it and/or modify it under +the terms of the GNU Affero General Public License as published by the Free +Software Foundation, version 3 of the License. + +## Copyright + +Copyright (c) 2017 - 2024 [Radio Bern RaBe](http://www.rabe.ch) diff --git a/Templates/Applications/tuned/7.0/docs/gen_ref_pages.py b/Templates/Applications/tuned/7.0/docs/gen_ref_pages.py new file mode 100644 index 00000000..bd02be1b --- /dev/null +++ b/Templates/Applications/tuned/7.0/docs/gen_ref_pages.py @@ -0,0 +1,6 @@ +from pathlib import Path + +import mkdocs_gen_files + +with mkdocs_gen_files.open("index.md", "w", encoding="utf-8") as index: + index.writelines(Path("README.md").open("r").read()) diff --git a/Templates/Applications/tuned/7.0/mkdocs.yaml b/Templates/Applications/tuned/7.0/mkdocs.yaml new file mode 100644 index 00000000..4d561bf3 --- /dev/null +++ b/Templates/Applications/tuned/7.0/mkdocs.yaml @@ -0,0 +1,17 @@ +site_name: "Zabbix Template: tuned" +repo_url: https://github.com/radiorabe/rabe-zabbix +repo_name: radiorabe/rabe-zabbix +markdown_extensions: + - pymdownx.highlight: + anchor_linenums: true + - pymdownx.inlinehilite + - pymdownx.snippets + - pymdownx.superfences +plugins: + - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav +nav: + - README: index.md diff --git a/Templates/Applications/tuned/7.0/tuned.yaml b/Templates/Applications/tuned/7.0/tuned.yaml new file mode 100644 index 00000000..33e2fcae --- /dev/null +++ b/Templates/Applications/tuned/7.0/tuned.yaml @@ -0,0 +1,592 @@ +zabbix_export: + version: '7.0' + template_groups: + - uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6 + name: Templates/Applications + templates: + - uuid: 0093431a499f44038cc53fb8add37607 + template: tuned + name: tuned + description: | + Monitoring of [tuned](https://tuned-project.org/). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + vendor: + name: RaBe + version: '7.0' + groups: + - name: Templates/Applications + items: + - uuid: e0742602ab444139bcafa095b2b89e24 + name: 'tuned: process summary' + type: ZABBIX_ACTIVE + key: 'proc.get[tuned,root,,summary]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get info about tuned processes' + tags: + - tag: component + value: raw + - uuid: c7b6f51bbe514e4c925b4bc598903079 + name: 'tuned: Unit active state' + type: DEPENDENT + key: rabe.tuned.active_state + delay: '0' + history: 7d + description: 'State value that reflects whether the unit is currently active or not. The following states are currently defined: "active", "reloading", "inactive", "failed", "activating", and "deactivating".' + valuemap: + name: 'Unit Active State' + preprocessing: + - type: JSONPATH + parameters: + - $.ActiveState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["tuned.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: f3e38b42afb345d08de7d82d399714c9 + expression: last(/tuned/rabe.tuned.active_state)<>1 + name: 'tuned: Service is not running' + priority: WARNING + manual_close: 'YES' + tags: + - tag: scope + value: availability + - uuid: 6ca6b762c1784a02ae25870f3e4e5f3e + name: 'tuned: CPU seconds (system)' + type: DEPENDENT + key: rabe.tuned.cputime_system + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (system) of tuned processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_system.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[tuned,root,,summary]' + tags: + - tag: component + value: tuned + - uuid: 9efc7e6794754e3b9015b3b7fa97c0ad + name: 'tuned: CPU seconds (user)' + type: DEPENDENT + key: rabe.tuned.cputime_user + delay: '0' + history: 7d + value_type: FLOAT + description: 'Total CPU seconds (user) of tuned processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].cputime_user.first()' + - type: SIMPLE_CHANGE + parameters: + - '' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[tuned,root,,summary]' + tags: + - tag: component + value: tuned + - uuid: 2605f3fa64e64dcaa43047b5eb3c9d7c + name: 'tuned: Service load state' + type: DEPENDENT + key: rabe.tuned.load_state + delay: '0' + history: 7d + description: 'State value that reflects whether the configuration file of this unit has been loaded. The following states are currently defined: "loaded", "error", and "masked".' + valuemap: + name: 'Unit Load State' + preprocessing: + - type: JSONPATH + parameters: + - $.LoadState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["tuned.service"]' + tags: + - tag: component + value: service + - uuid: 8913fbd5c5ca456d9724bdb315dbf99f + name: 'tuned: Number of processes' + type: DEPENDENT + key: rabe.tuned.processes + delay: '0' + history: 7d + description: 'Number of tuned processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].processes.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[tuned,root,,summary]' + tags: + - tag: component + value: tuned + triggers: + - uuid: cdfbb7c4e736486583ce79b51764f4e5 + expression: 'last(/tuned/rabe.tuned.processes)<{$TUNED.THRESHOLD.MIN_PROC}' + name: 'tuned: No running processes' + priority: HIGH + description: 'No running tuned processes.' + dependencies: + - name: 'tuned: Service is not running' + expression: last(/tuned/rabe.tuned.active_state)<>1 + tags: + - tag: scope + value: availability + - uuid: 15f6e52e00514036ad1f70083f69130e + name: 'tuned: Memory usage (RSS)' + type: DEPENDENT + key: rabe.tuned.rss + delay: '0' + history: 7d + units: B + description: 'Memory usage of tuned processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].rss.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[tuned,root,,summary]' + tags: + - tag: component + value: tuned + - uuid: 289ff0de70cf4872aa01e22e90894834 + name: 'tuned: Swap usage' + type: DEPENDENT + key: rabe.tuned.swap + delay: '0' + history: 7d + units: B + description: 'Swap usage of tuned processes.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].swap.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[tuned,root,,summary]' + tags: + - tag: component + value: tuned + - uuid: 535cb5ec169d49d4a6f34eb57cbf2102 + name: 'tuned: Number of threads' + type: DEPENDENT + key: rabe.tuned.threads + delay: '0' + history: 7d + description: 'Number of tuned threads.' + preprocessing: + - type: JSONPATH + parameters: + - '$[*].threads.first()' + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 5m + master_item: + key: 'proc.get[tuned,root,,summary]' + tags: + - tag: component + value: tuned + - uuid: c6fca3398244461dabd4eeeaa99120fe + name: 'tuned: Unit file state' + type: DEPENDENT + key: rabe.tuned.unitfile_state + delay: '0' + history: 7d + description: 'Encodes the install state of the unit file of FragmentPath. It currently knows the following states: "enabled", "enabled-runtime", "linked", "linked-runtime", "masked", "masked-runtime", "static", "disabled", and "invalid".' + valuemap: + name: 'Unit File State' + preprocessing: + - type: JSONPATH + parameters: + - $.UnitFileState.state + - type: DISCARD_UNCHANGED_HEARTBEAT + parameters: + - 30m + master_item: + key: 'systemd.unit.get["tuned.service"]' + tags: + - tag: component + value: service + - uuid: 9b4ebb5f0c5a4edc8176a05c2239f2ef + name: 'tuned: Uptime' + type: DEPENDENT + key: rabe.tuned.uptime + delay: '0' + history: 7d + value_type: FLOAT + units: uptime + description: 'Number of seconds since unit entered the active state.' + preprocessing: + - type: JAVASCRIPT + parameters: + - | + data = JSON.parse(value); + if (data.ActiveEnterTimestamp > data.ActiveExitTimestamp) { + return Math.floor(Date.now() / 1000) - Number(data.ActiveEnterTimestamp) / 1000000; + } + return null; + master_item: + key: 'systemd.unit.get["tuned.service"]' + tags: + - tag: component + value: service + triggers: + - uuid: 44fd0ebf6c2c4d66b5b96c72db51ca99 + expression: last(/tuned/rabe.tuned.uptime)<=10m + name: 'tuned: has been restarted' + priority: INFO + manual_close: 'YES' + tags: + - tag: scope + value: notice + - uuid: 3ce7ade3df2f4fb7b9922f414a153316 + name: 'tuned: unit info' + type: ZABBIX_ACTIVE + key: 'systemd.unit.get["tuned.service"]' + history: '0' + value_type: TEXT + trends: '0' + description: 'Get unit info from systemd' + tags: + - tag: component + value: raw + - tag: component + value: unit + tags: + - tag: class + value: software + - tag: target + value: tuned + macros: + - macro: '{$TUNED.THRESHOLD.MIN_PROC}' + value: '1' + description: 'Minimum amount of processes expected to be running at all times.' + dashboards: + - uuid: c76c64463c3c4170a40c224c04b3ff4c + name: 'tuned: Overview' + pages: + - widgets: + - type: item + width: '24' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'active state' + - type: ITEM + name: itemid + value: + host: tuned + key: rabe.tuned.active_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: 4CAF50 + - type: STRING + name: thresholds.0.threshold + value: '1' + - type: STRING + name: thresholds.1.color + value: FF0000 + - type: STRING + name: thresholds.1.threshold + value: '2' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '3' + - type: INTEGER + name: units_bold + value: '0' + - type: INTEGER + name: units_show + value: '0' + - type: graph + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: tuned + key: rabe.tuned.cputime_user + - type: STRING + name: reference + value: AABKZ + - type: INTEGER + name: source_type + value: '1' + - type: graph + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: tuned + key: rabe.tuned.rss + - type: STRING + name: reference + value: AABLA + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '24' + width: '18' + height: '4' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: uptime + - type: ITEM + name: itemid + value: + host: tuned + key: rabe.tuned.uptime + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: INTEGER + name: value_size + value: '15' + - type: graph + x: '36' + 'y': '4' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: tuned + key: rabe.tuned.cputime_system + - type: STRING + name: reference + value: AABLB + - type: INTEGER + name: source_type + value: '1' + - type: graph + x: '36' + 'y': '9' + width: '36' + height: '5' + fields: + - type: ITEM + name: itemid + value: + host: tuned + key: rabe.tuned.swap + - type: STRING + name: reference + value: AABLC + - type: INTEGER + name: source_type + value: '1' + - type: item + x: '42' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'unit file state' + - type: ITEM + name: itemid + value: + host: tuned + key: rabe.tuned.unitfile_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '42' + 'y': '2' + width: '12' + hide_header: 'YES' + fields: + - type: STRING + name: description + value: 'service load state' + - type: ITEM + name: itemid + value: + host: tuned + key: rabe.tuned.load_state + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + - type: STRING + name: thresholds.2.color + value: FF0000 + - type: STRING + name: thresholds.2.threshold + value: '2' + - type: item + x: '60' + width: '12' + height: '4' + hide_header: 'YES' + fields: + - type: INTEGER + name: decimal_places + value: '0' + - type: STRING + name: description + value: processes + - type: ITEM + name: itemid + value: + host: tuned + key: rabe.tuned.processes + - type: INTEGER + name: show + value: '1' + - type: INTEGER + name: show + value: '2' + - type: STRING + name: thresholds.0.color + value: FF0000 + - type: STRING + name: thresholds.0.threshold + value: '0' + - type: STRING + name: thresholds.1.color + value: 4CAF50 + - type: STRING + name: thresholds.1.threshold + value: '1' + valuemaps: + - uuid: 84485564643f47f7bb35597bd50dcf07 + name: 'Unit Active State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: active + - value: '2' + newvalue: reloading + - value: '3' + newvalue: inactive + - value: '4' + newvalue: failed + - value: '5' + newvalue: activating + - value: '6' + newvalue: deactivating + - uuid: 030bee1984a74b61a67b87955ce06429 + name: 'Unit File State' + mappings: + - value: o + newvalue: unknown + - value: '1' + newvalue: enabled + - value: '2' + newvalue: enabled-runtime + - value: '3' + newvalue: linked + - value: '4' + newvalue: linked-runtime + - value: '5' + newvalue: masked + - value: '6' + newvalue: masked-runtime + - value: '7' + newvalue: static + - value: '8' + newvalue: disabled + - value: '9' + newvalue: runtime + - uuid: f3b540edc2224576890ef87e8dd7fbb5 + name: 'Unit Load State' + mappings: + - value: '0' + newvalue: unknown + - value: '1' + newvalue: loaded + - value: '2' + newvalue: error + - value: '3' + newvalue: masked diff --git a/catalog-info.yaml b/catalog-info.yaml index 47ed699e..0e9bfb32 100644 --- a/catalog-info.yaml +++ b/catalog-info.yaml @@ -55,6 +55,29 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- +# Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/7.0/Apache_with_TLS_by_HTTP_Stack.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-Apache_with_TLS_by_HTTP_Stack + title: "Zabbix Template: Apache with TLS by HTTP Stack" + description: | + Monitor Apache by HTTP and do a Zabbix agent2 based certificate check. + annotations: + backstage.io/techdocs-ref: dir:./Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Applications/Apache_with_TLS_by_HTTP_Stack/7.0 + title: GitHub + icon: github + tags: [stack] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- # Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/6.4/Nginx_with_TLS_by_HTTP_Stack.yaml apiVersion: backstage.io/v1alpha1 kind: Component @@ -78,6 +101,29 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- +# Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/7.0/Nginx_with_TLS_by_HTTP_Stack.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-Nginx_with_TLS_by_HTTP_Stack + title: "Zabbix Template: Nginx with TLS by HTTP Stack" + description: | + Monitor Nginx by HTTP and do a Zabbix agent2 based certificate check. + annotations: + backstage.io/techdocs-ref: dir:./Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Applications/Nginx_with_TLS_by_HTTP_Stack/7.0 + title: GitHub + icon: github + tags: [stack] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- # Stacks/Applications/Songticker_Stack/6.4/Songticker_Stack.yaml apiVersion: backstage.io/v1alpha1 kind: Component @@ -101,6 +147,29 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- +# Stacks/Applications/Songticker_Stack/7.0/Songticker_Stack.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-Songticker_Stack + title: "Zabbix Template: Songticker Stack" + description: | + Monitoring for our Songticker + annotations: + backstage.io/techdocs-ref: dir:./Stacks/Applications/Songticker_Stack/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Applications/Songticker_Stack/7.0 + title: GitHub + icon: github + tags: [stack] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- # Stacks/Applications/systemd_Stack/6.4/systemd_Stack.yaml apiVersion: backstage.io/v1alpha1 kind: Component @@ -129,23 +198,24 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- -# Stacks/Operating_systems/EL7_Stack/6.4/EL7_Stack.yaml +# Stacks/Applications/systemd_Stack/7.0/systemd_Stack.yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: - name: zabbix-template-EL7_Stack - title: "Zabbix Template: EL7 Stack" + name: zabbix-template-systemd_Stack + title: "Zabbix Template: systemd Stack" description: | - Base stack template for CentOS 7 based systems. + The [systemd](https://systemd.io) combines all the pieces of + systemd that ususally run on a system host. This template is part of [RaBe's Zabbix template and helpers collection](https://github.com/radiorabe/rabe-zabbix). annotations: - backstage.io/techdocs-ref: dir:./Stacks/Operating_systems/EL7_Stack/6.4 + backstage.io/techdocs-ref: dir:./Stacks/Applications/systemd_Stack/7.0 github.com/project-slug: radiorabe/rabe-zabbix links: - - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Operating_systems/EL7_Stack/6.4 + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Applications/systemd_Stack/7.0 title: GitHub icon: github tags: [stack] @@ -156,23 +226,23 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- -# Stacks/Operating_systems/EL8_Stack/6.4/EL8_Stack.yaml +# Stacks/Operating_systems/EL7_Stack/6.4/EL7_Stack.yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: - name: zabbix-template-EL8_Stack - title: "Zabbix Template: EL8 Stack" + name: zabbix-template-EL7_Stack + title: "Zabbix Template: EL7 Stack" description: | - Base stack template for CentOS 8 Stream based systems. + Base stack template for CentOS 7 based systems. This template is part of [RaBe's Zabbix template and helpers collection](https://github.com/radiorabe/rabe-zabbix). annotations: - backstage.io/techdocs-ref: dir:./Stacks/Operating_systems/EL8_Stack/6.4 + backstage.io/techdocs-ref: dir:./Stacks/Operating_systems/EL7_Stack/6.4 github.com/project-slug: radiorabe/rabe-zabbix links: - - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Operating_systems/EL8_Stack/6.4 + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Operating_systems/EL7_Stack/6.4 title: GitHub icon: github tags: [stack] @@ -183,23 +253,23 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- -# Stacks/Operating_systems/EL9_Stack/6.4/EL9_Stack.yaml +# Stacks/Operating_systems/EL7_Stack/7.0/EL7_Stack.yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: - name: zabbix-template-EL9_Stack - title: "Zabbix Template: EL9 Stack" + name: zabbix-template-EL7_Stack + title: "Zabbix Template: EL7 Stack" description: | - Base stack template for AlmaLinux 9 based systems. + Base stack template for CentOS 7 based systems. This template is part of [RaBe's Zabbix template and helpers collection](https://github.com/radiorabe/rabe-zabbix). annotations: - backstage.io/techdocs-ref: dir:./Stacks/Operating_systems/EL9_Stack/6.4 + backstage.io/techdocs-ref: dir:./Stacks/Operating_systems/EL7_Stack/7.0 github.com/project-slug: radiorabe/rabe-zabbix links: - - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Operating_systems/EL9_Stack/6.4 + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Operating_systems/EL7_Stack/7.0 title: GitHub icon: github tags: [stack] @@ -210,23 +280,23 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- -# Stacks/Servers/EL7_KVM_VM_Stack/6.4/EL7_KVM_VM_Stack.yaml +# Stacks/Operating_systems/EL8_Stack/6.4/EL8_Stack.yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: - name: zabbix-template-EL7_KVM_VM_Stack - title: "Zabbix Template: EL7 KVM VM Stack" + name: zabbix-template-EL8_Stack + title: "Zabbix Template: EL8 Stack" description: | - Base stack template for EL7 based virtual machines. + Base stack template for CentOS 8 Stream based systems. This template is part of [RaBe's Zabbix template and helpers collection](https://github.com/radiorabe/rabe-zabbix). annotations: - backstage.io/techdocs-ref: dir:./Stacks/Servers/EL7_KVM_VM_Stack/6.4 + backstage.io/techdocs-ref: dir:./Stacks/Operating_systems/EL8_Stack/6.4 github.com/project-slug: radiorabe/rabe-zabbix links: - - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Servers/EL7_KVM_VM_Stack/6.4 + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Operating_systems/EL8_Stack/6.4 title: GitHub icon: github tags: [stack] @@ -237,23 +307,23 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- -# Stacks/Servers/EL8_KVM_VM_Stack/6.4/EL8_KVM_VM_Stack.yaml +# Stacks/Operating_systems/EL8_Stack/7.0/EL8_Stack.yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: - name: zabbix-template-EL8_KVM_VM_Stack - title: "Zabbix Template: EL8 KVM VM Stack" + name: zabbix-template-EL8_Stack + title: "Zabbix Template: EL8 Stack" description: | - Base stack template for EL8 based virtual machines. + Base stack template for CentOS 8 Stream based systems. This template is part of [RaBe's Zabbix template and helpers collection](https://github.com/radiorabe/rabe-zabbix). annotations: - backstage.io/techdocs-ref: dir:./Stacks/Servers/EL8_KVM_VM_Stack/6.4 + backstage.io/techdocs-ref: dir:./Stacks/Operating_systems/EL8_Stack/7.0 github.com/project-slug: radiorabe/rabe-zabbix links: - - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Servers/EL8_KVM_VM_Stack/6.4 + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Operating_systems/EL8_Stack/7.0 title: GitHub icon: github tags: [stack] @@ -264,23 +334,23 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- -# Stacks/Servers/EL9_KVM_VM_Stack/6.4/EL9_KVM_VM_Stack.yaml +# Stacks/Operating_systems/EL9_Stack/6.4/EL9_Stack.yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: - name: zabbix-template-EL9_KVM_VM_Stack - title: "Zabbix Template: EL9 KVM VM Stack" + name: zabbix-template-EL9_Stack + title: "Zabbix Template: EL9 Stack" description: | - Base stack template for EL9 based virtual machines. + Base stack template for AlmaLinux 9 based systems. This template is part of [RaBe's Zabbix template and helpers collection](https://github.com/radiorabe/rabe-zabbix). annotations: - backstage.io/techdocs-ref: dir:./Stacks/Servers/EL9_KVM_VM_Stack/6.4 + backstage.io/techdocs-ref: dir:./Stacks/Operating_systems/EL9_Stack/6.4 github.com/project-slug: radiorabe/rabe-zabbix links: - - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Servers/EL9_KVM_VM_Stack/6.4 + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Operating_systems/EL9_Stack/6.4 title: GitHub icon: github tags: [stack] @@ -291,26 +361,26 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- -# Templates/Applications/auditd/6.4/auditd.yaml +# Stacks/Operating_systems/EL9_Stack/7.0/EL9_Stack.yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: - name: zabbix-template-auditd - title: "Zabbix Template: auditd" + name: zabbix-template-EL9_Stack + title: "Zabbix Template: EL9 Stack" description: | - Monitoring of [auditd](https://people.redhat.com/sgrubb/audit/). + Base stack template for AlmaLinux 9 based systems. This template is part of [RaBe's Zabbix template and helpers collection](https://github.com/radiorabe/rabe-zabbix). annotations: - backstage.io/techdocs-ref: dir:./Templates/Applications/auditd/6.4 + backstage.io/techdocs-ref: dir:./Stacks/Operating_systems/EL9_Stack/7.0 github.com/project-slug: radiorabe/rabe-zabbix links: - - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/auditd/6.4 + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Operating_systems/EL9_Stack/7.0 title: GitHub icon: github - tags: [software, auditd] + tags: [stack] spec: type: zabbix-template lifecycle: experimental @@ -318,26 +388,26 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- -# Templates/Applications/candlepin-rhsmcertd/6.4/candlepin-rhsmcertd.yaml +# Stacks/Servers/EL7_KVM_VM_Stack/6.4/EL7_KVM_VM_Stack.yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: - name: zabbix-template-candlepin-rhsmcertd - title: "Zabbix Template: candlepin-rhsmcertd" + name: zabbix-template-EL7_KVM_VM_Stack + title: "Zabbix Template: EL7 KVM VM Stack" description: | - Monitoring of [candlepin-rhsmcertd](https://github.com/candlepin/subscription-manager/blob/main/src/daemons/rhsmcertd.c). + Base stack template for EL7 based virtual machines. This template is part of [RaBe's Zabbix template and helpers collection](https://github.com/radiorabe/rabe-zabbix). annotations: - backstage.io/techdocs-ref: dir:./Templates/Applications/candlepin-rhsmcertd/6.4 + backstage.io/techdocs-ref: dir:./Stacks/Servers/EL7_KVM_VM_Stack/6.4 github.com/project-slug: radiorabe/rabe-zabbix links: - - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/candlepin-rhsmcertd/6.4 + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Servers/EL7_KVM_VM_Stack/6.4 title: GitHub icon: github - tags: [software, candlepin-rhsmcertd] + tags: [stack] spec: type: zabbix-template lifecycle: experimental @@ -345,26 +415,26 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- -# Templates/Applications/certmonger/6.4/certmonger.yaml +# Stacks/Servers/EL7_KVM_VM_Stack/7.0/EL7_KVM_VM_Stack.yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: - name: zabbix-template-certmonger - title: "Zabbix Template: certmonger" + name: zabbix-template-EL7_KVM_VM_Stack + title: "Zabbix Template: EL7 KVM VM Stack" description: | - Monitoring of [certmonger](https://www.freeipa.org/page/Certmonger). + Base stack template for EL7 based virtual machines. This template is part of [RaBe's Zabbix template and helpers collection](https://github.com/radiorabe/rabe-zabbix). annotations: - backstage.io/techdocs-ref: dir:./Templates/Applications/certmonger/6.4 + backstage.io/techdocs-ref: dir:./Stacks/Servers/EL7_KVM_VM_Stack/7.0 github.com/project-slug: radiorabe/rabe-zabbix links: - - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/certmonger/6.4 + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Servers/EL7_KVM_VM_Stack/7.0 title: GitHub icon: github - tags: [software, certmonger] + tags: [stack] spec: type: zabbix-template lifecycle: experimental @@ -372,32 +442,26 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- -# Templates/Applications/chrony/6.4/chrony.yaml +# Stacks/Servers/EL8_KVM_VM_Stack/6.4/EL8_KVM_VM_Stack.yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: - name: zabbix-template-chrony - title: "Zabbix Template: chrony" + name: zabbix-template-EL8_KVM_VM_Stack + title: "Zabbix Template: EL8 KVM VM Stack" description: | - Keeps track of [chrony](https://chrony-project.org/). - - Needs the following configuration: - ``` - AllowKey=system.run[/usr/bin/chronyc -c activity] - AllowKey=system.run[/usr/bin/chronyc -c tracking] - ``` + Base stack template for EL8 based virtual machines. This template is part of [RaBe's Zabbix template and helpers collection](https://github.com/radiorabe/rabe-zabbix). annotations: - backstage.io/techdocs-ref: dir:./Templates/Applications/chrony/6.4 + backstage.io/techdocs-ref: dir:./Stacks/Servers/EL8_KVM_VM_Stack/6.4 github.com/project-slug: radiorabe/rabe-zabbix links: - - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/chrony/6.4 + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Servers/EL8_KVM_VM_Stack/6.4 title: GitHub icon: github - tags: [software, chrony] + tags: [stack] spec: type: zabbix-template lifecycle: experimental @@ -405,26 +469,26 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- -# Templates/Applications/Cronie/6.4/Cronie.yaml +# Stacks/Servers/EL8_KVM_VM_Stack/7.0/EL8_KVM_VM_Stack.yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: - name: zabbix-template-Cronie - title: "Zabbix Template: Cronie" + name: zabbix-template-EL8_KVM_VM_Stack + title: "Zabbix Template: EL8 KVM VM Stack" description: | - Monitoring of [Cronie](https://github.com/cronie-crond/cronie). + Base stack template for EL8 based virtual machines. This template is part of [RaBe's Zabbix template and helpers collection](https://github.com/radiorabe/rabe-zabbix). annotations: - backstage.io/techdocs-ref: dir:./Templates/Applications/Cronie/6.4 + backstage.io/techdocs-ref: dir:./Stacks/Servers/EL8_KVM_VM_Stack/7.0 github.com/project-slug: radiorabe/rabe-zabbix links: - - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/Cronie/6.4 + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Servers/EL8_KVM_VM_Stack/7.0 title: GitHub icon: github - tags: [software, cronie] + tags: [stack] spec: type: zabbix-template lifecycle: experimental @@ -432,26 +496,26 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- -# Templates/Applications/firewalld/6.4/firewalld.yaml +# Stacks/Servers/EL9_KVM_VM_Stack/6.4/EL9_KVM_VM_Stack.yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: - name: zabbix-template-firewalld - title: "Zabbix Template: firewalld" + name: zabbix-template-EL9_KVM_VM_Stack + title: "Zabbix Template: EL9 KVM VM Stack" description: | - Monitoring of [firewalld](https://firewalld.org/). + Base stack template for EL9 based virtual machines. This template is part of [RaBe's Zabbix template and helpers collection](https://github.com/radiorabe/rabe-zabbix). annotations: - backstage.io/techdocs-ref: dir:./Templates/Applications/firewalld/6.4 + backstage.io/techdocs-ref: dir:./Stacks/Servers/EL9_KVM_VM_Stack/6.4 github.com/project-slug: radiorabe/rabe-zabbix links: - - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/firewalld/6.4 + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Servers/EL9_KVM_VM_Stack/6.4 title: GitHub icon: github - tags: [software, firewalld] + tags: [stack] spec: type: zabbix-template lifecycle: experimental @@ -459,26 +523,26 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- -# Templates/Applications/gssproxy/6.4/gssproxy.yaml +# Stacks/Servers/EL9_KVM_VM_Stack/7.0/EL9_KVM_VM_Stack.yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: - name: zabbix-template-gssproxy - title: "Zabbix Template: gssproxy" + name: zabbix-template-EL9_KVM_VM_Stack + title: "Zabbix Template: EL9 KVM VM Stack" description: | - Monitoring of [gssproxy](https://pagure.io/gssproxy). + Base stack template for EL9 based virtual machines. This template is part of [RaBe's Zabbix template and helpers collection](https://github.com/radiorabe/rabe-zabbix). annotations: - backstage.io/techdocs-ref: dir:./Templates/Applications/gssproxy/6.4 + backstage.io/techdocs-ref: dir:./Stacks/Servers/EL9_KVM_VM_Stack/7.0 github.com/project-slug: radiorabe/rabe-zabbix links: - - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/gssproxy/6.4 + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Stacks/Servers/EL9_KVM_VM_Stack/7.0 title: GitHub icon: github - tags: [software, gssproxy] + tags: [stack] spec: type: zabbix-template lifecycle: experimental @@ -486,26 +550,26 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- -# Templates/Applications/qemu-ga/6.4/qemu-ga.yaml +# Templates/Applications/auditd/6.4/auditd.yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: - name: zabbix-template-qemu-ga - title: "Zabbix Template: QEMU Guest Agent" + name: zabbix-template-auditd + title: "Zabbix Template: auditd" description: | - Monitoring of the [QEMU Guest Agent](https://www.qemu.org/docs/master/interop/qemu-ga.html). + Monitoring of [auditd](https://people.redhat.com/sgrubb/audit/). This template is part of [RaBe's Zabbix template and helpers collection](https://github.com/radiorabe/rabe-zabbix). annotations: - backstage.io/techdocs-ref: dir:./Templates/Applications/qemu-ga/6.4 + backstage.io/techdocs-ref: dir:./Templates/Applications/auditd/6.4 github.com/project-slug: radiorabe/rabe-zabbix links: - - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/qemu-ga/6.4 + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/auditd/6.4 title: GitHub icon: github - tags: [software, qemu-ga] + tags: [software, auditd] spec: type: zabbix-template lifecycle: experimental @@ -513,26 +577,26 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- -# Templates/Applications/rpc.gssd/6.4/rpc.gssd.yaml +# Templates/Applications/auditd/7.0/auditd.yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: - name: zabbix-template-rpc.gssd - title: "Zabbix Template: rpc.gssd" + name: zabbix-template-auditd + title: "Zabbix Template: auditd" description: | - Monitoring of [rpc.gssd](https://linux.die.net/man/8/rpc.gssd). + Monitoring of [auditd](https://people.redhat.com/sgrubb/audit/). This template is part of [RaBe's Zabbix template and helpers collection](https://github.com/radiorabe/rabe-zabbix). annotations: - backstage.io/techdocs-ref: dir:./Templates/Applications/rpc.gssd/6.4 + backstage.io/techdocs-ref: dir:./Templates/Applications/auditd/7.0 github.com/project-slug: radiorabe/rabe-zabbix links: - - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/rpc.gssd/6.4 + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/auditd/7.0 title: GitHub icon: github - tags: [software, rpcgssd] + tags: [software, auditd] spec: type: zabbix-template lifecycle: experimental @@ -540,26 +604,26 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- -# Templates/Applications/rsyslog/6.4/rsyslog.yaml +# Templates/Applications/candlepin-rhsmcertd/6.4/candlepin-rhsmcertd.yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: - name: zabbix-template-rsyslog - title: "Zabbix Template: rsyslog" + name: zabbix-template-candlepin-rhsmcertd + title: "Zabbix Template: candlepin-rhsmcertd" description: | - Monitoring of [rsyslog](https://www.rsyslog.com/). + Monitoring of [candlepin-rhsmcertd](https://github.com/candlepin/subscription-manager/blob/main/src/daemons/rhsmcertd.c). This template is part of [RaBe's Zabbix template and helpers collection](https://github.com/radiorabe/rabe-zabbix). annotations: - backstage.io/techdocs-ref: dir:./Templates/Applications/rsyslog/6.4 + backstage.io/techdocs-ref: dir:./Templates/Applications/candlepin-rhsmcertd/6.4 github.com/project-slug: radiorabe/rabe-zabbix links: - - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/rsyslog/6.4 + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/candlepin-rhsmcertd/6.4 title: GitHub icon: github - tags: [software, rsyslog] + tags: [software, candlepin-rhsmcertd] spec: type: zabbix-template lifecycle: experimental @@ -567,7 +631,478 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- -# Templates/Applications/Songticker/6.4/Songticker.yaml +# Templates/Applications/candlepin-rhsmcertd/7.0/candlepin-rhsmcertd.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-candlepin-rhsmcertd + title: "Zabbix Template: candlepin-rhsmcertd" + description: | + Monitoring of [candlepin-rhsmcertd](https://github.com/candlepin/subscription-manager/blob/main/src/daemons/rhsmcertd.c). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/candlepin-rhsmcertd/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/candlepin-rhsmcertd/7.0 + title: GitHub + icon: github + tags: [software, candlepin-rhsmcertd] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/certmonger/6.4/certmonger.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-certmonger + title: "Zabbix Template: certmonger" + description: | + Monitoring of [certmonger](https://www.freeipa.org/page/Certmonger). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/certmonger/6.4 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/certmonger/6.4 + title: GitHub + icon: github + tags: [software, certmonger] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/certmonger/7.0/certmonger.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-certmonger + title: "Zabbix Template: certmonger" + description: | + Monitoring of [certmonger](https://www.freeipa.org/page/Certmonger). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/certmonger/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/certmonger/7.0 + title: GitHub + icon: github + tags: [software, certmonger] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/chrony/6.4/chrony.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-chrony + title: "Zabbix Template: chrony" + description: | + Keeps track of [chrony](https://chrony-project.org/). + + Needs the following configuration: + ``` + AllowKey=system.run[/usr/bin/chronyc -c activity] + AllowKey=system.run[/usr/bin/chronyc -c tracking] + ``` + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/chrony/6.4 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/chrony/6.4 + title: GitHub + icon: github + tags: [software, chrony] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/chrony/7.0/chrony.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-chrony + title: "Zabbix Template: chrony" + description: | + Keeps track of [chrony](https://chrony-project.org/). + + Needs the following configuration: + ``` + AllowKey=system.run[/usr/bin/chronyc -c activity] + AllowKey=system.run[/usr/bin/chronyc -c tracking] + ``` + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/chrony/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/chrony/7.0 + title: GitHub + icon: github + tags: [software, chrony] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/Cronie/6.4/Cronie.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-Cronie + title: "Zabbix Template: Cronie" + description: | + Monitoring of [Cronie](https://github.com/cronie-crond/cronie). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/Cronie/6.4 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/Cronie/6.4 + title: GitHub + icon: github + tags: [software, cronie] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/Cronie/7.0/Cronie.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-Cronie + title: "Zabbix Template: Cronie" + description: | + Monitoring of [Cronie](https://github.com/cronie-crond/cronie). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/Cronie/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/Cronie/7.0 + title: GitHub + icon: github + tags: [software, cronie] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/firewalld/6.4/firewalld.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-firewalld + title: "Zabbix Template: firewalld" + description: | + Monitoring of [firewalld](https://firewalld.org/). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/firewalld/6.4 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/firewalld/6.4 + title: GitHub + icon: github + tags: [software, firewalld] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/firewalld/7.0/firewalld.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-firewalld + title: "Zabbix Template: firewalld" + description: | + Monitoring of [firewalld](https://firewalld.org/). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/firewalld/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/firewalld/7.0 + title: GitHub + icon: github + tags: [software, firewalld] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/gssproxy/6.4/gssproxy.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-gssproxy + title: "Zabbix Template: gssproxy" + description: | + Monitoring of [gssproxy](https://pagure.io/gssproxy). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/gssproxy/6.4 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/gssproxy/6.4 + title: GitHub + icon: github + tags: [software, gssproxy] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/gssproxy/7.0/gssproxy.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-gssproxy + title: "Zabbix Template: gssproxy" + description: | + Monitoring of [gssproxy](https://pagure.io/gssproxy). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/gssproxy/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/gssproxy/7.0 + title: GitHub + icon: github + tags: [software, gssproxy] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/qemu-ga/6.4/qemu-ga.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-qemu-ga + title: "Zabbix Template: QEMU Guest Agent" + description: | + Monitoring of the [QEMU Guest Agent](https://www.qemu.org/docs/master/interop/qemu-ga.html). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/qemu-ga/6.4 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/qemu-ga/6.4 + title: GitHub + icon: github + tags: [software, qemu-ga] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/qemu-ga/7.0/qemu-ga.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-qemu-ga + title: "Zabbix Template: QEMU Guest Agent" + description: | + Monitoring of the [QEMU Guest Agent](https://www.qemu.org/docs/master/interop/qemu-ga.html). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/qemu-ga/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/qemu-ga/7.0 + title: GitHub + icon: github + tags: [software, qemu-ga] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/rpc.gssd/6.4/rpc.gssd.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-rpc.gssd + title: "Zabbix Template: rpc.gssd" + description: | + Monitoring of [rpc.gssd](https://linux.die.net/man/8/rpc.gssd). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/rpc.gssd/6.4 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/rpc.gssd/6.4 + title: GitHub + icon: github + tags: [software, rpcgssd] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/rpc.gssd/7.0/rpc.gssd.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-rpc.gssd + title: "Zabbix Template: rpc.gssd" + description: | + Monitoring of [rpc.gssd](https://linux.die.net/man/8/rpc.gssd). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/rpc.gssd/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/rpc.gssd/7.0 + title: GitHub + icon: github + tags: [software, rpcgssd] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/rsyslog/6.4/rsyslog.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-rsyslog + title: "Zabbix Template: rsyslog" + description: | + Monitoring of [rsyslog](https://www.rsyslog.com/). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/rsyslog/6.4 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/rsyslog/6.4 + title: GitHub + icon: github + tags: [software, rsyslog] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/rsyslog/7.0/rsyslog.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-rsyslog + title: "Zabbix Template: rsyslog" + description: | + Monitoring of [rsyslog](https://www.rsyslog.com/). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/rsyslog/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/rsyslog/7.0 + title: GitHub + icon: github + tags: [software, rsyslog] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/Songticker/6.4/Songticker.yaml apiVersion: backstage.io/v1alpha1 kind: Component metadata: @@ -590,6 +1125,29 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- +# Templates/Applications/Songticker/7.0/Songticker.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-Songticker + title: "Zabbix Template: Songticker" + description: | + Check if the songticker is getting regular updates + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/Songticker/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/Songticker/7.0 + title: GitHub + icon: github + tags: [software, songticker] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- # Templates/Applications/sssd/6.4/sssd.yaml apiVersion: backstage.io/v1alpha1 kind: Component @@ -617,6 +1175,33 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- +# Templates/Applications/sssd/7.0/sssd.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-sssd + title: "Zabbix Template: sssd" + description: | + Monitoring of [sssd](https://sssd.io). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/sssd/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/sssd/7.0 + title: GitHub + icon: github + tags: [software, sssd] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- # Templates/Applications/systemd-journald/6.4/systemd-journald.yaml apiVersion: backstage.io/v1alpha1 kind: Component @@ -644,6 +1229,33 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- +# Templates/Applications/systemd-journald/7.0/systemd-journald.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-systemd-journald + title: "Zabbix Template: systemd-journald" + description: | + Monitoring of [systemd-journald](https://www.freedesktop.org/software/systemd/man/latest/systemd-journald.service.html). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/systemd-journald/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/systemd-journald/7.0 + title: GitHub + icon: github + tags: [software, systemd-journald] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- # Templates/Applications/systemd-logind/6.4/systemd-logind.yaml apiVersion: backstage.io/v1alpha1 kind: Component @@ -671,6 +1283,33 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- +# Templates/Applications/systemd-logind/7.0/systemd-logind.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-systemd-logind + title: "Zabbix Template: systemd-logind" + description: | + Monitoring of [systemd-logind](https://www.freedesktop.org/software/systemd/man/latest/systemd-logind.service.html). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/systemd-logind/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/systemd-logind/7.0 + title: GitHub + icon: github + tags: [software, systemd-logind] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- # Templates/Applications/systemd-udevd/6.4/systemd-udevd.yaml apiVersion: backstage.io/v1alpha1 kind: Component @@ -698,6 +1337,33 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- +# Templates/Applications/systemd-udevd/7.0/systemd-udevd.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-systemd-udevd + title: "Zabbix Template: systemd-udevd" + description: | + Monitoring of [systemd-udevd](https://www.freedesktop.org/software/systemd/man/latest/systemd-udevd.service.html). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/systemd-udevd/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/systemd-udevd/7.0 + title: GitHub + icon: github + tags: [software, systemd-udevd] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- # Templates/Applications/timedatectl/6.4/timedatectl.yaml apiVersion: backstage.io/v1alpha1 kind: Component @@ -733,6 +1399,41 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- +# Templates/Applications/timedatectl/7.0/timedatectl.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-timedatectl + title: "Zabbix Template: timedatectl" + description: | + Keeps track of the time and date subsystem by running timedatectl status. + + Needs the following configuration: + ``` + AllowKey=system.run[/usr/bin/timedatectl show] + ``` + + See [here](https://www.freedesktop.org/software/systemd/man/latest/timedatectl.html) + for more information about timedatectl. + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/timedatectl/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/timedatectl/7.0 + title: GitHub + icon: github + tags: [software, timedatectl] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- # Templates/Applications/tuned/6.4/tuned.yaml apiVersion: backstage.io/v1alpha1 kind: Component @@ -760,6 +1461,33 @@ spec: system: rabe-zabbix subcomponentOf: rabe-zabbix-templates --- +# Templates/Applications/tuned/7.0/tuned.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-tuned + title: "Zabbix Template: tuned" + description: | + Monitoring of [tuned](https://tuned-project.org/). + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/tuned/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/tuned/7.0 + title: GitHub + icon: github + tags: [software, tuned] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates +--- # Templates/Applications/Zabbix_unsupported_items/6.4/Zabbix_unsupported_items.yaml apiVersion: backstage.io/v1alpha1 kind: Component @@ -788,3 +1516,32 @@ spec: owner: it-reaktion system: rabe-zabbix subcomponentOf: rabe-zabbix-templates +--- +# Templates/Applications/Zabbix_unsupported_items/7.0/Zabbix_unsupported_items.yaml +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: zabbix-template-Zabbix_unsupported_items + title: "Zabbix Template: Zabbix unsupported items" + description: | + Implementation agnostic monitoring of unsupported items from Zabbix internal. + + Used as a mix-in to most low-level stack templates. + + This template is part of [RaBe's Zabbix template and helpers + collection](https://github.com/radiorabe/rabe-zabbix). + + annotations: + backstage.io/techdocs-ref: dir:./Templates/Applications/Zabbix_unsupported_items/7.0 + github.com/project-slug: radiorabe/rabe-zabbix + links: + - url: https://github.com/radiorabe/rabe-zabbix/tree/develop/Templates/Applications/Zabbix_unsupported_items/7.0 + title: GitHub + icon: github + tags: [app, zabbix] +spec: + type: zabbix-template + lifecycle: experimental + owner: it-reaktion + system: rabe-zabbix + subcomponentOf: rabe-zabbix-templates diff --git a/hack/plays/manage.yml b/hack/plays/manage.yml index 325cd2df..25f41189 100644 --- a/hack/plays/manage.yml +++ b/hack/plays/manage.yml @@ -3,7 +3,7 @@ hosts: [localhost] vars: - target_version: '6.4' + target_version: '7.0' rabe_zabbix_templates: - template_name: "Apache with TLS by HTTP Stack" - template_name: "auditd" @@ -265,8 +265,8 @@ | Version | Supported | Description | | ------- | --------- | ----------- | | 3.0 | ✅ | legacy RaBe environment | - | 6.4 | ✅ | for LTS preparation work until 7.0 is available | - | 7.0 | ✅ | once released | + | 6.4 | ✅ | unsupported since 2024-12 | + | 7.0 | ✅ | stable LTS | ## OS Version Support