Hi Ian,

If you turn rsyslog and/or mongodb to Debug, do you see any clues in the
logs?

I don't know the answer to your specific question, but this always helped
me when I had similar trouble with Elasticsearch.

2012/8/21 Ian <[email protected]>

> I'm still looking for the example mongodb template you mentioned that
> includes the database-level syntax in it; if you have a link I'd appreciate
> it. Searching rsyslog.com and the wiki returns results that mostly point
> to release announcements; some results do cover MongoDB configuration but
> do not show the database-level syntax being used in a template.
>
> I wrapped my previously-mentioned template in MongoDB syntax so it looks
> like:
> $template
> mongoTemplate,"db.myCollection.save({%msg:R,ERE,1,BLANK:clientip=([[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3})--end:jsonf:msg_clientip%});"
>
>
> but this didn't log anything to MongoDB. Neither did simple variations
> like:
> $template mongoTemplate,"db.myCollection.save({message: %msg%});" or
>
> $template mongoTemplate,"db.myCollection.save({test: \"Testing\"});"
>
>
> Thanks again,
> Ian
>
>
>
>
> >________________________________
> > From: "[email protected]" <[email protected]>
> >To: Ian <[email protected]>; rsyslog-users <
> [email protected]>
> >Sent: Monday, August 20, 2012 1:39 PM
> >Subject: Re: [rsyslog] Regex logging to MongoDB
> >
> >On Mon, 20 Aug 2012, Ian wrote:
> >
> >> I configured a template with regexes for all of the information I want
> logged:
> >>
> >> $template
> jsonTemplate,"{%msg:R,ERE,1,BLANK:username=([A-Za-z0-9_-]+)--end:jsonf:msg_username%,%msg:R,ERE,1,BLANK:clientip=([[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3}\.[[:digit:]]{1,3})--end:jsonf:msg_clientip%,
> ...}"
> >>
> >> and this logs to a file perfectly. However when I log this same info to
> MongoDB nothing is logged. I can log a simple, non-json template to MongoDB
> so I know the connection works correctly. In the docs it says regexes don't
> work with filtering (I had been using if $app-name == 'myapp' then
> action(...)) and thought this was the issue, but even when I use the above
> template with the very straightforward:
> >>
> >> *.* action(type="ommongodb" server="localhost" serverport="27017"
> uid="rsyslog" pwd="..." db="..." collection="...")
> >>
> >> this does not log to the database. I removed the jsonf formatting of
> the template fields as well, but still no luck. What should I be doing
> differently here?
> >
> >Remember that the database templates include everything that is sent to
> >the database, this includes the "insert into TABLE X" and trailing ";"
> >parts of the syntax.
> >
> >take a look at the example mongodb template and add this extra syntax
> >around the part of the template that you have been working with.
> >
> >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
>
_______________________________________________
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

Reply via email to