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
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.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.