-
Notifications
You must be signed in to change notification settings - Fork 32
Description
Hi,
I am trying to get azure metrics exporter running in our kubernetes cluster with workload identity. I created a local repository from helm using
helm pull webdevops/azure-metrics-exporter --untar
and I have a federated identity created with the following permissions.
permissions = {
actions = [
"Microsoft.Insights/AlertRules/*"
]
not_actions = []
data_actions = [
"Microsoft.Insights/Metrics/*",
]
not_data_actions = []
}
Since I was doubtful about the permission scope, I've added the Monitoring reader role as well from our azure portal just to be sure.
I have the pod up and running and I have the following from my pod logs
001b[34mINFO\u001b[0m","C":"azure-metrics-exporter/main.go:57","M":"starting azure-metrics-exporter v24.2.0 (8ba3def; go1.22.0; by webdevops.io)"}
{"L":"\u001b[34mINFO\u001b[0m","C":"azure-metrics-exporter/main.go:58","M":"{\"Logger\":{\"Debug\":true,\"Development\":true,\"Json\":true},\"Azure\":{\"Environment\":\"AZUREPUBLICCLOUD\",\"AdResourceUrl\":null,\"ServiceDiscovery\":{\"CacheDuration\":0},\"ResourceTags\":[\"owner\"]},\"Metrics\":{\"Template\":\"{name}\",\"Help\":\"Azure monitor insight metric\"},\"Prober\":{\"ConcurrencySubscription\":5,\"ConcurrencySubscriptionResource\":10,\"Cache\":false},\"Server\":{\"Bind\":\":8080\",\"ReadTimeout\":5000000000,\"WriteTimeout\":10000000000}}"}
{"L":"\u001b[34mINFO\u001b[0m","C":"azure-metrics-exporter/main.go:62","M":"init Azure connection"}
{"L":"\u001b[34mINFO\u001b[0m","C":"armclient/client.go:137","M":"connecting to Azure Environment \"AzurePublicCloud\" (AzureAD:https://login.microsoftonline.com/ ResourceManager:https://management.azure.com)"}
{"L":"\u001b[34mINFO\u001b[0m","C":"armclient/client.go:152","M":"using Azure client: appid=d3f72ce8-1d49-4f62-9156-3caf9c0399e9, oid=413a0d31-5f0b-4799-9449-8d45cffc4d88","client":{"appid":"d3f72ce8-1d49-4f62-9156-3caf9c0399e9","aud":"https://management.azure.com","oid":"413a0d31-5f0b-4799-9449-8d45cffc4d88","tid":"3d7995a7-a475-466f-ab08-ed4bcfdca0f8"}}
{"L":"\u001b[34mINFO\u001b[0m","C":"armclient/client.go:162","M":"found 1 Azure Subscriptions"}
{"L":"\u001b[35mDEBUG\u001b[0m","C":"armclient/client.go:164","M":"found Azure Subscription \"<redacted>" (redacted)"}
{"L":"\u001b[34mINFO\u001b[0m","C":"azure-metrics-exporter/main.go:66","M":"starting http server on :8080"}
From the logs, it appears good and I could see its own metrics at the :8080/metrics endpoint.
When I am trying to use the /query endpoint, I get a status 200 but with empty metrics for any metrics I am trying to discover.
For eg: I am trying to get one metric connections_succeeded
from Microsoft.DBforPostgreSQL/flexibleServers
using my subscription ID from both /probe/metrics
and /probe/metrics/list
and both gives me zero metrics but with a status 200.
However, when I was checking the actual monitor from within the azure postgres database, I could see connections_succeeded isn't empty and has values.
I didn't see any errors in the pod logs either. Attaching a screenshot of what I see in /query endpoint.
Kindly advise.
Thanks.