A domain registration monitoring script initially for an0 Technology's an0Eye service. This script provides CheckMK-compatible monitoring of domain expiration dates with performance data output.
This tool monitors domain registration status and expiration dates, providing alerts when domains are approaching expiration. It's specifically designed to integrate with CheckMK/Nagios based systems.
- Domain Expiration Monitoring: Checks domain expiration dates using WHOIS queries
- Registrar Information: Retrieves and displays domain registrar details
- CheckMK Integration: Outputs performance data in CheckMK-compatible format
- Caching: Implements intelligent caching to reduce WHOIS query frequency
- Configurable Thresholds: Customizable warning periods before expiration
- State Persistence: Maintains state files for reliable monitoring
python3 an0eye_DomainReg-Checker.py --domain example.com --warning-days 30 --check-interval 3600To integrate with CheckMK using MRPE, add the following to your mrpe.cfg file:
Domain_example.com /usr/local/bin/python3 /opt/scripts/an0eye_DomainReg-Checker.py --domain example.com --warning-days 30 --check-interval 3600
For multiple domains, add separate entries:
Domain_example.com /usr/local/bin/python3 /opt/scripts/an0eye_DomainReg-Checker.py --domain example.com --warning-days 30 --check-interval 3600
Domain_mysite.org /usr/local/bin/python3 /opt/scripts/an0eye_DomainReg-Checker.py --domain mysite.org --warning-days 14 --check-interval 3600
--domain: Domain name to monitor (required)--warning-days: Days before expiration to trigger warning (default: 14)--check-interval: Seconds between checks for caching (default: 3600)
The script outputs CheckMK-compatible status messages with performance data:
OK - Domain is registered and expires in 45 days. Registrar: Example Registrar|days_to_expiration=45.10;30;0;;
- Python 3.6+
whoisPython package- Write access to
/var/lib/check_mk_agent/DNSReg/for state files
-
Install required Python packages:
pip3 install python-whois
-
Ensure the script has write permissions to the state directory:
sudo mkdir -p /var/lib/check_mk_agent/DNSReg/ sudo chown check_mk_agent:check_mk_agent /var/lib/check_mk_agent/DNSReg/