Hi,

Is it possible to send Heka messages in protobuf over HTTP?

I’ve tried to do so using HTTPOutput and HTTPListenInput plugins each set with 
ProtobufEncoder/ProtobufDecoder but receiving heka only 
shows the following messages (which I assume mean that protobuf decoding has 
failed):
2015/12/14 10:00:36
:Timestamp: 1970-01-01 00:00:00 +0000 UTC
:Type:
:Hostname:
:Pid: 0
:Uuid:
:Logger:
:Payload:
:EnvVersion:
:Severity: 7

If I change HTTPOutput+HTTPListenInput into TcpOutput/TcpInput (with no other 
config changes) all starts working fine.
I need to use HTTP here but not plain TCP.
I could use custom JSON Encoder instead of ProtobufEncoder but first I’d like 
to avoid extra conversion steps if possible.
(PayloadEncoder would not work here as it doesn’t encode Hostname and the rest 
of standard Heka fields).


Here are my configs for reference:

# Sender
[hekad]
maxprocs = 2
poolsize = 100
plugin_chansize = 30

[DashboardOutput]
ticker_interval = 5
message_matcher = "Hostname == 'ip-10-10-9-99' && (Type == 'heka.all-report' || 
Type == 'heka.sandbox-output' || Type == 'heka.sandbox-terminated')"

[http_output]
type = "HttpOutput"
address = "http://54.229.73.31:8325";
encoder = "ProtobufEncoder"
message_matcher = "TRUE"

[hekad]
maxprocs = 2
poolsize = 100
plugin_chansize = 30
[DashboardOutput]
ticker_interval = 5
message_matcher = "TRUE"
[HttpListenInput]
address = "0.0.0.0:8325"
decoder = "ProtobufDecoder"
[debug_encoder]
type="RstEncoder"

[LogOutput]
encoder = "debug_encoder"
message_matcher = "Hostname != 'ip-10-10-9-156’"

Both Hekas are 0.10.0b2 running on Ubuntu 12.04 on AWS.


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

Reply via email to