in the forum post http://kb.monitorware.com/viewtopic.php?p=24957 we have a user who has a product that is limited by license to a daily average of 250 logs/sec (21.6M logs/day), beyond that, the appliance drops logs and reports "daily limit exceeded" instead of reporting on that day's log. But they don't hit this limit every day.

What they are looking to do is to keep the feed below that limit. Their initial attempt was to configure a delay after delivering each message. I just realized that the reason it may not seem to be working is that that delay is per batch of messages, so it will let 250*batchsize messages/sec through

But this is a very poor approach to take, even if it can be made to work.

I was thinking about what else could be done and I had a thought occur to me.

Would it be possible to use global variables for this?

Have a global variable to hold the currentday, and another to hold messagecount.

if messagecount < limit, incriment messagecount and deliver the message

else block output and let messages queue

if currentday < actual day, reset messagecount, unblock queue

I know the tracking could be done, but is there a reasonable way to block an output so that the message will queue up until it's unblocked?

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