Troubleshooting
Test Connection fails
- Verify Client Secret is current (secrets expire).
- Confirm Subscription ID matches the tenant.
- Ensure the Service Principal has Cost Management Reader at the subscription scope.
Export not appearing
- In Azure Portal, check Cost Management → Exports and ensure the export is Active.
- Validate the Storage Account and Container Name match Verdaro.
- Ensure the Service Principal has Storage Blob Data Reader on the storage account.
Resource inventory not syncing
If resource inventory shows zero or stale resources:
- Verify Reader role: The Service Principal needs Reader access at the subscription level.
- Check role propagation: Role assignments can take 5-10 minutes to propagate.
- Verify subscription is active: Only subscriptions with status = 'active' are synced.
# Verify Reader role assignment
az role assignment list \
--assignee "{CLIENT_ID}" \
--role "Reader" \
--all -o tableMetrics not collecting
If rightsizing/idle detection shows no data (or metrics fields are null):
- Verify Monitoring Reader role: Required for Azure Monitor Metrics API access (
Microsoft.Insights/metrics/read). - Check the resource type's supported metrics: Azure metrics are not universal and metric names differ by service.
- Wait for collection cycle: Metrics are collected daily at 03:30 UTC.
Microsoft’s canonical supported-metrics catalog:
- https://learn.microsoft.com/en-us/azure/azure-monitor/reference/metrics-index (opens in a new tab)
- https://learn.microsoft.com/en-us/azure/azure-monitor/reference/supported-metrics/ (opens in a new tab)
Notes:
- Verdaro uses platform metrics (not guest OS metrics). Guest OS metrics typically require Azure Monitor Agent / VM Insights.
- If Azure returns a "not supported" response for a resource type, Verdaro marks it as unsupported and skips it on future cycles.
# Verify Monitoring Reader role assignment
az role assignment list \
--assignee "{CLIENT_ID}" \
--role "Monitoring Reader" \
--all -o tablePermission errors
Run this to verify all role assignments:
az role assignment list \
--assignee "{CLIENT_ID}" \
--all -o tableExpected roles:
| Role | Purpose |
|---|---|
| Cost Management Reader | Cost data ingestion |
| Reader | Resource inventory sync |
| Monitoring Reader | Metrics collection |
| Storage Blob Data Reader | Export file download |
API rate limits
Azure APIs have rate limits. If you see 429 errors:
- Resource Graph: 15 requests per 5 seconds per subscription
- Azure Monitor: 12,000 requests per hour per subscription
Verdaro batches requests to stay within limits, but large subscriptions may take multiple cycles.
Support
If you're still blocked, contact support@verdaro.com with the error message and connector ID.