One thing to look at would be to see if your current monitoring software can monitor that kind of thing. That having been said, a quick-and-dirty way to check might be to do something along the following lines in a script using Net::DNS:
- Maintain a list of a few dozen hosts, including a mix of frequently-visited and not-so-frequently-visited ones.
- At intervals, select a subset of this list to check. For each host selected, do the following:
- Query against the DNS server in question, for NS and A values.
- Query against the NS server for the host in question for the same information
- Compare the results. Issue a warning if the mismatch is above some percentage of those checked, or possibly if mismatches occur above some number of consecutive checks.
Things to remember would include: a) a hostname may resolve to multiple addresses, so you may have to check two answers of multiple results against each other; b) a hostname may just be an alias for another name, which would involve another set of lookups; c) if a DNS update occurs for that host it may take time for it to propagate to your host; and d) things do happen which could cause time-outs in queries, so build your script to be accordingly robust.
Hope the idea helps, at least.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|