diff --git a/internal/ecsservicediscovery/decoratedtask.go b/internal/ecsservicediscovery/decoratedtask.go index 3bf3696d0dc..b8c6f4d258c 100644 --- a/internal/ecsservicediscovery/decoratedtask.go +++ b/internal/ecsservicediscovery/decoratedtask.go @@ -26,6 +26,7 @@ const ( taskMetricsPathLabel = "__metrics_path__" taskClusterNameLabel = "TaskClusterName" taskIdLabel = "TaskId" + ec2InstanceIDLabel = "EC2InstanceId" ec2InstanceTypeLabel = "InstanceType" ec2VpcIdLabel = "VpcId" ec2SubnetIdLabel = "SubnetId" @@ -161,6 +162,7 @@ func (t *DecoratedTask) generatePrometheusTarget( } if t.EC2Info != nil { + addExporterLabels(labels, ec2InstanceIDLabel, &t.EC2Info.ECInstanceId) addExporterLabels(labels, ec2InstanceTypeLabel, &t.EC2Info.InstanceType) addExporterLabels(labels, ec2VpcIdLabel, &t.EC2Info.VpcId) addExporterLabels(labels, ec2SubnetIdLabel, &t.EC2Info.SubnetId) diff --git a/internal/ecsservicediscovery/decoratedtask_test.go b/internal/ecsservicediscovery/decoratedtask_test.go index 2ebb4ad67ee..d526f826485 100644 --- a/internal/ecsservicediscovery/decoratedtask_test.go +++ b/internal/ecsservicediscovery/decoratedtask_test.go @@ -453,9 +453,10 @@ func testExportMixedSDTarget_EC2_Bridge_DynamicPort(t *testing.T, networkMode *s target, ok := targets["10.4.0.205:32774/metrics"] assert.True(t, ok, "Missing target: 10.4.0.205:32774/metrics") - assert.Equal(t, 10, len(target.Labels)) + assert.Equal(t, 11, len(target.Labels)) assert.Equal(t, "/metrics", target.Labels["EC2_PROMETHEUS_METRICS_PATH"]) assert.Equal(t, "9406", target.Labels["EC2_PROMETHEUS_EXPORTER_PORT"]) + assert.Equal(t, "i-02aa8e82e91b2c30e", target.Labels["EC2InstanceId"]) assert.Equal(t, "t3.medium", target.Labels["InstanceType"]) assert.Equal(t, "subnet-0d0b0212d14b70250", target.Labels["SubnetId"]) assert.Equal(t, "5", target.Labels["TaskRevision"]) @@ -467,9 +468,10 @@ func testExportMixedSDTarget_EC2_Bridge_DynamicPort(t *testing.T, networkMode *s target, ok = targets["10.4.0.205:9494/metrics"] assert.True(t, ok, "Missing target: 10.4.0.205:9494/metrics") - assert.Equal(t, 10, len(target.Labels)) + assert.Equal(t, 11, len(target.Labels)) assert.Equal(t, "9404", target.Labels["EC2_PROMETHEUS_EXPORTER_PORT"]) assert.Equal(t, "bugbash-tomcat-ec2-bridge-mapped-port", target.Labels["EC2_PROMETHEUS_JOB_NAME"]) + assert.Equal(t, "i-02aa8e82e91b2c30e", target.Labels["EC2InstanceId"]) assert.Equal(t, "t3.medium", target.Labels["InstanceType"]) assert.Equal(t, "subnet-0d0b0212d14b70250", target.Labels["SubnetId"]) assert.Equal(t, "5", target.Labels["TaskRevision"]) @@ -526,9 +528,10 @@ func testExportContainerNameSDTarget_EC2_Bridge_DynamicPort(t *testing.T, networ target, ok := targets["10.4.0.205:9494/metrics"] log.Print(target) assert.True(t, ok, "Missing target: 10.4.0.205:9494/metrics") - assert.Equal(t, 10, len(target.Labels)) + assert.Equal(t, 11, len(target.Labels)) assert.Equal(t, "9404", target.Labels["EC2_PROMETHEUS_EXPORTER_PORT"]) assert.Equal(t, "bugbash-tomcat-ec2-bridge-mapped-port", target.Labels["EC2_PROMETHEUS_JOB_NAME"]) + assert.Equal(t, "i-02aa8e82e91b2c30e", target.Labels["EC2InstanceId"]) assert.Equal(t, "t3.medium", target.Labels["InstanceType"]) assert.Equal(t, "subnet-0d0b0212d14b70250", target.Labels["SubnetId"]) assert.Equal(t, "5", target.Labels["TaskRevision"])