From c14e412eb4990b64974b14bd6a53d39ab9e44d67 Mon Sep 17 00:00:00 2001 From: kaiyan-sheng Date: Thu, 18 Jun 2020 06:45:32 -0600 Subject: [PATCH] Cherry-pick #19221 to 7.x: [Metricbeat] Remove dedot for AWS tag value (#19250) * [Metricbeat] Remove dedot for AWS tag value (#19221) * Remove dedot for AWS tag value (cherry picked from commit e491c8d402232a020692c313d9a0dcec3c30e007) --- CHANGELOG.next.asciidoc | 1 + x-pack/metricbeat/module/aws/cloudwatch/cloudwatch.go | 5 +++-- x-pack/metricbeat/module/aws/ec2/ec2.go | 5 +++-- x-pack/metricbeat/module/aws/rds/rds.go | 5 +++-- x-pack/metricbeat/module/aws/rds/rds_test.go | 6 +++--- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.next.asciidoc b/CHANGELOG.next.asciidoc index c5e49b575c6..a6124171563 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -287,6 +287,7 @@ field. You can revert this change by configuring tags for the module and omittin - Fix compute and pubsub dashboard for googlecloud module. {issue}18962[18962] {pull}18980[18980] - Fix crash on vsphere module when Host information is not available. {issue}18996[18996] {pull}19078[19078] - Fix incorrect usage of hints builder when exposed port is a substring of the hint {pull}19052[19052] +- Remove dedot for tag values in aws module. {issue}19112[19112] {pull}19221[19221] *Packetbeat* diff --git a/x-pack/metricbeat/module/aws/cloudwatch/cloudwatch.go b/x-pack/metricbeat/module/aws/cloudwatch/cloudwatch.go index 2ec9fe5461e..2cc447723be 100644 --- a/x-pack/metricbeat/module/aws/cloudwatch/cloudwatch.go +++ b/x-pack/metricbeat/module/aws/cloudwatch/cloudwatch.go @@ -616,9 +616,10 @@ func insertTags(events map[string]mb.Event, identifier string, resourceTagMap ma for _, v := range subIdentifiers { tags := resourceTagMap[v] if len(tags) != 0 { - // By default, replace dot "." using underscore "_" for tag keys and values + // By default, replace dot "." using underscore "_" for tag keys. + // Note: tag values are not dedotted. for _, tag := range tags { - events[identifier].RootFields.Put("aws.tags."+common.DeDot(*tag.Key), common.DeDot(*tag.Value)) + events[identifier].RootFields.Put("aws.tags."+common.DeDot(*tag.Key), *tag.Value) } continue } diff --git a/x-pack/metricbeat/module/aws/ec2/ec2.go b/x-pack/metricbeat/module/aws/ec2/ec2.go index 9e9c9467829..6e597c61c25 100644 --- a/x-pack/metricbeat/module/aws/ec2/ec2.go +++ b/x-pack/metricbeat/module/aws/ec2/ec2.go @@ -197,9 +197,10 @@ func (m *MetricSet) createCloudWatchEvents(getMetricDataResults []cloudwatch.Met } } - // By default, replace dot "." using under bar "_" for tag keys and values + // By default, replace dot "." using underscore "_" for tag keys. + // Note: tag values are not dedotted. for _, tag := range tags { - events[instanceID].ModuleFields.Put("tags."+common.DeDot(*tag.Key), common.DeDot(*tag.Value)) + events[instanceID].ModuleFields.Put("tags."+common.DeDot(*tag.Key), *tag.Value) } machineType, err := instanceOutput[instanceID].InstanceType.MarshalValue() diff --git a/x-pack/metricbeat/module/aws/rds/rds.go b/x-pack/metricbeat/module/aws/rds/rds.go index 6c1ca1c8b19..f8bd907b3f6 100644 --- a/x-pack/metricbeat/module/aws/rds/rds.go +++ b/x-pack/metricbeat/module/aws/rds/rds.go @@ -207,11 +207,12 @@ func (m *MetricSet) getDBInstancesPerRegion(svc rdsiface.ClientAPI) ([]string, m } for _, tag := range outputListTags.TagList { - // By default, replace dot "." using under bar "_" for tag keys and values + // By default, replace dot "." using underscore "_" for tag keys. + // Note: tag values are not dedotted. dbDetails.tags = append(dbDetails.tags, aws.Tag{ Key: common.DeDot(*tag.Key), - Value: common.DeDot(*tag.Value), + Value: *tag.Value, }) } dbDetailsMap[*dbInstance.DBInstanceIdentifier] = dbDetails diff --git a/x-pack/metricbeat/module/aws/rds/rds_test.go b/x-pack/metricbeat/module/aws/rds/rds_test.go index 016ffda4434..5537ecd430b 100644 --- a/x-pack/metricbeat/module/aws/rds/rds_test.go +++ b/x-pack/metricbeat/module/aws/rds/rds_test.go @@ -146,7 +146,7 @@ func TestGetDBInstancesPerRegion(t *testing.T) { dbIdentifier: dbInstanceIdentifier, dbStatus: dbInstanceStatus, tags: []aws.Tag{ - {Key: "dept_name", Value: "eng_software"}, + {Key: "dept_name", Value: "eng.software"}, {Key: "created-by", Value: "foo"}, }, } @@ -177,7 +177,7 @@ func TestGetDBInstancesPerRegionWithTagsFilter(t *testing.T) { dbIdentifier: dbInstanceIdentifier, dbStatus: dbInstanceStatus, tags: []aws.Tag{ - {Key: "dept_name", Value: "eng_software"}, + {Key: "dept_name", Value: "eng.software"}, {Key: "created-by", Value: "foo"}, }, } @@ -208,7 +208,7 @@ func TestGetDBInstancesPerRegionWithDotInTag(t *testing.T) { dbIdentifier: dbInstanceIdentifier, dbStatus: dbInstanceStatus, tags: []aws.Tag{ - {Key: "dept_name", Value: "eng_software"}, + {Key: "dept_name", Value: "eng.software"}, {Key: "created-by", Value: "foo"}, }, }