From: Romain Tartière Date: Fri, 17 May 2019 18:43:25 +0000 (-1000) Subject: Copy MetaData to Riemann events X-Git-Url: https://git.octo.it/?p=collectd.git;a=commitdiff_plain;h=5a0e9a13ce8a3d49de5a528e09d20b345cb4d744;ds=sidebyside 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 --- 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);