You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure存储账户执行Set-AzureRmDiagnosticSetting报AllMetrics不支持异常

解决Azure存储账户执行Set-AzureRmDiagnosticSetting时的"AllMetrics不支持"异常

这个问题我之前也碰到过,核心原因是:Azure存储账户并不支持AllMetrics这个通用指标类别,而Set-AzureRmDiagnosticSetting命令在不指定具体指标类别时,默认会尝试启用AllMetrics,这就触发了BadRequest错误。而Key Vault、Service Bus这类资源支持AllMetrics,所以你的命令在它们身上能正常运行。

解决方案步骤:

1. 先获取存储账户支持的具体指标类别

首先需要确认你的存储账户实际支持哪些指标类别,用以下PowerShell命令查询:

# 替换成你的存储账户ResourceId
$resourceId = "/subscriptions/c1ddf901-1db.../providers/Microsoft.Storage/storageAccounts/your-storage-account"
Get-AzureRmMetricDefinition -ResourceId $resourceId | Select-Object Name, MetricCategory

执行后你会看到存储账户的指标类别是按服务划分的,比如Blob、File、Queue、Table这些(具体取决于你的存储账户启用的服务)。

2. 修改诊断设置命令,指定具体的指标类别

把原来的命令修改为明确指定支持的MetricCategory,示例如下:

# 替换成你的资源ID和存储账户日志ID
$resourceId = "/subscriptions/c1ddf901-1db.../providers/Microsoft.Storage/storageAccounts/your-storage-account"
$storageAccountIdLogs = "/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Storage/storageAccounts/your-log-storage"

Set-AzureRmDiagnosticSetting -ResourceId $resourceId `
    -Enable $true `
    -RetentionInDays 365 `
    -RetentionEnabled $true `
    -MetricCategory "Blob", "File", "Queue", "Table" `
    -StorageAccountId $storageAccountIdLogs

注意:-MetricCategory后面的参数要和第一步查询到的类别完全匹配,如果你只需要启用部分服务的指标,只填对应的类别即可(比如只填"Blob")。

3. 验证设置是否成功

执行完命令后,可以用以下命令检查诊断设置是否生效:

Get-AzureRmDiagnosticSetting -ResourceId $resourceId

返回结果里会显示已启用的指标类别和日志设置,确认没有报错即可。

内容的提问来源于stack exchange,提问作者rajeshmag

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:23:57