diff --git a/README.md b/README.md index 0eccec0..c0a1a4a 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,8 @@ Templates, scripts and hints for Zabbix. * [VPN](templates/applications/vpn) * [OpenVPN](templates/applications/vpn/openvpn/6.0) * [Wireguard](templates/applications/vpn/wireguard/6.0) +* [Components](templates/components) + * [certificate](templates/components/certificate/6.0) ## Useful links diff --git a/templates/components/certificate/6.0/README.md b/templates/components/certificate/6.0/README.md new file mode 100755 index 0000000..7a47482 --- /dev/null +++ b/templates/components/certificate/6.0/README.md @@ -0,0 +1,46 @@ + +# SSL certificates + +## Overview + +This template is designed for [X.509](https://en.wikipedia.org/wiki/X.509) certificate monitoring by Zabbix and requires external script. + +## Requirements + +- Zabbix version: 6.0 and higher. +- [cert-info.sh](https://git.hmp.today/pavel.muhortov/utils#cert-info-sh) +- [openssl](https://www.openssl.org/) + +## Tested versions + +This template has been tested on: + +- openssl 1.0.2k + +### Macros used + +|Name|Description|Default| +|----|-----------|-------| +|{$URL}|Certificate location|`host.domain.zone`| + +### Items + +|Name|Description|Type|Key and additional info| +|----|-----------|----|-----------------------| +|Expires|Certificate remaining days|External check|cert-info.sh["{$URL}","-r"]| + +### Triggers + +|Name|Description|Expression|Severity|Dependencies and additional info| +|----|-----------|----------|--------|--------------------------------| +|SSL certificate expires||last(/SSL certificates/cert-info.sh["{$URL}","-r"],#1)<7|Warning|Manual close: No| +|SSL certificate expires soon||last(/SSL certificates/cert-info.sh["{$URL}","-r"],#1)<3|Average|Manual close: No| +|SSL certificate expired||last(/SSL certificates/cert-info.sh["{$URL}","-r"],#1)<1|High|Manual close: No| + +### Discovery rules + +There are no discovery rules in this template. + +### Item prototypes for Clients discovery + +There are no item prototypes in this template. diff --git a/templates/components/certificate/6.0/ssl-certificates.yaml b/templates/components/certificate/6.0/ssl-certificates.yaml new file mode 100755 index 0000000..afda444 --- /dev/null +++ b/templates/components/certificate/6.0/ssl-certificates.yaml @@ -0,0 +1,66 @@ +zabbix_export: + version: '6.0' + date: '2023-12-14T18:00:00Z' + groups: + - + uuid: 57b7ae836ca64446ba2c296389c009b7 + name: Templates/Modules + templates: + - + uuid: 83294c6d820c429789f8256ca0654ff3 + template: 'SSL certificates' + name: 'SSL certificates' + description: 'SSL certificates information' + groups: + - + name: Templates/Modules + items: + - + uuid: 5974a58a626c451b86ccfbf062ad1539 + name: Expires + type: EXTERNAL + key: 'cert-info.sh["{$URL}","-r"]' + delay: 6h + history: 14d + trends: 90d + units: day + tags: + - + tag: component + value: certificate + triggers: + - + uuid: 0de5c427901f4ff8993a547bedf5ff22 + expression: 'last(/SSL certificates/cert-info.sh["{$URL}","-r"],#1)<1' + name: 'SSL certificate expired' + priority: HIGH + - + uuid: 1cb9a236e3cb4eafb95d425e5746da61 + expression: 'last(/SSL certificates/cert-info.sh["{$URL}","-r"],#1)<7' + name: 'SSL certificate expires' + priority: WARNING + - + uuid: 61a2ed70a8ce4e49bc2b5d4798b1bb01 + expression: 'last(/SSL certificates/cert-info.sh["{$URL}","-r"],#1)<3' + name: 'SSL certificate expires soon' + priority: AVERAGE + tags: + - + tag: component + value: certificate + macros: + - + macro: '{$URL}' + value: host.domain.zone + graphs: + - + uuid: 7b84a25da6d940f183edbd5a1b057e24 + name: Expires + show_triggers: 'NO' + graph_items: + - + drawtype: GRADIENT_LINE + color: 00FF00 + item: + host: 'SSL certificates' + key: 'cert-info.sh["{$URL}","-r"]'