+1 for permitEmpty=on - it would definitely simplify our lives.

Brian

On Tue, Nov 11, 2014 at 11:40 AM, Boylan, James <[email protected]>
wrote:

> I think that the "permitEmpty=on" field is a reasonable starting place. I
> have a config management app that I use with rsyslog that this field would
> help significantly with.
>
> -- James
> --- Sent from my mobile phone ---
>
> ----- Reply message -----
> From: "Rainer Gerhards" <[email protected]>
> To: "rsyslog-users" <[email protected]>
> Subject: [rsyslog] ruleset with only stop
> Date: Tue, Nov 11, 2014 10:29 AM
>
> 2014-11-11 17:22 GMT+01:00 David Lang <[email protected]>:
>
> > On Tue, 11 Nov 2014, Brian Knox wrote:
> >
> >  Rainer,
> >>
> >> I agree that an empty ruleset is an oddity.  In our case, the short
> answer
> >> is that we are generating configurations from templates using chef, and
> >> the
> >> ability to have a ruleset that simply discards would make part of that
> >> process much simpler for us.
> >>
> >> It is admittedly an edge case.
> >>
> >
> > It's an edge case, but I think it's one that should be supported if
> > possible.
> >
> > automated config generation is very useful, and being able to group rules
> > into rulesets and call them with the calling function not having any idea
> > of what is going to happen with the logs at that point is very useful,
> > being able to have a high level config split the logs up and call
> different
> > rulesets on different logs without having to worry if the ruleset does
> > something with the logs or just throws them away is _very_ useful.
> >
> > So it is a corner case, but I think it's a valuable one to support.
> >
> >
> ack
>
>
> > I would suggest that at config load time, that this is an odd enough
> > corner case that it's worth logging a "ruleset X can't do anything with
> the
> > logs" message, not just for the case where the only action is to throw it
> > away, but also for the cases where the conditions in a ruleset cannot
> > possibly match any log message (if priority = info then *.crit also
> cannot
> > match anything for example)
> >
> >
> Let's start with what we have on the table. I think it is best to add a
> ruleset parameter "permitEmpty=on". That way, we don't generate
> error/warning messages when the user is aware of what he is doing. In any
> manual case (without config gen), I'd still say that's an error indication.
>
> On the topic of no filter matches. That's quite complex, as you would need
> to evaluate all the filters and possible conditions. Not sure if it can
> even reliably done. Am I overlooking something?
>
> Rainer
>
>
> > David Lang
> >
> >
> >  Brian
> >>
> >>
> >>
> >> On Tue, Nov 11, 2014 at 4:06 AM, Rainer Gerhards <
> >> [email protected]>
> >> wrote:
> >>
> >>  2014-11-10 16:23 GMT+01:00 Brian Knox <[email protected]>:
> >>>
> >>>  Today I noticed a ruleset with only "stop" as it's action will fail to
> >>>> parse with rsyslog 8.4, but the same rule with a "~" will pass.
> >>>>
> >>>> ruleset(name="testme") {
> >>>>     *.* ~
> >>>> }
> >>>>
> >>>> bknox@seriamau:~$ rsyslogd -N1 -f ./test.conf
> >>>> rsyslogd: version 8.5.0, config validation run (level 1), master
> config
> >>>> ./test.conf
> >>>> rsyslogd: warning: ~ action is deprecated, consider using the 'stop'
> >>>> statement instead [try http://www.rsyslog.com/e/2307 ]
> >>>>
> >>>>
> >>>> Changing to "stop" :
> >>>> ruleset(name="testme") {
> >>>>     stop
> >>>> }
> >>>>
> >>>> bknox@seriamau:~$ rsyslogd -N1 -f ./test.conf
> >>>> rsyslogd: version 8.5.0, config validation run (level 1), master
> config
> >>>> ./test.conf
> >>>> rsyslogd: CONFIG ERROR: there are no active actions configured. Inputs
> >>>>
> >>> will
> >>>
> >>>> run, but no output whatsoever is created. [try
> >>>> http://www.rsyslog.com/e/2103
> >>>> ]
> >>>> rsyslogd: run failed with error -2103 (see rsyslog.h or try
> >>>> http://www.rsyslog.com/e/2103 to learn what that number means)
> >>>>
> >>>> I have a situation where rules are being generated via templates in
> >>>> chef,
> >>>> and having a rule that just discards messages would actually be a
> useful
> >>>> thing to have, and ran into this.
> >>>>
> >>>> So my question is, should a rule that only calls a discard action be
> >>>> valid?  If so, is this a bug in the config parser?
> >>>>
> >>>>
> >>>>  It's a little bit complex. The thing is that "~" actually *is* an
> >>> action,
> >>> whereas "stop" is a statement. When I wrote that checking code, I never
> >>> envisioned that an empty ruleset could be useful for any case (if there
> >>> is
> >>> just a "stop" inside it, it's practically empty, in that it simply does
> >>> nothing). I think in most cases this really is a config error. Maybe I
> >>> could add an "permitEmpty" parameter to the ruleset, which will then
> not
> >>> emit that error message.
> >>>
> >>> To understand the whole picture: why do you need these empty rulesets?
> >>>
> >>> Rainer
> >>>
> >>> Brian
> >>>
> >>>> _______________________________________________
> >>>> 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.
> >>>>
> >>>>  _______________________________________________
> >>> 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.
> >>>
> >>>  _______________________________________________
> >> 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.
> >>
> >>  _______________________________________________
> > 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.
> >
> _______________________________________________
> 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.
> _______________________________________________
> 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.
>
_______________________________________________
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