On Wed 04 Jun 2014 03:13:41 AM PDT, Victor Castell wrote:
Good to know, thank you.

I'm using the "payload" format for ES output plugin, how this change
will affect me?

Good question. Every record that is sent to ElasticSearch needs to contain some BulkAPI JSON that precedes the document JSON. This tells ElasticSearch how the document is to be indexed, and typically looks something like this:

{"index": {"_index": "YOUR_INDEX", "_type": "DOCUMENT_TYPE"}}

It is the encoder's job to provide this. So to replicate the v0.5.2 payload format, you'd create a very simple SandboxEncoder that generates this JSON and spits it out w/ the message payload immediately following. We've got a ticket open (https://github.com/mozilla-services/heka/issues/875) that I plan on working on today that will help w/ this. Once that's done, I'll send another message out w/ an example 0.6 config replacing the use of payload format.

-r


On Wed, Jun 4, 2014 at 2:18 AM, Rob Miller <[email protected]
<mailto:[email protected]>> wrote:

    Hi,

    Just want to let everyone know that I've been working on
    converting the ElasticSearchOutput from using its custom 'format'
    configuration setting to instead using the new encoder plugin
    infrastructure that will be in the upcoming 0.6 release.

    In v0.5.2, the two most (only?) used formats were "clean"
    (generating a nicely formatted JSON representation of each
    message) and "logstash_v0" (generating a JSON representation
    matching the original "v0" schema used by Logstash). In 0.6, there
    will be an ESJsonEncoder and an ESLogstashV0Encoder which generate
    the same output, delta a few bug fixes.

    In the process, the config options for the ElasticSearchOutput
    itself were cleaned up a bit.

    To give you an idea about the changes to expect, a v0.5.2 config
    section like this:

    [ElasticSearchOutput]
    message_matcher = "Type == 'nginx.access'"
    index = "%{Type}-%{2006.01.02}"
    type_name = "%{Type}"
    server = "http://es-server:9200";
    format = "clean"
    esindexfromtimestamp = true
    flush_interval = 5000
    flush_count = 10

    Would in v0.6 look like this:

    [ESJsonEncoder]
    index = "%{Type}-%{2006.01.02}"
    es_index_from_timestamp = true
    type_name = "%{Type}"

    [ElasticSearchOutput]
    message_matcher = "Type == 'nginx.access'"
    encoder = "ESJsonEncoder"
    server = "http://es-server:9200";
    flush_interval = 5000
    flush_count = 10

    This change will be merged to dev momentarily. As always, feel
    free to ask questions on this mailing list or in one of our #heka
    IRC channels (on irc.freenode.net <http://irc.freenode.net> or
    irc.mozilla.org <http://irc.mozilla.org>) if you have any issues.

    Thanks for Heka-ing!

    -r
    _________________________________________________
    Heka mailing list
    [email protected] <mailto:[email protected]>
    https://mail.mozilla.org/__listinfo/heka
    <https://mail.mozilla.org/listinfo/heka>




--
V
_______________________________________________
Heka mailing list
[email protected]
https://mail.mozilla.org/listinfo/heka

Reply via email to