[syslog-ng]losing messages using syslog-ng-1.4.7 & libol-0.2.20

Balazs Scheidler bazsi@balabit.hu
Thu, 26 Oct 2000 20:08:15 +0200


> You're almost certainly overflowing the internal queue in either the
> server or the clients or both.  Try logging the messages on the clients to
> a file as well as the network, and see if the local syslog-ngs are
> dropping messages before the server has any chance.
> 
> You can put some printf statements into the libol code to trace what is
> happening with each log entry and the output queue.  I did this to mine
> and I can see in the output that syslog-ng sometimes (often) simply throws
> messages away.  The interesting parts are in pkt_buffer.c and queue.c in
> libol:
> 
>         if (self->queue_size == self->queue_max) {
>                 /* fifo full */           <== oops
>                 ol_string_free(string);   <== this tosses your message
>                 return ST_FAIL | ST_OK;   <== return code is ignored
>         }
> 
> I've raised this issue on this list before, but have been ignored.  

I wouldn't say you have been ignored. I once explained why your arguments
were false.

here's the URL:

http://lists.balabit.hu/pipermail/syslog-ng/2000-October/000890.html

carefully sizing the output fifo size will not drop you fetched messages.

The shortest message can be 4 bytes, so the 1024 byte input buffer (contrary
to what I said in the message above, it's not 2048), you can have at most
256 lines in a single packet.

Have the number of sources and multiply it by 256, and the fifo you get will
hold all input data.

> Regardless of how high your fifo size is, syslog-ng will lose messages if
> the sources generate messages faster than the destintation can consume
> them.  Raising the fifo size only masks transients, but does not help in
> the steady state.

if the fifo is large enough to hold all messages in a single poll() run, TCP
will flow-control the input stream.


-- 
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1
     url: http://www.balabit.hu/pgpkey.txt