Monitor domain expiration using Zabbix

How to monitor domain expiration dates using Zabbix

It is very important to monitor multiple domain expiration dates when working for a big company. It is more useful when working with multiple registrars, even if you don’t have access to these registrars accounts.

This approach uses a Zabbix template with discovery rules to make whois queries and parse answers. You can receive expiration alerts via Email, if configured in Zabbix.

Link to the github project:


  • Log in to the Zabbix server
  • Clone the repository
git clone ~/
cd ~/Zabbix-Domain-Check
  • Copy to /etc/zabbix/

cp /etc/zabbix/

  • Create /etc/zabbix/domain.list with domain list, one per line
  • Copy zabbix_agentd.d/domain_check.conf to /etc/zabbix/zabbix_agentd.d/

cp zabbix_agentd.d/domain_check.conf /etc/zabbix/zabbix_agentd.d/

  • Copy to zabbix externalscripts (/usr/lib/zabbix/externalscripts)

cp /usr/lib/zabbix/externalscripts/

  • Create directory /var/cache/zabbix/domain.db on zabbix server

mkdir -p /var/cache/zabbix/domain.db

  • Edit the necessary parameters in script.
# Location of system binaries
# Zabbix server param

  • Import zbx_templates/Template Domain check.xml into your templates
  • Create host Domains (ip and applay template Domain check on it.

  • Create crontab rule:

0 0 * * * /usr/lib/zabbix/externalscripts/ -z 2>&1 > /dev/null

Latest Data



  • You can receive alerts via email, if configured in Zabbix

  • To add new domain, just edit the /etc/zabbix/domain.list. The cronjob and the discovery rule will do the rest.

© 2024. All rights reserved.

Powered by Hydejack v8.4.0