From 58536101c62afde3286c7216f8ba20685aa03fc4 Mon Sep 17 00:00:00 2001 From: kaiyan-sheng Date: Wed, 17 Jun 2020 09:46:42 -0600 Subject: [PATCH] [Metricbeat] Remove dedot for AWS tag value (#19221) * Remove dedot for AWS tag value --- 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 604ef1aec97..9a3e872b16d 100644 --- a/CHANGELOG.next.asciidoc +++ b/CHANGELOG.next.asciidoc @@ -251,6 +251,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d - 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] - Stop counterCache only when already started {pull}19103[19103] *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"}, }, }