zabbix_export: version: '6.4' template_groups: - uuid: 7df96b18c230490a9a0a9e2307226338 name: Templates templates: - uuid: 644e89db964346f3b1ecd249d2d57876 template: 'Domain Expiry' name: 'Domain Expiry' description: | Template version: 2.0.0 Downloaded from: https://github.com/a-stoyanov/zabbix-domain-expiry vendor: name: github.com/a-stoyanov version: 6.4-0 groups: - name: Templates items: - uuid: 7446af7e8dce480690f2ebd72a843953 name: 'Days Left' type: DEPENDENT key: check_domain.days_left delay: '0' value_type: FLOAT preprocessing: - type: JSONPATH parameters: - $.days_left error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'check_domain.sh["-d",{HOST.HOST},"-r",{$RDAP_SERVER},"-s",{$WHOIS_SERVER},"-w",{$EXP_WARN},"-c",{$EXP_CRIT}]' - uuid: 5a55bf6bf9b8490bb058982428572485 name: 'Days Since Expired' type: DEPENDENT key: check_domain.days_since_expired delay: '0' value_type: FLOAT preprocessing: - type: JSONPATH parameters: - $.days_since_expired error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'check_domain.sh["-d",{HOST.HOST},"-r",{$RDAP_SERVER},"-s",{$WHOIS_SERVER},"-w",{$EXP_WARN},"-c",{$EXP_CRIT}]' - uuid: 0e104f2540204ac686072bd6cec91a86 name: 'Expire Date' type: DEPENDENT key: check_domain.expire_date delay: '0' value_type: TEXT trends: '0' preprocessing: - type: JSONPATH parameters: - $.expire_date error_handler: CUSTOM_VALUE error_handler_params: '0' master_item: key: 'check_domain.sh["-d",{HOST.HOST},"-r",{$RDAP_SERVER},"-s",{$WHOIS_SERVER},"-w",{$EXP_WARN},"-c",{$EXP_CRIT}]' - uuid: 99f25b8648814596a72f66f3e3db01cf name: Message type: DEPENDENT key: check_domain.message delay: '0' value_type: TEXT trends: '0' preprocessing: - type: JSONPATH parameters: - $.message master_item: key: 'check_domain.sh["-d",{HOST.HOST},"-r",{$RDAP_SERVER},"-s",{$WHOIS_SERVER},"-w",{$EXP_WARN},"-c",{$EXP_CRIT}]' - uuid: 48baf9c076d1453d8c7272dffa014fd9 name: 'Check Domain' type: EXTERNAL key: 'check_domain.sh["-d",{HOST.HOST},"-r",{$RDAP_SERVER},"-s",{$WHOIS_SERVER},"-w",{$EXP_WARN},"-c",{$EXP_CRIT}]' delay: 1d history: '0' value_type: TEXT trends: '0' - uuid: ceb24ded619c4d34b8394a50d700bf52 name: State type: DEPENDENT key: check_domain.state delay: '0' value_type: TEXT trends: '0' preprocessing: - type: JSONPATH parameters: - $.state master_item: key: 'check_domain.sh["-d",{HOST.HOST},"-r",{$RDAP_SERVER},"-s",{$WHOIS_SERVER},"-w",{$EXP_WARN},"-c",{$EXP_CRIT}]' tags: - tag: domain value: registration macros: - macro: '{$EXP_CRIT}' value: '7' description: 'Threshold value of days remaining before triggering a HIGH alert' - macro: '{$EXP_WARN}' value: '30' description: 'Threshold value of days remaining before triggering a WARNING alert' - macro: '{$RDAP_SERVER}' description: 'Specify which RDAP server to use. Default empty value will use IANA lookup' - macro: '{$WHOIS_SERVER}' description: 'Specify which WHOIS server to use. Default empty value will use the whois utility config (rfc-3912 lookup)' triggers: - uuid: 126653ca5057472c9499f5bcf74b17ba expression: | last(/Domain Expiry/check_domain.state)="UNKNOWN" and last(/Domain Expiry/check_domain.message)<>0 name: 'Domain Expiry: {HOST.HOST} - {ITEM.LASTVALUE2}' description: 'Raise alert in case script is unable to determine the expiration status for the domain (state = unknown)' tags: - tag: domain value: status - uuid: 71b376de644848379c14ef181e12245a expression: | last(/Domain Expiry/check_domain.state)="CRITICAL" and last(/Domain Expiry/check_domain.days_since_expired)>0 and last(/Domain Expiry/check_domain.expire_date)<>0 name: 'Domain Expiry: {HOST.HOST} has expired' opdata: '{ITEM.LASTVALUE2} days ago on {ITEM.LASTVALUE3}' priority: DISASTER description: 'Raise alert if domain registration has expired.' dependencies: - name: 'Domain Expiry: {HOST.HOST} - {ITEM.LASTVALUE2}' expression: | last(/Domain Expiry/check_domain.state)="UNKNOWN" and last(/Domain Expiry/check_domain.message)<>0 tags: - tag: domain value: expired - uuid: 5f767265e8714f1db4e969d4f7f95448 expression: | last(/Domain Expiry/check_domain.state)="CRITICAL" and last(/Domain Expiry/check_domain.days_left)<={$EXP_CRIT} and last(/Domain Expiry/check_domain.expire_date)<>0 name: 'Domain Expiry: {HOST.HOST} will expire soon' opdata: 'in {ITEM.LASTVALUE2} days on {ITEM.LASTVALUE3}' priority: HIGH description: 'Raise alert if number of days remaining before expiry is below critical threshold ({$EXP_CRIT}).' dependencies: - name: 'Domain Expiry: {HOST.HOST} has expired' expression: | last(/Domain Expiry/check_domain.state)="CRITICAL" and last(/Domain Expiry/check_domain.days_since_expired)>0 and last(/Domain Expiry/check_domain.expire_date)<>0 tags: - tag: domain value: expiry - uuid: 68e36957e56b4d95860b6a8c131a9e1b expression: | last(/Domain Expiry/check_domain.state)="WARNING" and last(/Domain Expiry/check_domain.days_left)<={$EXP_WARN} and last(/Domain Expiry/check_domain.expire_date)<>0 name: 'Domain Expiry: {HOST.HOST} will expire soon' opdata: 'in {ITEM.LASTVALUE2} days on {ITEM.LASTVALUE3}' priority: WARNING description: 'Raise alert if number of days remaining before expiry is below warning threshold ({$EXP_WARN}).' dependencies: - name: 'Domain Expiry: {HOST.HOST} will expire soon' expression: | last(/Domain Expiry/check_domain.state)="CRITICAL" and last(/Domain Expiry/check_domain.days_left)<={$EXP_CRIT} and last(/Domain Expiry/check_domain.expire_date)<>0 tags: - tag: domain value: expiry