Hi Mike,
Thank you for the input! I’ve also used the ‘Logger’ field in the encoder to 
get the logger name – which is the differentiator fields concatted together.

Regards,
Satish

From: Mike Gibson [mailto:[email protected]]
Sent: Friday, August 05, 2016 5:33 PM
To: Satish Anupindi Rao
Cc: [email protected]
Subject: Re: [heka] Heka input differentiator fields to decoder


Hi Satish,

You may be able to achieve what you are asking by using the ScribbleDecoder.
http://hekad.readthedocs.io/en/latest/config/decoders/scribble.html

In combination with your SomethingLogDecoder both within a MultiDecoder.

i.e.

[SomethingLogInput]
    type = "LogstreamerInput"
    log_directory = "/var/log/xxx"
    file_match = '(?P<something>\s+)/program\.log\.?(?P<Seq>\d*)'
    differentiator = ["something", "program","Seq"]
    decoder = "SomethingLogDecoder"


[SomethingLogMultiDecoder]

type = "MultiDecoder"

subs = ["SomethingLogDecoder", "SomethingLogScribbler"]

cascade_strategy = "all"

log_sub_errors = true


[SomethingLogDecoder]
        type = "PayloadRegexDecoder"
        match_regex = '(?P<comp>[^(]+\w+)\@(?P<host>\D+[^)]).*node[(]+.*\.'

[SomethingLogDecoder.message_fields]
        Type = "erlang"
        comp = '%comp%'
        host = '%host%'
        seq = '%Seq%'
        logger = '%Component%'


[SomethingLogScribbler]

type = "ScribbleDecoder"



    [SomethingLogScribbler.message_fields]

    Something = "something"

On Thu, Aug 4, 2016 at 7:08 PM, Satish Anupindi Rao 
<[email protected]<mailto:[email protected]>> 
wrote:

Hi,

Please allow me to rephrase my question. It may not have been clear the first 
time.
I have many folders as below with files as shown.

/var/log/xxx/jack/program.log.1

/var/log/xxx/jack/program.log.2

/var/log/xxx/john/program.log.1

/var/log/xxx/john/program.log.3

/var/log/xxx/sam/program.log.1

...
The LogStreamerInput is shown below and I have tested it – it works just fine.

[SomethingLogInput]
    type = "LogstreamerInput"
    log_directory = "/var/log/xxx"
    file_match = '(?P<something>\s+)/program\.log\.?(?P<Seq>\d*)'
    differentiator = ["something", "program","Seq"]
    decoder = "SomethingLogDecoder"

The SomethingLogDecoder is below and I have verified that it works for the 
fields which are in the match_regex i.e comp and host

[SomethingLogDecoder]
        type = "PayloadRegexDecoder"
        match_regex = '(?P<comp>[^(]+\w+)\@(?P<host>\D+[^)]).*node[(]+.*\.'

[SomethingLogDecoder.message_fields]
        Type = "erlang"
        comp = '%comp%'
        host = '%host%'
        seq = '%Seq%'
        logger = '%Component%'

I would like the ElasticSearchJSONEncoder to have access to the “something” 
field which was used as a differentiator in the Input phase. I need it since it 
gives me information if it was the “jack” or “john” or “sam” folder the 
messages came from. But I have not been able to figure out a way to do this 
i.e. have the encoder include fields from the input phase. Would anyone be able 
to help me out here?

Thanks!
From: Heka [mailto:[email protected]<mailto:[email protected]>] 
On Behalf Of Satish Anupindi Rao
Sent: Thursday, August 04, 2016 1:28 PM
To: [email protected]<mailto:[email protected]>
Subject: [heka] Heka input differentiator fields to decoder

Hi!

I have many folders with files as follows :

/var/log/xxx/jack/program.log.1

/var/log/xxx/jack/program.log.2

/var/log/xxx/john/program.log.1

/var/log/xxx/john/program.log.3

/var/log/xxx/sam/program.log.1

...

I would like to pass the "something" field to the decoder , so that the message 
fields of the decoder also have access to the "something" fields. Is there a 
way for me to do this ?
I post these fields via a REST api (using an elasticsearchoutput) and store 
them in a mongo DB. I would like the "something" field also stored.

[SomethingLogInput]
    type = "LogstreamerInput"
    log_directory = "/var/log/xxx"
    file_match = '(?P<something>\s+)/program\.log\.?(?P<Seq>\d*)'
    differentiator = ["something", "erlang","Seq"]
    decoder = "SomethingLogDecoder"

Thanks!

_______________________________________________
Heka mailing list
[email protected]<mailto:[email protected]>
https://mail.mozilla.org/listinfo/heka

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

Reply via email to