2014-11-20 15:59 GMT+01:00 Rainer Gerhards <[email protected]>:
> As it looks, this does the trick: > > > https://github.com/rsyslog/rsyslog/commit/4cc10e7434d21f98e5cacd542edb834f894db620 > > It's currently in master-candidate and will migrate to master when the > testruns look good (the manual one did). > > Totally empty configs are still not tolerated. I'll see if I can add an > option for that. > > I have now extended the -N option to support -N3, which can be used for checking include files: https://github.com/rsyslog/rsyslog/commit/a75eb98c058665d82f168f834b392683b30e001d It does not require the existence of actions. Rainer > Rainer > > 2014-11-19 20:07 GMT+01:00 Brian Knox <[email protected]>: > >> Thanks! >> >> On Wed, Nov 19, 2014 at 1:59 PM, Rainer Gerhards < >> [email protected]> >> wrote: >> >> > Ok then I need to see how I can fiddle that into the grammar ;) >> > >> > Sent from phone, thus brief. >> > Am 19.11.2014 19:56 schrieb "David Lang" <[email protected]>: >> > >> > > On Wed, 19 Nov 2014, Rainer Gerhards wrote: >> > > >> > > 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? >> > >> >> > > >> > > I think so, with a warning reported at startup or something like that. >> > > >> > > David Lang >> > > >> > > 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. >> > >> >> > >> _______________________________________________ >> > > 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.

