DNS down and false alerts...
Andrew Davis
nccomp at gmail.com
Tue Jun 9 17:19:20 CEST 2009
I've observed an interesting issue with Nagios. Our environment is a mix
of UNIX, Linux, Apple, and Windows. The core of the network is Active
Directory including two AD servers that are both our primary, internal
DNS servers. All non-Windows systems have a resolv.conf that looks like:
*nameserver 10.1.1.13
nameserver 10.1.1.14
domain int.our.domain
search int.our.domain*
About half of the servers have the nameserver entries inverted (ie: .14
first, .13 second).
The issue is that anytime one of the nameservers is rebooted (at least
once a month if staying current on patches thanks to Black Tuesdays),
whichever hosts have that nameserver listed first in its resolv.conf
start throwing the following errors:
*CRITICAL - Plugin timed out while executing system call.*
This occurs for multiple tests for each host. Obviously, there's a name
resolution correlation here. If the nameserver with .13 is rebooted, all
hosts (about half of them) that list this IP first in their resolve.conf
then timeout for multiple tests. If the .14 server is rebooted, all the
other hosts timeout. Interestingly, none of the Windows clients issue
errors... only UNIX, Linux, and Mac's... only those with an
/etc/resolv.conf. The end result is a host of "false positives", but
more importantly it looks bad on availability reports and causes
phones/pagers to go ballistic with unneeded emails.
I'm trying to find a solution and I can't find one that I like:
Solution 1) is to cluster the DNS servers. We have lots of clusters
here. This isn't good, though, as you don't normally cluster DNS
servers... they're meant to be redundant for a reason... one fails and
it uses the next one.
Solution 2) is to setup a service/host dependency. My thought would be
either a host dependency that says if either .13 or .14 are down, then
don't alert for any other host that uses them. Or a service to host
dependency... if the DNS service is down, then don't alert on any of
these dependent hosts. Honestly, I'm not sure if you can mix host and
service dependencies like this... plus... if the DNS server is actually
down, then the DNS service is down, so better to use a host dependency.
The problem is that now we're not alerting on any dependent hosts which
themselves could have a legitimate issue we want to know about. Plus,
what happens if the DNS server actually dies and take a few hours/days
to rebuild/restore? At this point, the dependent hosts aren't watched
for a very long time.
Solution 3) is to setup a UNIX/Linux DNS server that slaves all zones
from the AD servers and have all UNIX/Linux/Apple clients query from
this server. This would work except that A) I need two of them to keep
redundancy and B) I've now added an extra layer of complication to
resolve an application (Nagios)... not exactly good practice.
Solution 4) is to set the timeout value of a host querying a DNS server.
Perhaps adjust the client to timeout on the first listed nameserver
after only 10 seconds, then try the next one? Since most Nagios tests
have a minimum timeout value of 30 seconds, if the first DNS query timed
out after 10 seconds, it would go to the next one with, hopefully,
enough time to respond. The downside is having to adjust every single
server.
Has anyone else seen this? Anyone else using Windows AD servers to
provide DNS for *nix servers?
--
A. Davis
Email: nccomp at gmail.com
"There is no limit to what a man can accomplish
if he doesn't care who gets the credit." - Ronald Reagan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.monitoring-lists.org/archive/users/attachments/20090609/906cf28b/attachment.html>
-------------- next part --------------
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
-------------- next part --------------
_______________________________________________
Nagios-users mailing list
Nagios-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue.
::: Messages without supporting info will risk being sent to /dev/null
More information about the Users
mailing list