Monitoring a Name Server
5.16.1 Problem
You want to monitor a zone's name servers.
5.16.2 Solution
Use a freely available package that supports monitoring name servers. The well-thought-of mon supports monitoring the DNS service. You can get a copy from http://www.kernel.org/software/mon/. Since the DNS-monitoring portion of the package, dns.monitor, is written in Perl using the Net::DNS module, it's easy to adapt to your particular needs.
5.16.3 Discussion
You can also use Dave Barr's excellent dnswalk, available from http://www.visi.com/~barr/dnswalk/, for DNS monitoring. Also built using Net::DNS, dnswalk detects lame and unresponsive name servers, as well as many common zone data errors. Just make sure dnswalk can transfer a copy of the zone you want to monitor, and specify dnswalk's - l command-line option to turn on lame delegation checking. Then you can run dnswalk periodically from cron and send yourself the output.
5.16.4 See Also
Recipes Section 9.8 through Section 9.11 for examples of programming with Net::DNS.