diff --git a/pkg/tsdb/azuremonitor/metrics/url-builder.go b/pkg/tsdb/azuremonitor/metrics/url-builder.go index 2378a96220f..5129da529c3 100644 --- a/pkg/tsdb/azuremonitor/metrics/url-builder.go +++ b/pkg/tsdb/azuremonitor/metrics/url-builder.go @@ -33,6 +33,11 @@ func (params *urlBuilder) buildResourceURI() string { provider := metricNamespaceArray[0] metricNamespaceArray = metricNamespaceArray[1:] + if strings.HasPrefix(strings.ToLower(params.MetricNamespace), "microsoft.storage/storageaccounts/") && + !strings.HasSuffix(params.ResourceName, "default") { + resourceNameArray = append(resourceNameArray, "default") + } + urlArray := []string{ "/subscriptions", subscription, diff --git a/pkg/tsdb/azuremonitor/metrics/url-builder_test.go b/pkg/tsdb/azuremonitor/metrics/url-builder_test.go index 5a184db02df..3bc9349b21d 100644 --- a/pkg/tsdb/azuremonitor/metrics/url-builder_test.go +++ b/pkg/tsdb/azuremonitor/metrics/url-builder_test.go @@ -91,6 +91,18 @@ func TestURLBuilder(t *testing.T) { url := ub.BuildMetricsURL() assert.Equal(t, "/subscriptions/default-sub/resourceGroups/rg/providers/Microsoft.NetApp/netAppAccounts/rn1/capacityPools/rn2/volumes/rn3/providers/microsoft.insights/metrics", url) }) + + t.Run("when metric definition is Microsoft.Storage/storageAccounts/blobServices", func(t *testing.T) { + ub := &urlBuilder{ + DefaultSubscription: "default-sub", + ResourceGroup: "rg", + MetricNamespace: "Microsoft.Storage/storageAccounts/blobServices", + ResourceName: "rn1", + } + + url := ub.buildResourceURI() + assert.Equal(t, "/subscriptions/default-sub/resourceGroups/rg/providers/Microsoft.Storage/storageAccounts/rn1/blobServices/default", url) + }) }) }) }