From 4f965431c5c3209ca9fbada4d370af2051943824 Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Mon, 9 Sep 2019 18:55:11 +0200 Subject: [PATCH] Fix conversion of events with module fields (#13544) Use `TransformMapStrToEvent` also to convert events in the kubernetes `state_node` metricset, as was done in #13433 with other metricsets. Fix #13432 (cherry picked from commit b2ead088d2bacf26742c150719b7c33d255562f2) --- CHANGELOG.next.asciidoc | 2 +- .../_meta/test/kube-state-metrics.expected | 44 ++++++++++--------- .../test/kube-state-metrics.v1.3.0.expected | 6 ++- .../kubernetes/state_node/state_node.go | 10 +++-- 4 files changed, 35 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 2023e2e3a70..356e19648bd 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -46,7 +46,7 @@ https://github.com/elastic/beats/compare/v7.2.0...7.2[Check the HEAD diff] *Metricbeat* - Print errors that were being omitted in vSphere metricsets {pull}12816[12816] -- Fix module-level fields in Kubernetes metricsets. {pull}13433[13433] +- Fix module-level fields in Kubernetes metricsets. {pull}13433[13433] {pull}13544[13544] - Fix panic in Redis Key metricset when collecting information from a removed key. {pull}13426[13426] *Packetbeat* diff --git a/metricbeat/module/kubernetes/state_node/_meta/test/kube-state-metrics.expected b/metricbeat/module/kubernetes/state_node/_meta/test/kube-state-metrics.expected index f6a676ba4b0..ce3143e1073 100644 --- a/metricbeat/module/kubernetes/state_node/_meta/test/kube-state-metrics.expected +++ b/metricbeat/module/kubernetes/state_node/_meta/test/kube-state-metrics.expected @@ -1,36 +1,36 @@ [ { - "RootFields": null, + "RootFields": {}, "ModuleFields": null, "MetricSetFields": { "cpu": { "allocatable": { - "cores": 3 + "cores": 2 }, "capacity": { - "cores": 4 + "cores": 2 } }, "memory": { "allocatable": { - "bytes": 3097786880 + "bytes": 2097786880 }, "capacity": { - "bytes": 4097786880 + "bytes": 2097786880 } }, - "name": "minikube-test", + "name": "minikube", "pod": { "allocatable": { - "total": 210 + "total": 110 }, "capacity": { - "total": 310 + "total": 110 } }, "status": { "ready": "true", - "unschedulable": true + "unschedulable": false } }, "Index": "", @@ -40,40 +40,42 @@ "Error": null, "Host": "", "Service": "", - "Took": 0 + "Took": 0, + "Period": 0, + "DisableTimeSeries": false }, { - "RootFields": null, + "RootFields": {}, "ModuleFields": null, "MetricSetFields": { "cpu": { "allocatable": { - "cores": 2 + "cores": 3 }, "capacity": { - "cores": 2 + "cores": 4 } }, "memory": { "allocatable": { - "bytes": 2097786880 + "bytes": 3097786880 }, "capacity": { - "bytes": 2097786880 + "bytes": 4097786880 } }, - "name": "minikube", + "name": "minikube-test", "pod": { "allocatable": { - "total": 110 + "total": 210 }, "capacity": { - "total": 110 + "total": 310 } }, "status": { "ready": "true", - "unschedulable": false + "unschedulable": true } }, "Index": "", @@ -83,6 +85,8 @@ "Error": null, "Host": "", "Service": "", - "Took": 0 + "Took": 0, + "Period": 0, + "DisableTimeSeries": false } ] \ No newline at end of file diff --git a/metricbeat/module/kubernetes/state_node/_meta/test/kube-state-metrics.v1.3.0.expected b/metricbeat/module/kubernetes/state_node/_meta/test/kube-state-metrics.v1.3.0.expected index 4a1601a1f7e..c560b169d77 100644 --- a/metricbeat/module/kubernetes/state_node/_meta/test/kube-state-metrics.v1.3.0.expected +++ b/metricbeat/module/kubernetes/state_node/_meta/test/kube-state-metrics.v1.3.0.expected @@ -1,6 +1,6 @@ [ { - "RootFields": null, + "RootFields": {}, "ModuleFields": null, "MetricSetFields": { "cpu": { @@ -40,6 +40,8 @@ "Error": null, "Host": "", "Service": "", - "Took": 0 + "Took": 0, + "Period": 0, + "DisableTimeSeries": false } ] \ No newline at end of file diff --git a/metricbeat/module/kubernetes/state_node/state_node.go b/metricbeat/module/kubernetes/state_node/state_node.go index 8032327af1a..8185ef1b365 100644 --- a/metricbeat/module/kubernetes/state_node/state_node.go +++ b/metricbeat/module/kubernetes/state_node/state_node.go @@ -108,10 +108,12 @@ func (m *MetricSet) Fetch(reporter mb.ReporterV2) { m.enricher.Enrich(events) for _, event := range events { - reporter.Event(mb.Event{ - MetricSetFields: event, - Namespace: "kubernetes.node", - }) + event[mb.NamespaceKey] = "node" + reported := reporter.Event(mb.TransformMapStrToEvent("kubernetes", event, nil)) + if !reported { + m.Logger().Debug("error trying to emit event") + return + } } }