Thanks for the replies.

My requirement is that I have a daemon that may generate a burst of
syslogs, say, every minute (when a certain subsystem is overloaded).
We do not want to write all these syslogs to /var/log/messages. We
also do not want to forward so many of those syslogs to a remote
syslog server. We wanted to rate limit them, maybe 1 per hour or so.
For now, I have tried 'omprog' module and sending such syslogs to an
external program.


module( load="omprog" )

if ($syslogfacility-text == 'daemon' and $msg contains "Out of memory") then {
      action(type="omprog"
                 binary="/usr/bin/rate_limit_daemon_syslogs.sh"
                 template="RSYSLOG_FileFormat")
      stop
}

/usr/bin/rate_limit_daemon_syslogs.sh maintains state on when was the
last syslog forwarded or written locally. If this script decides its
ok to syslog, then it will call 'logger' with differently worded
message and different facility.

In our case we'd like to limit these logs at the source and not at an
intermediate syslog collector. I took a quick look at the sampling
docs and that may not apply to our scenario.

Thanks.

On Wed, Apr 3, 2024 at 12:07 AM Mariusz Kruk via rsyslog
<rsyslog@lists.adiscon.com> wrote:
>
> A piece of feedback against
> https://www.rsyslog.com/doc/tutorials/random_sampling.html
>
> I know it's obvious for some people but for some it might not be - it
> will collect _about_ 20% of logs provided the overall number of events
> is big enough. Since it's a random-based mechanism, it's... random.
>
> Additionally, I had a similar thing implemented for load-balancing to
> different "backends" and for some reason it didn't work uniformly (I
> think I already wrote about this) - one of four backends was never
> chosen. The thing is I was choosing not based directly on random(4) but
> on (random(some_bigger_integer) % 4) which I thought would yield more
> uniform randomness. It appears I was wrong.
>
> MK
>
>
> On 3.04.2024 08:51, Rainer Gerhards via rsyslog wrote:
> > This sounds a bit like you are looking for this:
> >
> > https://www.rsyslog.com/doc/tutorials/log_sampling.html
> >
> > HTH
> > Rainer
> >
> > El mié, 3 abr 2024 a las 3:25, Prasad Koya via rsyslog
> > (<rsyslog@lists.adiscon.com>) escribió:
> >> Hi
> >>
> >>
> >> module( load="imuxsock" )
> >> module( load="imklog" )
> >>
> >> if ($syslogfacility-text == 'kern' and $msg contains "Out of memory") then 
> >> {
> >>        action(type="omfile" queue.size="1000" queue.type="LinkedList"
> >> queue.dequeueSlowDown="3600000000" file="/var/log/oom")
> >> }
> >>
> >>
> >> If we have a flurry of, for example, "Out of memory" messages from the
> >> facility 'kern', we'd like to keep only, say, one per hour in a
> >> separate file.
> >>
> >> https://rsyslog.readthedocs.io/en/latest/rainerscript/queue_parameters.html
> >> says do not set low value for queue.size.
> >>
> >> Above page also says queue.dequeueslowdown can be used as
> >> rate-limiting. Maybe that doesn't apply for "omfile" as I don't see
> >> above rsyslog.conf working. high and low watermarks are not applicable
> >> here as it's not a disk based queue. Appreciate any pointers.
> >>
> >> Thank you.
> >> _______________________________________________
> >> rsyslog mailing list
> >> https://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.
> > _______________________________________________
> > rsyslog mailing list
> > https://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.
> _______________________________________________
> rsyslog mailing list
> https://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.
_______________________________________________
rsyslog mailing list
https://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