From 9cde423835160bd8984ff5206d5fd411b961f5c9 Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Thu, 14 Mar 2019 11:44:49 +0100 Subject: [PATCH 1/2] Don't collect empty ip addresses in docker container metricset Docker containers can have empty ip addresses if they are running in host network mode or if they are stopped. Collecting lists with empty addresses can make type mapping to fail when trying to store them as ip addresses. --- CHANGELOG.next.asciidoc | 4 ++-- metricbeat/module/docker/container/data.go | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 19432ddccb5..4c1e4b404f7 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -165,8 +165,8 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Improve detection of file deletion on Windows. {pull}10747[10747] - Fix errors in filebeat Zeek dashboard and README files. Add notice.log support. {pull}10916[10916] - Fix a bug when converting NetFlow fields to snake_case. {pull}10950[10950] -- Add on_failure handler for Zeek ingest pipelines. Fix one field name error for notice and add an additional test - case. {issue}11004[11004] {pull}11105[11105] +- Add on_failure handler for Zeek ingest pipelines. Fix one field name error for notice and add an additional test case. {issue}11004[11004] {pull}11105[11105] +- Fix issue preventing docker container events to be stored if the container has a network interface without ip address {issue}11225[11225] {pull}[] *Heartbeat* diff --git a/metricbeat/module/docker/container/data.go b/metricbeat/module/docker/container/data.go index c0bb07518fa..838291a751b 100644 --- a/metricbeat/module/docker/container/data.go +++ b/metricbeat/module/docker/container/data.go @@ -71,7 +71,9 @@ func eventMapping(r mb.ReporterV2, cont *types.Container, dedot bool) { func extractIPAddresses(networks *types.SummaryNetworkSettings) []string { ipAddresses := make([]string, 0, len(networks.Networks)) for _, network := range networks.Networks { - ipAddresses = append(ipAddresses, network.IPAddress) + if len(network.IPAddress) > 0 { + ipAddresses = append(ipAddresses, network.IPAddress) + } } return ipAddresses } From 4f5c1a2c4b27d375812a6cfb5e461bdccd41058b Mon Sep 17 00:00:00 2001 From: Jaime Soriano Pastor Date: Thu, 14 Mar 2019 17:33:54 +0100 Subject: [PATCH 2/2] Fix changelog --- CHANGELOG.next.asciidoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index 4c1e4b404f7..b27f86c6db1 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -166,7 +166,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - Fix errors in filebeat Zeek dashboard and README files. Add notice.log support. {pull}10916[10916] - Fix a bug when converting NetFlow fields to snake_case. {pull}10950[10950] - Add on_failure handler for Zeek ingest pipelines. Fix one field name error for notice and add an additional test case. {issue}11004[11004] {pull}11105[11105] -- Fix issue preventing docker container events to be stored if the container has a network interface without ip address {issue}11225[11225] {pull}[] +- Fix issue preventing docker container events to be stored if the container has a network interface without ip address. {issue}11225[11225] {pull}11247[11247] *Heartbeat*