-
Notifications
You must be signed in to change notification settings - Fork 5.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rewrite Riemann output plugin #1878
Comments
see also the collectd output plugin for a good example of the write protocol: https://collectd.org/wiki/index.php/Plugin:Write_Riemann |
@sparrc I started working on new version of the riemann plugin. See #1900 It's mostly a cleaned-up version of the old plugin, though it's behaviour should be more obvious and predictable now. |
thanks @JamesClonk for the PR Re: Mostly I'm concerned that it's not going to make sense for the majority of string metrics, which could be anything (but could also be a state). Maybe we could make it a config option? |
@sparrc Hmm OK, yes I guess it makes sense to only send string metrics if explicitly requested. I've added a Currently I'm sending string/state metrics into Telegraf via the http_listener, the data I'm sending looks similar to this:
The input is coming from a simple shellscript that queries the local Monit daemon. |
* rename to riemann_legacy Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * initial draft for Riemann output plugin rewrite Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * add unit tests Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * add option to send string metrics as states Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * add integration tests Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * add plugin README.md Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * bump riemann library * clarify settings description Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * update Readme.md with updated description Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * add Riemann event examples Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * use full URL for Riemann server address Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> closes influxdata#1878
* rename to riemann_legacy Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * initial draft for Riemann output plugin rewrite Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * add unit tests Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * add option to send string metrics as states Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * add integration tests Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * add plugin README.md Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * bump riemann library * clarify settings description Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * update Readme.md with updated description Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * add Riemann event examples Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * use full URL for Riemann server address Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> closes influxdata#1878
* rename to riemann_legacy Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * initial draft for Riemann output plugin rewrite Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * add unit tests Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * add option to send string metrics as states Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * add integration tests Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * add plugin README.md Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * bump riemann library * clarify settings description Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * update Readme.md with updated description Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * add Riemann event examples Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> * use full URL for Riemann server address Signed-off-by: Fabio Berchtold <fabio.berchtold@swisscom.com> closes #1878
The Riemann plugin is currently in a bad state, to name a few problems:
From a cursory reading of http://riemann.io/concepts.html, I believe that the Riemann output plugin should do the following:
measurement
andfield
are keywords that insert the measurement and field name.host
) should be set as attributes.There should also be unit tests which verify this metric structure. A unit test testing writing the metric to a riemann docker container is probably not necessary in this scenario, since the client library event structs are relatively simple.
PR #1845 fixed some of the problems, but I'd like to instead have a general rewrite that makes the Riemann plugin better and more usable. From what I can tell of it's current state, I don't imagine that it has very many users. We will have to announce this as a breaking change and can continue to support the old riemann plugin by renaming it to
riemann_legacy
The text was updated successfully, but these errors were encountered: