From 5a0e9a13ce8a3d49de5a528e09d20b345cb4d744 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Romain=20Tarti=C3=A8re?= Date: Fri, 17 May 2019 08:43:25 -1000 Subject: [PATCH] Copy MetaData to Riemann events Make it possible to capture information using filters in collectd and use this information in Riemann for deciding what to do with the event. ChangeLog: write_riemann plugin: MetaData is copied to Riemann events --- src/write_riemann.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/write_riemann.c b/src/write_riemann.c index 62ddc67c..80569933 100644 --- a/src/write_riemann.c +++ b/src/write_riemann.c @@ -392,6 +392,23 @@ wrr_value_to_event(struct riemann_host const *host, /* {{{ */ RIEMANN_EVENT_FIELD_NONE); } + if (vl->meta) { + char **toc; + int n = meta_data_toc(vl->meta, &toc); + + for (int i = 0; i < n; i++) { + char *key = toc[i]; + char *value; + + if (0 == meta_data_as_string(vl->meta, key, &value)) { + riemann_event_string_attribute_add(event, key, value); + free(value); + } + } + + free(toc); + } + DEBUG("write_riemann plugin: Successfully created message for metric: " "host = \"%s\", service = \"%s\"", event->host, event->service); -- 2.11.0