On Sat, May 12, 2007 at 01:34:55AM +0200, Josip Rodin wrote:
> Package: nagios-plugins-basic
> 
> Hi,
> 
> The config file change provided in #292124 had a bug: it gave the IP address
> ($HOSTADDRESS$) to the check_https command in both the -I and -H parameters.
> 
> Since the meaning of the -H parameter is to modify the Host: HTTP header,
> putting an IP address in it is fairly clearly nonsensical. Instead,
> the *name* should be put inside; the name of the virtual host.
> 
> The argument passed to -H should be $HOSTNAME$ instead.

I realized now that, oddly enough, Nagios documentation is not clear on
this. http://nagios.sourceforge.net/docs/2_0/xodtemplate.html#host says:

host_name:      This directive is used to define a short name used to
                identify the host. It is used in host group and service
                definitions to reference this particular host. Hosts can
                have multiple services (which are monitored) associated with
                them. When used properly, the $HOSTNAME$ macro will contain
                this short name.

alias:  This directive is used to define a longer name or description used
        to identify the host. It is provided in order to allow you to more
        easily identify a particular host. When used properly, the
        $HOSTALIAS$ macro will contain this alias/description.

address:        This directive is used to define the address of the host.
                Normally, this is an IP address, although it could really be
                anything you want (so long as it can be used to check the
                status of the host). You can use a FQDN to identify the host
                instead of an IP address, but if DNS services are not
                availble this could cause problems. When used properly, the
                $HOSTADDRESS$ macro will contain this address. Note: If you
                do not specify an address directive in a host definition,
                the name of the host will be used as its address. A word of
                caution about doing this, however - if DNS fails, most of
                your service checks will fail because the plugins will be
                unable to resolve the host name.

Which is to say - there is no really exact way for a plugin check to know
which variable is right for the Host: header, because we don't know whether
people put random garbage in their host_name/alias variables. For all we
know, they may be using domain names, rather than IP addresses, even though
it's not recommended. The problem is in those variable names, really - their
names mean something, but their value doesn't have to.

Nevertheless, I think you should try changing the default to use either
$HOSTNAME$ or $HOSTALIAS$, and see if there's fallout.

If necessary, the fallback procedure would be to add a separate set of
checkcommands which use the above variables in a more layered manner.

-- 
     2. That which causes joy or happiness.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to