> 1) Support bulk inserts
> (<http://www.elasticsearch.org/guide/reference/api/bulk.html>).
> 2) Parse the reply, for two things:
>   a) Messages that didn't get successfully inserted should probably be
> queued and reattempted once or twice before being discarded.
> Unfortunately, the new transactional interface won't be sufficient here
> - if messages 1, 2, 4, and 5 are successfully inserted, but message 3
> fails, as far as I know, there's no way in the transactional interface
> to communicate that only message 3 failed, instead of message 3-5.
>   b) Messages that matched a percolator should be processed
> differently. A percolator
> (<http://www.elasticsearch.org/guide/reference/api/percolate.html>) is
> a saved query on the ES cluster. Whenever a message is inserted that
> matches a percolator, it is indicated in the response {"matches":
> "system_failed"}. This provides near-realtime search functionality.
> Anything that matches a percolator should somehow be reentered into the
> queue, so it can be passed to another output plugin (out to a file,
> ommail, etc.)

I need to dig into more details with this feature. It looks like we could use
a kind of status indicator, just like recently added for the normalizer, for
this functionality (As far as the rsyslog engine is concerned).

> 3) The ES server and port should be configured via config directives.

That's already available with the new version. Doc is missing, simply because
things are not yet finalized

Action(type="omelasticsearch" server="" port="" ...)

> 4) Somehow, the index and type for each message should be passed to the
> elasticsearch plugin. This is a bit tricky, because if it's part of the
> message itself, it takes some time to parse that data out of the
> message.
It's currently a per-instance fixed (but configurable) string. I've already
begun to discuss a functionality similar to dynafiles to permit
message-contained values.


> 5) ES has an automatic discovery feature, where it will detect other
> cluster members
> (<http://www.elasticsearch.org/guide/reference/modules/discovery/zen.ht
> ml>). Ideally, rsyslog would also use this, so that if a cluster member
> goes down, it can find a new cluster member, and the system benefits
> from the high-availability of elasticsearch.
> 
> We have a developer that's currently working on many of these features,
> so I'm happy to offer some assistance with building this out.
It would probably be quite good for all parties involved if we could join
forces. I obviously can provide strong rsyslog knowledge and would love to
work with someone who is far more fluent as I am in ES ;)

Just reply (on- or off-list as you like) to sort out any questions.

Rainer
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/

Reply via email to