2014-11-19 16:40 GMT+01:00 Brian Knox <[email protected]>: > Ok - perhaps we have accidently conflated two problems: > > 1) An empty ruleset > 2) A ruleset with only "stop" > > this will pass validation: > > ------------------------------------ > ruleset(name="foo") { > stop > } > *.* /var/log/test > call foo > ------------------------------------ > > If the ruleset is empty, however, it will not: > > ------------------------------------ > ruleset(name="foo") { > } > *.* /var/log/test > call foo > ------------------------------------ > > rsyslogd: version 8.5.0, config validation run (level 1), master config > ./test.conf > rsyslogd: error during parsing file ./test.conf, on or before line 2: > syntax error on token '}' [try http://www.rsyslog.com/e/2207 ] > rsyslogd: CONFIG ERROR: could not interpret master config file > './test.conf'. [try http://www.rsyslog.com/e/2207 ] > rsyslogd: run failed with error -2207 (see rsyslog.h or try > http://www.rsyslog.com/e/2207 to learn what that number means) > > OK, that's a different question. Is the consensus we need to support this as well?
Rainer > Brian > > > > On Wed, Nov 19, 2014 at 10:35 AM, Brian Knox <[email protected]> > wrote: > > > For verifying the problem I ran rsyslog -N1 -f against just the subset of > > the config, if I recall correctly. I believe my coworker had the same > > issue with the full config that definitely had actions in it - but I'll > ask > > him to reproduce with the full configuration. Thanks! > > > > Brian > > > > On Wed, Nov 19, 2014 at 10:13 AM, Rainer Gerhards < > > [email protected]> wrote: > > > >> Brian, > >> > >> I just revisited this problem report. I have now taken a look at the > code. > >> The error message actually tells you that there is no action inside the > >> *entire config*, not just an empty ruleset. Can you confirm there was > >> nothing else in the config? If not, can you send me the config, so that > I > >> can try to see what's going on. > >> > >> I assume we agree that a totally action-less config is an error ;) > >> > >> Rainer > >> > >> 2014-11-11 22:49 GMT+01:00 Brian Knox <[email protected]>: > >> > >> > If was able to use an empty ruleset, a warning resulting from that > >> wouldn't > >> > bother me at all. > >> > > >> > Brian > >> > > >> > On Tue, Nov 11, 2014 at 4:25 PM, David Lang <[email protected]> wrote: > >> > > >> > > On Tue, 11 Nov 2014, Rainer Gerhards wrote: > >> > > > >> > > 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. > >> > >> > >> > > > >> > > I think that this is a sufficently corner case that I'm not sure > it's > >> > > worth the extra complexity to silence the warning. I think that > people > >> > who > >> > > do this intentionally can just ignore the log message. > >> > > > >> > > 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? > >> > >> > >> > > > >> > > I am not saying that it should try to catch every possible case, > but I > >> > was > >> > > thinking that the configuration optimization step would "optomize > >> away" > >> > > some impossible combinations, and that could result in an empty > >> ruleset. > >> > > > >> > > 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. > >> > > > >> > _______________________________________________ > >> > 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.

