If is possible, probably better approach would be to send events to riemann
and let riemann forward them to influxdb and ES for storage. This way you'll
be able create triggers easily. Eg.
data -> riemann -> [influxdb | ES]
If that is not possible, try with this:
* Chronograf has 'exec' handler and you can use 'riemann-client'
program to send events to riemann. It should be part of
riemann-c-client package in your distro.
* If 'exec' is not good, there is 'tcp' handler and you'll need to
open socket connection on riemann side.
* As James mentioned, you can use Logstash in front of ES to split
events and pass them to ES and riemann simultaneously.
Another approach (if is suitable for your case) is to poll events from
riemann in ES and influxdb and implement triggers there. That will
require some clojure coding and can look like:
1. Run two separate threads, one for ES and one for influxdb
connections.
2. Poll for last entries or poll using some criteria every X seconds.
3. Results inject in riemann stream.
4. From there, use riemann alerting facility.
To connect to rabbitmq, you can use ampq with langohr [1] or send http
post events via clj-http (comes bundled with riemann). Also check
opentsdb.clj [2] on how to create forwarder.
[1]
http://clojurerabbitmq.info/articles/getting_started.html
[2]
https://github.com/riemann/riemann/blob/master/src/riemann/opentsdb.clj
Best,
Sanel