Search Exchange
Search All Sites
Nagios Live Webinars
Let our experts show you how Nagios can help your organization.Login
Directory Tree
check_dnsext
Meet The New Nagios Core Services Platform
Built on over 25 years of monitoring experience, the Nagios Core Services Platform provides insightful monitoring dashboards, time-saving monitoring wizards, and unmatched ease of use. Use it for free indefinitely.
Monitoring Made Magically Better
- Nagios Core on Overdrive
- Powerful Monitoring Dashboards
- Time-Saving Configuration Wizards
- Open Source Powered Monitoring On Steroids
- And So Much More!
NAME
check_dnsext - nagios plugin to check dns queries
DESCRIPTION
Nagios plugin to check the dns resolution of hostnames. As opposed to the official nagios plugin check_dns, this plugin allows to specify types of dns resource records, like SRV, MX, TXT.
VERSION
This documentation refers to version 0.0.2
USAGE
check_dnsext -H hostname -a expected_addres [-t type -s server -v]
REQUIRED ARGUMENTS
-H | --host
hostname (simple or fully qualified) or ip address that we want to check. This can also be a domain name (TLD) if checking a SOA, NS, MX resource record.
-a | --expected-address
Expected outcome of the dns query. If we expect a multi valued outcome, then use a comma to separate them. For example:
--expected-address=host.domain.tld,host2.domain.tld,host3.domain.tld,..
OPTIONS
-H | --host
hostname (simple or fully qualified) or ip address that we want to check. This can also be a domain name (TLD) if checking a SOA, NS, MX resource record.
-a | --expected-address
Expected outcome of the dns query. If we expect a multi valued outcome, then use a comma to separate them. For example:
--expected-address=host.domain.tld,host2.domain.tld,host3.domain.tld,..
-s | --server
dns server we want to use. If not specified, the default dns resolver of the system will be used.
-t | --type
type of dns resource record we want to query. If not specified, this defaults to an A record.
-v | --verbose
extra debugging info. Valid values are 0 (standard, no need to set it explicitely) or 1.
-h | -? | --help
this text
CONFIGURATION AND ENVIRONMENT
To use it in Nagios copy this file to your plugins folder (usually in /usr/local/nagios/libexec/ ). Make it executable for the nagios user.
DEPENDENCIES
This plugin requires the Net::DNS and the Array::Compare Perl modules. If you use a Redhat based linux distribution, you can install Net::DNS so:
# yum install perl-Net-DNS
The Array::Compare module is unfortunately not packaged in any of the usual yum repositories but building a spec file and creating a rpm package is for this one very straight forward. Dave Cross wrote a nice presentation showing how to achieve this: Perl in RPM-Land. You can read it in http://www.slideshare.net/davorg/perl-in-rpmland-presentation
If you use a debian based linux distribution, the modules are called libnet-dns-perl and libarray-compare-perl:
# apt-get install libnet-dns-perl
# apt-get install libarray-compare-perl
If you use another system, you should probably have to use the cpan shell to install them. You could use perlbrew or cpanminus as well.
AUTHOR
Natxo Asenjo (nasenjo@asenjo.nl_removethis_)
LICENCE AND COPYRIGHT
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perldoc perlartistic.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
check_dnsext - nagios plugin to check dns queries
DESCRIPTION
Nagios plugin to check the dns resolution of hostnames. As opposed to the official nagios plugin check_dns, this plugin allows to specify types of dns resource records, like SRV, MX, TXT.
VERSION
This documentation refers to
USAGE
check_dnsext -H hostname -a expected_addres [-t type -s server -v]
REQUIRED ARGUMENTS
-H | --host
hostname (simple or fully qualified) or ip address that we want to check. This can also be a domain name (TLD) if checking a SOA, NS, MX resource record.
-a | --expected-address
Expected outcome of the dns query. If we expect a multi valued outcome, then use a comma to separate them. For example:
--expected-address=host.domain.tld,host2.domain.tld,host3.domain.tld,..
OPTIONS
-H | --host
hostname (simple or fully qualified) or ip address that we want to check. This can also be a domain name (TLD) if checking a SOA, NS, MX resource record.
-a | --expected-address
Expected outcome of the dns query. If we expect a multi valued outcome, then use a comma to separate them. For example:
--expected-address=host.domain.tld,host2.domain.tld,host3.domain.tld,..
-s | --server
dns server we want to use. If not specified, the default dns resolver of the system will be used.
-t | --type
type of dns resource record we want to query. If not specified, this defaults to an A record.
-v | --verbose
extra debugging info. Valid values are 0 (standard, no need to set it explicitely) or 1.
-h | -? | --help
this text
CONFIGURATION AND ENVIRONMENT
To use it in Nagios copy this file to your plugins folder (usually in /usr/local/nagios/libexec/ ). Make it executable for the nagios user.
DEPENDENCIES
This plugin requires the Net::DNS and the Array::Compare Perl modules. If you use a Redhat based linux distribution, you can install Net::DNS so:
# yum install perl-Net-DNS
The Array::Compare module is unfortunately not packaged in any of the usual yum repositories but building a spec file and creating a rpm package is for this one very straight forward. Dave Cross wrote a nice presentation showing how to achieve this: Perl in RPM-Land. You can read it in http://www.slideshare.net/davorg/perl-in-rpmland-presentation
If you use a debian based linux distribution, the modules are called libnet-dns-perl and libarray-compare-perl:
# apt-get install libnet-dns-perl
# apt-get install libarray-compare-perl
If you use another system, you should probably have to use the cpan shell to install them. You could use perlbrew or cpanminus as well.
AUTHOR
Natxo Asenjo (nasenjo@asenjo.nl_removethis_)
LICENCE AND COPYRIGHT
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perldoc perlartistic.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Reviews (1)
It works very well but I did a small modification to sort the output and convert the results to lowercase to make it safer for some DNS admins that like to put in uppercase records:
diff:
94,95d93
diff:
94,95d93
Owner's reply
I am afraid the diff is missing in your reply. If you care to send it to me (check the plugin help and remove the obvious bits) I will apply your patch. Thanks!