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?