Analyze Azure Files metrics with Azure Monitor
Here’s a concise summary of the article "Use Azure Monitor to Analyze Azure Files metrics":
Purpose
Explains how to use Azure Monitor to analyze Azure Files metrics (availability, latency, utilization) to monitor file share performance and troubleshoot issues.
Applies to
Lists supported management/billing/media/redundancy/SMS/NFS combinations for Azure Files (various Provisioned/Pay-as-you-go tiers and redundancies). SMB is generally supported; NFS support varies by SKU.
Supported metrics
Azure Files metrics are exposed in the Microsoft.Storage/storageAccounts and Microsoft.Storage/storageAccounts/fileServices namespaces.
See the Azure Files monitoring data reference and Azure Monitor supported metrics for full lists and dimensions.
How to view metrics
You can view metrics via the Azure portal, PowerShell, Azure CLI, or .NET:
Azure portal: Metrics blade (Azure Monitor Metrics Explorer).
PowerShell: Get-AzMetricDefinition, Get-AzMetric (examples provided).
Azure CLI: az monitor metrics list-definitions, az monitor metrics list (examples provided).
.NET: Azure Monitor .NET SDK (sample code provided; require 0.18.0-preview or later for storage metrics).
Metrics that support dimensions can be filtered by dimension values.
Examples (commands / code)
PowerShell: Get-AzMetricDefinition -ResourceId ; Get-AzMetric -ResourceId -MetricNames "UsedCapacity" -TimeGrain 01:00:00
PowerShell with dimensions: New-AzMetricFilter and Get-AzMetric with -MetricFilter
Azure CLI: az monitor metrics list-definitions --resource ; az monitor metrics list --resource --metric "UsedCapacity" --interval PT1H
Azure CLI with dimensions: az monitor metrics list ... --metric "Transactions" --filter "ApiName eq 'GetFile'" --aggregation "Total"
.NET examples show listing metric definitions and reading metric values (account-level and multidimensional) using MonitorManagementClient/MonitorClient.
Monitoring guidance and best practices
Availability:
Use the Availability metric aggregated as Average to see the percentage of requests experiencing errors; compare to SLA if needed.
Latency:
Key metrics: Success E2E Latency and Success Server Latency. Use Average aggregation.
Compare E2E vs Server latency to identify client-side network latency (e.g., remote vs same-region clients).
Spikes in Success Server Latency can indicate throttling or exceeding provisioned/payer limits; consult scale targets and billing docs.
Utilization:
Use transaction metrics (IOPS) and Ingress/Egress (throughput). For volume over time, use Sum aggregation (e.g., over 1 minute to 1 day).
Average IOPS: total transactions in a minute ÷ 60.
Average throughput: (Ingress + Egress over 1 minute) ÷ 60 seconds.
Use Apply splitting to break down by response types or API operations.
Provisioned file shares:
Additional metrics: Transactions by Max IOPS and Bandwidth by Max MiB/s to view peak capability.
Compare average vs peak (max) metrics to understand true workload peaks and baseline for provisioning.
Related content
Links to deeper resources:
Monitor Azure Files
Azure Files monitoring data reference
Create monitoring alerts for Azure Files
Monitor Azure resources with Azure Monitor
Understand Azure Files performance
Troubleshoot ClientOtherErrors
Last updated
06/24/2025
If you want, I can produce a shorter TL;DR, extract the exact CLI/PowerShell/.NET snippets into a ready-to-use GitBook stepper or tabs, or convert the "Monitoring guidance" into a checklist for operational monitoring. Which would you prefer?
Was this helpful?