Nagios: DNS CRITICAL – ‘/usr/bin/nslookup -sil’ msg parsing exited with no address

Scenario: We changed from BIND to Unbound on a smarthost email server. As soon as this was changed Nagios started throwing up a "DNS CRITICAL – '/usr/bin/nslookup -sil' msg parsing exited with no address" . In the following example i've substituted for the actual host.

Troubleshooting steps:

 From the Nagios server i checked the config file:

define host{

        use             freebsd-server          ; Inherit default values from a template
        host_name      ; The name we're giving to this host
        alias       ; A longer name associated with the host
        address            ; IP address of the host
        hostgroups      freebsd-servers         ; Host groups this host is associated with


define service{
        use                     generic-service         ; Inherit default values from a template
        service_description     DNS
        check_command           check_dns_recursion

# 'check_dns_recursion' command definition

define command{
        command_name    check_dns_recursion
        command_line    $USER1$/check_dns -H -t 3 -s $HOSTADDRESS$ $ARG1$


I then ran the command from Nagios server:

/usr/local/nagios/libexec/check_dns -H -s --timeout 3

DNS OK: 1.019 second response time. returns,,,,|time=1.019290s;;;0.000000


That seemed to work fine. How strange.


Upon further investigation it appeared that had 3 IP addresses:

# host has address has address has address

The forward DNS looks like it was pointing to I then tried an nslookup using IP the addresses rather than the CNAME:

# nslookup

;; connection timed out; no servers could be reached


# nslookup


Non-authoritative answer:

Bingo! It appears Unbound has bound itself to one of the IP addesses. Changing myhost.domain to point to in the nagios config file (where the host is defined)  fixed the issue.