<div dir="ltr">Hi,<div><br></div><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I have a hard time understanding the behaviour of the multiple host based<br>
macros with respect to the value of the use-fqdn(), and keep-hostname() params.<br></blockquote><div><br></div><div><div>This is a confusing part of our documentation that I tried to clarify a few months ago. Unfortunately, it is still not the best.</div><div> <br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
First of all, when setting use-fqdn(yes), isn't the network destination<br>
supposed to send the fqdn? In our case, tcpdump shows that the short<br>
hostname is sent instead.<br></blockquote><div><br></div><div><span style="font-size:12.8px">use-fqdn(), </span><span style="font-size:12.8px">use-dns()</span><span style="font-size:12.8px">, normalize-hostnames() and</span><span style="font-size:12.8px"> dns-cache() are actually source options but they can be used in the global "options" block as well. They do NOT really have effect if the keep-hostname option is set to "yes".</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">If you set use-fqdn to "yes" for a source (or globally), you might want to set keep-hostname() to "no" in order to overwrite the original hostname that was parsed from the message.</span></div><div><span style="font-size:12.8px">The original hostname may not be an FQDN, but syslog-ng can not touch it when keep-hostname() is enabled.</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">As an alternative (if you also want to keep the original hostname), you can write a custom template for the destination where ${HOST_FROM} is used instead of ${HOST}.</span></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Additionally, what does the following paragraph from the documentation mean?<br>
<br>
    The hostname-related macros (${FULLHOST}, ${FULLHOST_FROM}, ${HOST}, and<br>
    ${HOST_FROM}) do not have any effect if the keep-hostname() option is<br>
    disabled<br>
<br>
Does that mean they are empty if keep-hostname(no) ?<br></blockquote><div><br></div><div>This sentence from the documentation is completely incorrect.</div><div><br></div><div>Let me summarize the real behavior:</div><div>FULLHOST is just an alias for HOST.</div><div>FULLHOST_FROM is an alias for HOST_FROM.</div><div><br></div><div>HOST_FROM always contains the hostname resolved by the current syslog-ng instance (using the values of <span style="font-size:12.8px">use-fqdn(), </span><span style="font-size:12.8px">use-dns()</span><span style="font-size:12.8px">, normalize-hostnames() and</span><span style="font-size:12.8px"> dns-cache()).</span></div><div><span style="font-size:12.8px">HOST contains the original (parsed) hostname of the message if keep-hostname() is enabled. Otherwise, it contains the value of HOST_FROM (or chained hostnames if chain-hostnames() is set).</span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">--</span></div><div><span style="font-size:12.8px">László Várady</span></div></div></div></div>