如何为同一资源组下多个存储账户配置基于Transactions的Azure指标警报?
为同一资源组下多个存储账户配置交易计数单警报的解决方案
问题原因
单个存储账户能看到的Transactions属于平台实例级指标,但当警报范围设为资源组时,Azure Monitor的多资源指标警报目前无法直接将这类实例指标作为可选信号(仅显示管理类信号或自定义日志搜索),这是因为多资源指标警报对部分资源的实例级指标支持有限。
可行解决方案
方案一:通过Log Analytics工作区实现自定义日志搜索警报(推荐,灵活性高)
这是当前最可靠的实现方式,通过收集存储账户的交易日志并聚合分析来触发警报:
- 第一步:配置存储账户日志收集
- 逐个进入目标存储账户的「诊断设置」,添加新的诊断设置。
- 勾选需要收集的交易日志类别(如
StorageBlobLogs、StorageTableLogs、StorageQueueLogs,根据你的存储类型选择),并将日志发送到同一个Log Analytics工作区。
- 第二步:创建日志搜索警报
- 进入Azure Monitor的「警报」页面,点击「创建」→「警报规则」。
- 范围选择目标资源组(或直接选择对应的Log Analytics工作区)。
- 信号类型选择「自定义日志搜索」,然后输入Kusto查询语句聚合交易计数,示例:
(可根据需求调整日志类型、时间窗口、阈值,或过滤特定操作类型如StorageBlobLogs | where ResourceGroup == "你的资源组名称" | summarize 交易总数 = count() by 存储账户名称=AccountName, bin(TimeGenerated, 5分钟) | where 交易总数 > 你设置的阈值OperationName) - 设置警报逻辑:选择「基于结果数」,配置评估频率和阈值触发条件。
- 配置通知组(邮件、短信、Webhook等),完成创建。
方案二:使用多资源指标规则(仅适用于部分支持的存储指标)
如果你的Azure环境支持存储账户Transactions指标的多资源聚合,可以尝试以下步骤:
- 进入Azure Monitor的「警报」页面,点击「创建」→「警报规则」。
- 范围选择目标资源组,点击「添加资源」,筛选资源类型为「存储账户」,选中所有目标账户。
- 信号类型选择「指标」,在信号列表中切换资源类型为「存储账户」,查找并选择
Transactions指标。 - 配置聚合方式(如「总和」)、时间窗口、阈值,可选择按每个存储账户拆分警报。
- 若无法找到
Transactions指标,说明该指标目前不支持多资源指标规则,需改用方案一。
内容的提问来源于stack exchange,提问作者UliKunkelUSA
相关产品推荐
相关产品推荐

