diff --git a/internal/component/database_observability/relabeling.go b/internal/component/database_observability/relabeling.go index 29a7185c00a..c0e500a3ce3 100644 --- a/internal/component/database_observability/relabeling.go +++ b/internal/component/database_observability/relabeling.go @@ -30,13 +30,22 @@ func GetRelabelingRules(serverID string, cp *CloudProvider) []*relabel.Config { rs = append(rs, &providerName, &providerRegion, &providerAccount) } if cp.Azure != nil { - // We only support Azure provider_name for now. providerName := relabel.DefaultRelabelConfig providerName.Replacement = "azure" providerName.TargetLabel = "provider_name" providerName.Action = relabel.Replace - rs = append(rs, &providerName) + providerRegion := relabel.DefaultRelabelConfig + providerRegion.Replacement = cp.Azure.ResourceGroup + providerRegion.TargetLabel = "provider_region" + providerRegion.Action = relabel.Replace + + providerAccount := relabel.DefaultRelabelConfig + providerAccount.Replacement = cp.Azure.SubscriptionID + providerAccount.TargetLabel = "provider_account" + providerAccount.Action = relabel.Replace + + rs = append(rs, &providerName, &providerRegion, &providerAccount) } } diff --git a/internal/component/database_observability/relabeling_test.go b/internal/component/database_observability/relabeling_test.go index 87ed464dfe4..b36677b6e44 100644 --- a/internal/component/database_observability/relabeling_test.go +++ b/internal/component/database_observability/relabeling_test.go @@ -49,11 +49,13 @@ func Test_GetRelabelingRules(t *testing.T) { t.Run("return relabeling rules with Azure config", func(t *testing.T) { rr := GetRelabelingRules("some-server-id", &CloudProvider{ Azure: &AzureCloudProviderInfo{ - ServerName: "some-resource", + ServerName: "some-resource", + ResourceGroup: "some-resource-group", + SubscriptionID: "some-subscription-id", }, }) - require.Equal(t, 2, len(rr)) + require.Equal(t, 4, len(rr)) require.Equal(t, "some-server-id", rr[0].Replacement) require.Equal(t, "server_id", rr[0].TargetLabel) require.Equal(t, relabel.Replace, rr[0].Action) @@ -61,5 +63,13 @@ func Test_GetRelabelingRules(t *testing.T) { require.Equal(t, "azure", rr[1].Replacement) require.Equal(t, "provider_name", rr[1].TargetLabel) require.Equal(t, relabel.Replace, rr[1].Action) + + require.Equal(t, "some-resource-group", rr[2].Replacement) + require.Equal(t, "provider_region", rr[2].TargetLabel) + require.Equal(t, relabel.Replace, rr[2].Action) + + require.Equal(t, "some-subscription-id", rr[3].Replacement) + require.Equal(t, "provider_account", rr[3].TargetLabel) + require.Equal(t, relabel.Replace, rr[3].Action) }) }