I needed to send messages to Logstash using Beat from a little app I'm developing in Go.
I've seen different ways to do it without doing calling services as filebeat to not create a dependency.
I was taking a look to the next blog and it seems to be amazing: Build your own beat
The thing is that is using an old version from 2016: 5.1 and also used an old Go version.
I've seen something similar done in Python: pylogbeat · PyPI
Does anyone know if there's something similar made in Go? Maybe I can take advantage of the module and not depend of services in the machine as I mentioned.
Building your our beats is not supported anymore. Currently it is prefered to build your own integrations to monitor external services, or use APM to instrument your own applications.
What kind of messages are you trying to send? Is this operational data like logs or metrics?
With any of these options you wouldn't need to run any other service on your machine. With APM your application would be sending the data to an APM server that could be running in a different server, and with the Elasticsearch client your application would be sending data directly to Elasticsearch.
If you are working on solving this issue, it'd be great if you could contribute it in filebeat, as a new input, or as an option in the filestream one.
The advantage of doing it as filebeat input is that you could reuse other functionality, as the queues or the outputs.
In the issue linked above you can find some of the challenges to support this feature.
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.