[syslog-ng] "Error resolving hostname" for UDP Destination
David Hauck
davidh at netacquire.com
Mon Aug 24 23:46:21 CEST 2015
On Monday, August 24, 2015 1:50 PM, syslog-ng-bounces at lists.balabit.hu wrote:
> Ah, for this use case, having to wait for dns timeout sucks. :(
;)
> Adding an asynchronous DNS resolver would be possible, but I am
> afraid it won't make it to our schedule soon enough to solve your
> problem. I see two
> solutions:
>
> 1) what about you or a colleague submit a patch? :)
>
> 2) validate the hostname before generating it into the configuration
>
> 3) hack the syslog-ng startup script and validate it before syslog-ng
> is launched with the erroneous hostname
>
> Ops, that was three not two, but you get the idea.
I get the idea :). I'll ponder this a bit more, thanks for all your thoughts up to this point...
> On Aug 24, 2015 7:27 PM, "David Hauck" <davidh at netacquire.com> wrote:
>
>
> On Monday, August 24, 2015 10:10 AM, syslog-ng-bounces at lists.balabit.hu
> wrote: > The destinations don't have dns resolution problems. They
> resolve > their target name once and at every reconnect. On the source
> side you > have a potential name lookup for every message (if uncached
> of course).
>
> Understood, but see below.
>
> > Or you mean that the target server cannot be resolved?
>
> Correct. These target destinations are configured by administrators
> and the DNS failures may or may not be seen in a timely fashion (so
> the continual reconnects will result in frequent blockage).
>
> > Why not add it
> > to /etc/hosts?
>
> This isn't an option when the operator simply gets the name wrong
> (independent of whether the host is actually online and DNS
> resolvable) ;).
>
> > Initiating a reconnect is handled in the main thread,
> > thus name resolution of the target server would block other threads
> as well.
>
> By other do you mean all other threads? If not, which ones? What
> operations are suspended during the time of the blocked DNS resolution
> (note: typical resolver configuration is to retry 2-3 times with retry
> timeouts set to ~10s - so the total blockage time on a failed DNS
> lookup could be significant)?
>
> > The basic problem of name resolution is on the source side though, >
> there each incoming message can have an associated dns cache miss but >
> that's delegated to the workers.
>
> OK, understood for the source, but I'm still trying to determine the
> exact effect on destinations that fail to resolve...
>
> > On Monday, August 24, 2015 7:31 AM,
> syslog-ng-bounces at lists.balabit.hu > wrote: >> sources/destinations
> are worked on by a set of worker threads, which >> are not dedicated to
> a source or destination. >> >> DNS resolution happens at the input
> side, so if you have multiple log >> statements, it will only happen
> once, right after reception, on the >> input side. >> >> however, if
> you only have one udp() source, that will only use one >> worker at a
> time, so if you have multiple threads the others will not >> be
> affected. >> >> hope this helps. > > ;) Not sure. First off, my UDP
> DNS resolution concern is in relation > to a > *destination*
> definition. > > destination d_NAaudit_Prio {
> file("/var/log/zzz/audit_log" > template(t_NAFormat_Prio));
> udp("testing" port(514) > template(t_NAFormat_Prio)); }; > > This
> same destination is used in several log statements, the main one > of
> which is in a fairly complex log statement with multiple junction >
> definitions (see the genesis of this in the following mailing list >
> thread: >
> https://lists.balabit.hu/pipermail/syslog-ng/2014-April/021330.html). >
> > So it isn't entirely clear to me how a statement definition like this
> > results in a specific thread breakdown... Would isolating this >
> destination to its own thread be as simple as adding "threaded" to the
> > flags option for this destination (and then any of the referenced
> "log" > statements would be running in their own threads), or does this
> > happened by default (in v3.6.x)? > > Apologies if I'm missing
> something obvious here ;). >
> __________________________________________________________ >
> ______________ ______ Member info: >
> https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: >
> http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: >
> http://www.balabit.com/wiki/syslog-ng-faq >
>
> __________________________________________________________
> ______________ ______ Member info:
> https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation:
> http://www.balabit.com/support/documentation/?product=syslog-ng FAQ:
> http://www.balabit.com/wiki/syslog-ng-faq
>
>
More information about the syslog-ng
mailing list