Should I add a output plugin named "tcp" into libbeats?

I implemented an output plugin named "tcp" with beats 6.0.0alpha. It just looks like logstash "tcp" output plugin. Write events over a TCP socket. Each event json is separated by a newline.Connect to a server to push event. Users can config codec with "json" or "format string".

It's useful for me. Cause I don't want to transform messages by logstash, it's not fast enough for me.

I wonder if my work about this is useful for others ?

We are not too keen to add new outputs to beats right now.

But as the output is useful for you and maybe others, we generally recommend the approach taken by beats-output-http.

Alternatively you can try to turn your output into a go plugin (but plugins in go are somewhat tricky and we normally have plugins not enabled in our release builds). You can find some sample plugins here: https://github.com/urso/beats-sample-plugins

Currently we maintain a list of community beats https://www.elastic.co/guide/en/beats/libbeat/current/community-beats.html in our docs. The beats-output-http is not listed yet, but with more outputs being added, we might start to list them as well.

Thanks for your reply. beats-output-http looks good, I'll have a try. I also will maintain my repo in my github, after all TCP is different from HTTP. HTTP headers are useless in my scenario, TCP can save so much traffic.

This topic was automatically closed after 21 days. New replies are no longer allowed.