It's contributed code.

Albeit I have done some improvements, I need to familiarize myself
again with the module. IAW: it will take some time ;-)

Rainer

El mié, 5 oct 2022 a las 16:04, Marcin Mirosław via rsyslog
(<rsyslog@lists.adiscon.com>) escribió:
>
> It would be easier to fix if it would be my misconfiguration :(
> Rainer, would you look into ommongodb module, please?
> Marcin
>
> W dniu 2022-10-05 12:20, Mariusz Kruk via rsyslog napisał(a):
> > There is also some inconsistency within the documentation page (it
> > lists OMSR_TPL_AS_MSG as the default template whereas few lines later
> > it shows a definition of a template named BSON which is supposed to be
> > default).
> >
> > So I suspect that something wasn't quite finished here ;-)
> >
> > On 5.10.2022 12:03, Mariusz Kruk wrote:
> >> Out of sheer curiosity I looked into the ommongodb.c and found this:
> >>
> >> 557     if(pData->tplName == NULL) {
> >> 558         doc = getDefaultBSON(*(smsg_t**)pMsgData);
> >> 559     } else {
> >> 560         doc = BSONFromJSONObject(*(struct json_object
> >> **)pMsgData);
> >> 561     }
> >>
> >> I'm not that good in rsyslog internals but for me it seems as if the
> >> module does not use the specified template at all. If the template is
> >> not specified, it creates a BSON with pre-defined files. If the
> >> template is specified, it just dumps a bson object from the message
> >> data.
> >>
> >>
> >> On 5.10.2022 11:28, Marcin Mirosław via rsyslog wrote:
> >>> Hi!
> >>> If I use omfile then logs contains messages in my desired format but
> >>> not with ommongodb. tcpdump shows:
> >>>
> >>> ..msg.....{"foo":"bar"}..
> >>>
> >>> Marcin
> >>>
> >>>
> >>> W dniu 2022-10-05 08:05, Mariusz Kruk via rsyslog napisał(a):
> >>>> Looks relatively normal.
> >>>>
> >>>> You can of course try writing to a file with your "i-json" template
> >>>> to
> >>>> make sure that's what you want to be sent to mongodb.
> >>>>
> >>>> But then, if your ommongodb action does contain the
> >>>> template="i-json"
> >>>> parameter, it simply should work.
> >>>>
> >>>> The only other thing you can do to make sure what's going on over
> >>>> the
> >>>> wire is of course the tcpdump (unless your traffic is encrypted).
> >>>>
> >>>> Ot simply looks that it should work - it should not need any more
> >>>> "processing" as it is.
> >>>>
> >>>> On 4.10.2022 15:45, Marcin Mirosław wrote:
> >>>>> :)
> >>>>> I had to censore log...
> >>>>>
> >>>>>
> >>>>> Debug line with all properties:
> >>>>> FROMHOST: 'localhost', fromhost-ip: '127.0.0.1', HOSTNAME: 'linux',
> >>>>> PRI: 174,
> >>>>> syslogtag 'a1', programname: 'x1', APP-NAME: 'x1', PROCID: '-',
> >>>>> MSGID: '-',
> >>>>> TIMESTAMP: 'Oct  4 15:38:53', STRUCTURED-DATA: '[timeQuality
> >>>>> tzKnown="1" isSynced="1" syncAccuracy="415383"]',
> >>>>> msg: '{"foo":"bar","mode":750,"date":"2022-10-04T15:38:53"}'
> >>>>> escaped msg:
> >>>>> '{"foo":"bar","mode":750,"date":"2022-10-04T15:38:53"}'
> >>>>> inputname: imtcp rawmsg: '<174>1 2022-10-04T15:38:53.219052+02:00
> >>>>> linux a1 - - [timeQuality tzKnown="1" isSynced="1"
> >>>>> syncAccuracy="415383"] {"foo":"bar
> >>>>> ","mode":750,"date":"2022-10-04T15:38:53"}'
> >>>>> $!:
> >>>>> $.:
> >>>>> $/:
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> W dniu 2022-10-04 09:18, Mariusz Kruk via rsyslog napisał(a):
> >>>>>> :-)
> >>>>>>
> >>>>>> OK, I understand that you did
> >>>>>>
> >>>>>> template(name="i-json" type="string" string="%msg%")
> >>>>>>
> >>>>>> action(type="ommongodb" server="..." [...] template="i-json")
> >>>>>>
> >>>>>> right?
> >>>>>>
> >>>>>> This way you should indeed be pushing the %msg% part of the
> >>>>>> incoming
> >>>>>> syslog message.
> >>>>>>
> >>>>>> Try adding
> >>>>>>
> >>>>>> action(type="omfile" file="/tmp/debug.log"
> >>>>>> template="RSYSLOG_DebugFormat")
> >>>>>>
> >>>>>> immediately before your ommongodb action to see what exactly your
> >>>>>> properties look like. That usually helps finding what's happening
> >>>>>> inside your processing pipeline.
> >>>>>>
> >>>>>> On 4.10.2022 09:03, Marcin Mirosław wrote:
> >>>>>>>
> >>>>>>> I did in the part about connection to mongodb ;)
> >>>>>>>
> >>>>>>> "It will be used automatically if no other template is specified
> >>>>>>> to be used"
> >>>>>>>
> >>>>>>> But I specified template: template(name="ui-json" type="string"
> >>>>>>> string="%msg%")
> >>>>>>>
> >>>>>>> so if I understand qutoed docs correctly, all about default,
> >>>>>>> canned template doesn't apply to my case, am I right?
> >>>>>>>
> >>>>>>>
> >>>>>>> W dniu 2022-10-04 08:27, Mariusz Kruk napisał(a):
> >>>>>>>
> >>>>>>>> You didn't read the docs, did you? ;-)
> >>>>>>>>
> >>>>>>>> https://www.rsyslog.com/doc/v8-stable/configuration/modules/ommongodb.html
> >>>>>>>> <https://www.rsyslog.com/doc/v8-stable/configuration/modules/ommongodb.html>
> >>>>>>>> "Note rsyslog contains a canned default template to write to the
> >>>>>>>> MongoDB. It will be used automatically if no other template is
> >>>>>>>> specified to be used. This template is:
> >>>>>>>>
> >>>>>>>> template(name="BSON" type="string" string="\\"sys\\" :
> >>>>>>>> \\"%hostname%\\",
> >>>>>>>> \\"time\\" : \\"%timereported:::rfc3339%\\", \\"time\_rcvd\\" :
> >>>>>>>> \\"%timegenerated:::rfc3339%\\", \\"msg\\" : \\"%msg%\\",
> >>>>>>>> \\"syslog\_fac\\" : \\"%syslogfacility%\\", \\"syslog\_server\\"
> >>>>>>>> :
> >>>>>>>> \\"%syslogseverity%\\", \\"syslog\_tag\\" : \\"%syslogtag%\\",
> >>>>>>>> \\"procid\\" : \\"%programname%\\", \\"pid\\" : \\"%procid%\\",
> >>>>>>>> \\"level\\" : \\"%syslogpriority-text%\\"")
> >>>>>>>>
> >>>>>>>> This creates the BSON document needed for MongoDB if no template
> >>>>>>>> is specified. The default schema is aligned to CEE and project
> >>>>>>>> lumberjack. As such, the field names are standard lumberjack
> >>>>>>>> field names, and *not* rsyslog property names
> >>>>>>>> <https://www.rsyslog.com/doc/v8-stable/configuration/modules/property_replacer.html>."
> >>>>>>>>
> >>>>>>>>
> >>>>>>>> On 3.10.2022 22:02, Marcin Mirosław wrote:
> >>>>>>>>> W dniu 03.10.2022 o 18:55, Mariusz Kruk via rsyslog pisze:
> >>>>>>>>>> Don't know about this particular output module but in general
> >>>>>>>>>> what you want is for rsyslog to parse the message and insert
> >>>>>>>>>> it as json object.
> >>>>>>>>>
> >>>>>>>>> Meseems that now rsyslog put %msg% as json object. (
> >>>>>>>>> ex: msg: '{"foo":"bar"}' }
> >>>>>>>>> )
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>> So you need to use parse_json() function on the input string
> >>>>>>>>>> and then use proper template which will render the json to
> >>>>>>>>>> appropirate string. I use similar approach (without the
> >>>>>>>>>> parsing part) to create output json for Splunk's HEC input -
> >>>>>>>>>> the idea is roughly the same.
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> On 3.10.2022 18:35, Marcin Mirosław via rsyslog wrote:
> >>>>>>>>>>> Maybe when I show examples from mongo it will be more clear.
> >>>>>>>>>>>
> >>>>>>>>>>> > db.log2.find()
> >>>>>>>>>>> [
> >>>>>>>>>>>   { _id: ObjectId("633b0ea6b8f2a532cfa6c64c"), msg:
> >>>>>>>>>>> '{"foo":"bar"}' },
> >>>>>>>>>>>   { _id: ObjectId("633b0eb6b8f2a532cfa6c64d"), foo: 'bar' }
> >>>>>>>>>>> ]
> >>>>>>>>>>>
> >>>>>>>>>>> First record shows how msg is inserted to mongo by rsyslog.
> >>>>>>>>>>> Second record is what I would like to get.
> >>>>>>>>>>>
> >>>>>>>>>>> rsyslog do:
> >>>>>>>>>>> db.log2.insert({msg:'{"foo":"bar"}'})
> >>>>>>>>>>>
> >>>>>>>>>>> but I'd like to have:
> >>>>>>>>>>> db.log2.insert({"foo":"bar"})
> >>>>>>>>>>>
> >>>>>>>>>>> Marcin
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> W dniu 03.10.2022 o 17:36, Rainer Gerhards pisze:
> >>>>>>>>>>>> I do not fully understand the question (maybe language issue
> >>>>>>>>>>>> on my
> >>>>>>>>>>>> side), but there is a syntax error:
> >>>>>>>>>>>>
> >>>>>>>>>>>> In a string template, properties must be enclosed in percent
> >>>>>>>>>>>> sign. so:
> >>>>>>>>>>>>
> >>>>>>>>>>>> ... string="%msg%
> >>>>>>>>>>>>
> >>>>>>>>>>>> HTH
> >>>>>>>>>>>> Rainer
> >>>>>>>>>>>>
> >>>>>>>>>>>> El lun, 3 oct 2022 a las 13:18, Marcin Mirosław via rsyslog
> >>>>>>>>>>>> (<rsyslog@lists.adiscon.com>
> >>>>>>>>>>>> <mailto:rsyslog@lists.adiscon.com>) escribió:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Hello!
> >>>>>>>>>>>>> Field msg contains complete json with data. I would like to
> >>>>>>>>>>>>> instert it
> >>>>>>>>>>>>> to mongodb as is. But now rsyslog inserts it as a value of
> >>>>>>>>>>>>> key "msg".
> >>>>>>>>>>>>> So now is:
> >>>>>>>>>>>>> msg: '{"foo":"bar"}
> >>>>>>>>>>>>> a i'd like to insert: only:
> >>>>>>>>>>>>> '{"foo","bar"}'
> >>>>>>>>>>>>> I tried with template:
> >>>>>>>>>>>>> template(name="ui-json" type="string" string="%msg")
> >>>>>>>>>>>>> but it doesn't do what I need. Is it possible to configure
> >>>>>>>>>>>>> it using
> >>>>>>>>>>>>> template or this is imposible due to ommnongodb limitation?
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Marcin Mirosław
> >>>>>>>>>>>>> _______________________________________________
> >>>>>>>>>>>>> rsyslog mailing list
> >>>>>>>>>>>>> https://lists.adiscon.net/mailman/listinfo/rsyslog
> >>>>>>>>>>>>> <https://lists.adiscon.net/mailman/listinfo/rsyslog>
> >>>>>>>>>>>>> http://www.rsyslog.com/professional-services/
> >>>>>>>>>>>>> <http://www.rsyslog.com/professional-services/>
> >>>>>>>>>>>>> What's up with rsyslog? Follow
> >>>>>>>>>>>>> https://twitter.com/rgerhards
> >>>>>>>>>>>>> <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
> >>>>>>>>>>> <https://lists.adiscon.net/mailman/listinfo/rsyslog>
> >>>>>>>>>>> http://www.rsyslog.com/professional-services/
> >>>>>>>>>>> <http://www.rsyslog.com/professional-services/>
> >>>>>>>>>>> What's up with rsyslog? Follow https://twitter.com/rgerhards
> >>>>>>>>>>> <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
> >>>>>>>>>> <https://lists.adiscon.net/mailman/listinfo/rsyslog>
> >>>>>>>>>> http://www.rsyslog.com/professional-services/
> >>>>>>>>>> <http://www.rsyslog.com/professional-services/>
> >>>>>>>>>> What's up with rsyslog? Follow https://twitter.com/rgerhards
> >>>>>>>>>> <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.
> > _______________________________________________
> > 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