Skip to content
Nagios/Icinga plugin for checking a domain name expiration date
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.travis.yml use whois instead jwhois Oct 18, 2017
check_domain.cfg - check interval 12h Jun 24, 2012
nagios-plugin-check_domain.spec use common prefix and suffix for captured whois outputs Apr 15, 2015

Nagios/Icinga Plugin: check_domain

Build Status

Nagios/Icinga plugin for checking a domain name expiration date


$ ./ -d
OK - Domain will expire in 43 days (2014-03-08).


This tool excels at monitoring a small number of domains, but because of whois rate limiting, it becomes infeasible to use for a large number of domains. For this to work around, there's support for caching positive lookups for defined time period. A failed lookup will cause the domain cache file to be removed so it should be as responsive as a normal check when the critical/warning threshold is reached.

An example to configure to cache positive lookups for one day:

  • --cache-dir /var/cache/check_domain --cache-age 1

The cache dir must exist and must be writable for user running the checks.

Pull requests

  1. Fork it.
  2. Create your feature branch (git checkout -b fixing-blah).
  3. Commit your changes (git commit -am 'Fixed blah').
  4. Run ./ domain.tld to test the domain
  5. Add the example domain name to domains for CI to test them, commit it
  6. Push to the branch (git push origin fixing-blah).
  7. Create a new pull request.

Do not update changelog or attempt to change version.

Installing whois

This plugin uses the "whois" command. It is usually installed by default, but if not, you can get it via your favourite package manager.


# apt-get install whois


# yum install whois

Directory Listings

You can’t perform that action at this time.