Hello Ralph! I'm the initial author of the omhiredis output. I haven't
looked at the omkafka source code yet so I can't speak to it's complexity -
but I can say that writing the transaction support for omhiredis was fairly
simple.  It was just implementing the beginTransaction / endTransaction
macro blocks in addition to the doAction block.

If knowing at the rsyslog level what is going on with your queues is
important, I'd lean towards taking a crack at transaction support in
omkafka.

I'm currently using omelasticsearch heavily - and being able to look in my
imstats logs to see what's happening with my queues and actions definitely
makes it simple to tell what is going on at a glance.

Just my thoughts!
Cheers,
Brian

On Fri, Jan 15, 2016 at 12:31 AM, Ralph Caraveo <[email protected]> wrote:

> Hello,
>
> (I apologize if this got sent twice but I may have sent it too soon before
> the mailing list registration process was completed.)
>
> I'm hoping the group can provide some guidance around a requirement we
> have to have transactional support around having an Rsyslog OM module that
> writes to Kafka.
>
> What we'd like to do, is leverage consuming data from Rsyslog and posting
> to Kafka however it looks like the OMKafka module doesn't currently support
> transactions when posting to Kafka in the event of an error.  So, if we
> write to Kafka, and an error occurs, it looks like we lose the log-line for
> that particular Action item unless we write it to a fallback log file.
>
> Additionally, we've looked at writing our own Kafka Producer using the
> OMProg style where we consume off of STDIN and then connect to kafka and
> produce data.  Unfortunately this approach also doesn't allow us to
> communicate back to Rsyslog that a failure has happened in the event of an
> error.
>
> We tried to deal with this by writing to a fallback text file, and this
> works great when there are errors with Kafka, but if the process dies
> between receiving from STDIN and before writing to Kafka, we can still
> potentially lose messages.
>
> Additionally, I noticed that the OMHIREDIS client does support
> transactions, so it sounds like we want the design of OMHIREDIS (where it
> utilizes transactions) but with that support in OMKafka.
>
> I'm just looking for a recommendation on a way forward from the group.  If
> it makes more sense to enhance OMKafka to have transaction support or if we
> try to go down the path of adding some type of transaction support to the
> Omprog module which would allow us to continue using our custom Kafka
> producer of which is written in Go.
>
> Thanks for anyone's time around this!
>
> Ralph
> @deckarep
> _______________________________________________
> 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