[syslog-ng] tcp logging drops messages
Stephen Harris
lists at spuddy.org
Fri Aug 26 16:28:56 CEST 2005
I was attempting to test the resiliency of syslog-ng to TCP server outages
and notice that 2 messages can get lost.
I have a simple configuration:
Sending machine: Solaris 8, syslog-ng-1.6.8+20050826
Receiving machine: Linux (or Solaris, doesn't matter), ncat
syslog-ng.conf:
options { time_reopen(1); };
source from_file { pipe("/var/run/auth_log"); };
destination loghost { tcp("dest" port(1234)); };
log { source(from_file); destination(loghost);};
Sending machine:
syslog-ng -F -d
Receiving machine:
ncat :1234
So far, so good; "echo msg1 > /var/run/auth_log" and I see the
message on the receiving machine.
Now kill ncat. Do "echo msg2 > /var/run/auth_log". No errors are seen.
Now do a "echo msg3 > /var/run/auth_log". Now we see an error...
io.c: do_write: write() failed (errno 32), Broken pipe
pkt_buffer::do_flush(): Error flushing dataMarking fd 5 for closing.
Connection broken to AF_INET(swharrislx1:1234), reopening in 1 seconds
Closing fd 5.
So far so good!
Now another... "echo msg4 > /var/run/auth_log"
Now another ... "echo msg5 > /var/run/auth_log".
Now restart ncat.
The ncat will show "msg4" and "msg5" happily. "msg2" and "msg3" are lost.
Any ideas?
--
rgds
Stephen
More information about the syslog-ng
mailing list