[syslog-ng] Broken TCP connection

James Pirman jim_pirman at hotmail.com
Thu Jan 14 19:00:31 CET 2010


Unfortunately I no longer have the tcpdump since we only keep them for 2 or 3 days.  Ever since I increased the parameters the problem has stopped happening.  I will have to recreate this again in the test environment to get a new tcpdump.  However, because increasing the size stopped the problem, I do not think it is a problem with EOF.  

 

 
> From: bazsi at balabit.hu
> To: syslog-ng at lists.balabit.hu
> Date: Thu, 14 Jan 2010 10:12:40 +0100
> Subject: Re: [syslog-ng] Broken TCP connection
> 
> On Mon, 2010-01-11 at 14:49 -0600, James Pirman wrote:
> > pzolee,
> > 
> > The client happens to be a custom application, so I don't have a
> > client config, and flow control doesn't really apply on the client
> > side. I was able to setup a test environment and recreated the
> > problem. The message immediately before the disconnect message is the
> > following:
> > 
> > <47>1 2010-01-11T14:36:40.239-06:00 server-04 syslog-ng 30082 - [meta
> > sequenceId="122761"] debug Destination queue full, dropping message;
> > queue_len='1000', mem_fifo_size='1000'
> > 
> > I am guessing if I don't have flow control on the client side that I
> > need to play with the numbers to ensure that none of the buffers ever
> > get filled up. Is this correct?
> 
> That message alone should not cause syslog-ng to initiate a disconnect.
> Do you have TLS enabled?
> 
> The only reasons syslog-ng disconnects are:
> * either some kind of protocol format issue
> * or an EOF on the client side
> 
> Protocol errors are logged. The exact reasons with messages follow:
> 
> msg_error("Error reading frame header",
> evt_tag_int("fd", self->super.transport->fd),
> evt_tag_errno("error", errno),
> NULL);
> 
> msg_error("Invalid frame header", 
> evt_tag_printf("header", "%.*s", (gint) (i - self->buffer_pos), &self->buffer[self->buffer_pos]),
> NULL);
> 
> msg_error("Incoming frame larger than log_msg_size()",
> evt_tag_int("log_msg_size", self->buffer_size - LPFS_FRAME_BUFFER),
> evt_tag_int("frame_length", self->frame_len),
> NULL);
> 
> As I see with the syslog() protocol, EOFs are not logged, only with 
> the traditional protocol. I've added this log message with this patch
> to OSE 3.1, but you should be able to apply it to 3.0 as well.
> 
> commit bbc248bc8a577a299036d2ab6898d72f657fc7a0
> Author: Balazs Scheidler <bazsi at balabit.hu>
> Date: Thu Jan 14 10:11:33 2010 +0100
> 
> logproto: added log message about EOF in the new style syslog protocol handler
> 
> Are you sure that it wasn't the client which sent a FIN packet in 
> the first place? Can you show at least the end of tcpdump -rn <pcap file>?
> 
> -- 
> Bazsi
> 
> ______________________________________________________________________________
> Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
> Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
> FAQ: http://www.campin.net/syslog-ng/faq.html
> 
 		 	   		  
_________________________________________________________________
Your E-mail and More On-the-Go. Get Windows Live Hotmail Free.
http://clk.atdmt.com/GBL/go/196390709/direct/01/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.balabit.hu/pipermail/syslog-ng/attachments/20100114/25512747/attachment.htm 


More information about the syslog-ng mailing list