I have built a connector which has an HTTP listener which unmarshalls incoming protobuf messages and creates entries in Elasticsearch for those protobuf messages using the Elasticsearch bulk API.
The connector will check if the index exists before it tries to create the entries. If the index does not exist, it will create the index with a default mapping for the startTime and endTime date fields.
The connector is written in Go.
Version 0.2 Update: Used a newer elasticsearch client library to support Elasticsearch 5.2.1.
The connector is written in Go, so you'll need a Go compiler to build it (I wanted to attach the compiled binaries to the post, but they were too large).
Once you build the connector, it should produce a single statically-linked binary named "appmontoelastic". If you're running the connector on the same host as Elasticsearch, all you need to do is to run the binary without any options. If you're running the connector on a different host, then you'll need to run the binary with some options to point it to Elasticsearch. Use the -h option to get a list of command line options.
The connector starts a listener on port 9090 by default. You'll need to configure the app mon server to stream to the URL http://CONNECTOR_HOST:9090.
dear @Kin K. ,
Please, try to send me compiled binaries - email@example.com .
I cannot compile this project on two machines with different OS. No result.
Problem with import...
I am not Go programmer and there are no ready GO lang enviroment virtual machines.
Why developers cant add a simple thing ...