[Nagiosplug-devel] check_ping resolving error

Ulrik Haugen ulrik.haugen at liu.se
Fri Jan 15 18:31:43 CET 2010


[This is in reply to an old thread.]

Thomas Guyot-Sionnest <dermoth at aei.ca> wrote:
> On 10/12/08 07:35 AM, Yaron Meiry wrote:
>> /[root at machine libexec]# ./check_ping -H domain.tld -w 3000.0,80% -c
>> 5000.0,100% -p 5 -vvv
>> CMD: /bin/ping6 -n -U -w 30 -c 5 domain.tld
>> Output: PING domain.tld(::ffff:xx.xx.xxx.12) 56 data bytes
>> Output:
>> Output: --- domain.tld ping statistics ---
>> Output: 30 packets transmitted, 0 received, 100% packet loss, time 29010ms
>> Output:
>> Got stderr: ping: sendmsg: Network is unreachable
>> CRITICAL - Network Unreachable (domain.tld)/
>> This is interesting. It's running /bin/ping6 instead of /bin/ping. Here

> Yes. we enable IPv6 whenever possible and your host advertise an IPv6
> address (AAAA record). It looks like check_ping is trying to use ipv6...
> you should be able to reproduce it with this hostname as well (both IPv4
> and IPv6 connectivity): ipv6.he.net

> Now I need to figure out in which cases check_ping try to use IPv6... it
> does not happen on my production servers but kernel support for IPv6 is
> disabled on them. In an ideal world it should probably use IPv6 only if
> there's at least one global address, however it might be hard to make
> that portable... So It might never get fixed.

I recently ran into a variant of this problem myself and it got me
thinking about how I'd like network plugins to behave.

In my case I did not lack ip6 support on the Nagios host but the machine
I was monitoring had a AAAA entry in dns even though ip6 traffic was not
routed to it.

This is an error that check_ping caught for us, but it would not catch
the reverse unless we configured separate check_ping -4 and check_ping
-6 services.

I would like a flag to check_ping, _tcp, _http et c. to instruct them to
check both paths when a host name has both A and AAAA addresses in dns
and only return Ok if both could be reached.

Presumably one would also want a flag to check_ping to say that both
addresses should be checked but give an Ok if either is up, that would
be more suitable for host command_checks as either kind of response
suggests the service checks will produce information of interest.

Best regards
/Ulrik Haugen

More information about the Devel mailing list