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 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);