Welcome! Log In Create A New Profile

Advanced

Re: no access_log logging for UDP streams

David Kewley
February 14, 2018 05:12PM
On Wed, Feb 14, 2018 at 5:59 AM, Roman Arutyunyan <arut@nginx.com> wrote:

> Hi David,
>
> On Tue, Feb 13, 2018 at 01:01:03PM -0800, David Kewley wrote:
> > I'm using nginx 1.12.1 to proxy TCP and UDP streams. I have in my stream
> {}
> > stanza:
> >
> > log_format test '$time_local';
> >
> > access_log /var/log/nginx/stream-access.log test buffer=64k
> flush=1s;
> > error_log /var/log/nginx/stream-info.log info;
> >
> >
> > Both TCP and UDP streams log to /var/log/nginx/stream-info.log. Only TCP
> > streams are logged in /var/log/nginx/stream-access.log; UDP streams are
> not.
> >
> > FWIW, client application behavior and tcpdump both show that the upstream
> > UDP server is sending a response that makes it through nginx proxy to the
> > client just fine.
> >
> > Is this lack of UDP stream access_log logging expected, or should I open
> a
> > new bug?
> >
> > If you need to see more details to show exactly what I'm doing, let me
> know
> > which details would be helpful.
>
> Probably your UDP session is not considered finished by nginx.
> Did you specify proxy_responses and proxy_timeout in your config?
> If proxy_responses is unspecified and proxy_timeout is large, it may take a
> long time for a UDP session to expire and be logged.


Thank you, Roman! You pointed me in the right direction.

Now that I do more careful tests, I see the action of the default setting
of "proxy_timeout 10m" in the two logs (access and info). Namely,
info-level error_log shows client and proxy connections at the time they
happen, as well as the disconnect when the 10m timeout happens. Meanwhile
the access_log logs the connection at the time of disconnection (after the
10m timeout).

I'm thinking that in many circumstances, I may not know how many response
packets to expect from the upstream, so proxy_responses may not be optimal.
But setting proxy_timeout shorter may in many cases help me by logging in
access_log sooner.

I've started by setting proxy_timeout 1s in a situation where each
application message stream is expected to be quick and very short-lived.
Now I see entries in access_log quickly.

David
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

no access_log logging for UDP streams

David Kewley February 13, 2018 04:04PM

Re: no access_log logging for UDP streams

Roman Arutyunyan February 14, 2018 09:02AM

Re: no access_log logging for UDP streams

David Kewley February 14, 2018 05:12PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 278
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready