On Wed, 16 Sep 2015, Thomas Straubinger wrote:

Hey guys,

I have noticed a strange behavior with rsyslog which I can reproduce with 
current rsyslog versions: 8.4 (Debian Jessie) and 5.8 (Debian wheezy).
I'm using the following configuration to forward messages via TCP to a 
syslog-ng server and to activate queuing in case the syslog-ng server is not 
reachable:

$WorkDirectory /var/spool/rsyslog
$ActionQueueType LinkedList
$ActionQueueFileName centralwork
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on
*.* @@syslog-ng.example.com:514

Now - to test queuing - I block the clients IP address at syslog-ng side via 
iptables. Then I'm producing 5000 log entries on the client via:
for (( x=1; $x<=5000; x++ )); do logger "message: $x";  done &

At this point, I already see some strange behavior:
- In the queue file, the first message is number 468 (?). I would expect, that it will 
start with "1" as rsyslog was not able to deliver it to the syslog-ng server.
- On the other side, the last message in the queue file is number 4211. Of 
course here I would expect number 5000.

However, if I now unblock the connection to the syslog-ng server, I see that 
all messages are delivered to the syslog-ng server. But not in the correct 
order. Most of the time number 1-467 and 4212-5000 (which are not in the queue 
file) are delivered first and a few seconds later the messages which are stored 
in the queue file (468-4211). I could live with that, but there is a huge 
problem:

If I restart rsyslog before unblocking the connection to the syslog-ng server 
(to test the 'ActionQueueSaveOnShutdown on' option). rsyslog is not writing 
anything to the queue file, it only writes an additional centralwork.qi file 
and ends. This results in losing message 1-467 and 4212-5000.

Thanks for clearing up this
Thomas


PS: Please also notice, that the number of messages/lines (were rsyslog starts 
to store the message in the queue file) is always changing. Everytime it's in a 
random range somewhere between 400-1400 which also looks a kind of strange to 
me. The last entry in the queue file is also affected of this behavior (but 
it's never 5000).

First off, I suggest that you configure impstats and look at it's info, I think it will clarify a bunch of things for you.

Secondly, what are you doing to stop rsyslog? depending on what you are doing, you may not be giving it time to save the messages.

David Lang
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to