如何为Azure SQL MI实例设置存储空间使用率百分比告警?
实现Azure SQL MI存储空间使用率80%告警的方案
因为Azure SQL MI原生指标未提供直接的存储空间使用率百分比选项,可通过原生指标计算或Log Analytics日志查询两种方式实现告警:
方案一:Azure Monitor自定义指标规则
- 进入目标SQL MI实例的「警报」页面,点击「创建」>「警报规则」。
- 在「信号逻辑」环节,点击「添加信号」,选择「指标」类型,分别添加
Storage Used(已用空间,单位MB)和Storage Allocated(分配总空间,单位MB)两个指标。 - 切换到「自定义逻辑」选项卡,输入计算公式:
(Storage_Used / Storage_Allocated) * 100,设置阈值为80,触发条件选择「大于或等于」。 - 配置动作组(如邮件、短信、Webhook通知),完成告警规则创建。
方案二:Log Analytics日志查询告警
- 先确保SQL MI已启用诊断设置,将
AzureMetrics日志发送至关联的Log Analytics工作区。 - 在Log Analytics工作区中编写查询语句:
AzureMetrics | where ResourceType == "MICROSOFT.SQL/MANAGEDINSTANCES" | where MetricName in ("StorageUsed", "StorageAllocated") | summarize Used = avg(iff(MetricName == "StorageUsed", Average, 0)), Allocated = avg(iff(MetricName == "StorageAllocated", Average, 0)) by bin(TimeGenerated, 5m), ResourceGroup, Resource | extend UsagePercentage = (Used / Allocated) * 100 | where UsagePercentage >= 80
- 点击查询页面的「新建警报规则」,设置触发条件为「结果数大于0」,配置对应的动作组,完成告警规则创建。
注意事项
- 确保
Storage Allocated指标的数值为实例当前实际分配的总存储空间,避免计算偏差。 - 使用自定义指标计算时,两个指标的聚合方式需保持一致(如均选择「平均值」或「最大值」)。
- 日志查询的时间间隔可根据业务需求调整,推荐设置为5-15分钟,平衡告警及时性与资源消耗。
内容的提问来源于stack exchange,提问作者NP007
相关产品推荐
相关产品推荐

