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

多Azure SQL数据库(v12)的指标监控与告警最佳方案问询

针对Azure中批量数据库的监控与告警最佳实践

针对数百个Azure数据库批量配置监控告警,确实手动逐个设置太折腾了,结合你用ARM创建数据库的背景,这里有几个高效的方案,按实用性和可维护性排序:

1. 订阅/资源组级别告警规则(最推荐)

这是批量覆盖现有和未来数据库最简单的方式,不需要逐个配置:

  • 打开Azure Monitor,新建告警规则
  • 范围选择你的目标订阅或特定资源组(如果数据库都集中在几个资源组里)
  • 条件部分:
    • 选择“信号类型”为指标
    • 筛选资源类型为你的数据库类型(比如Microsoft.Sql/servers/databases对应Azure SQL DB)
    • 选择对应的监控指标:比如Azure SQL DB选Storage Used,单位是字节,设置阈值为10737418240(即10GB)
    • 配置评估频率和窗口(比如每5分钟评估一次,看过去5分钟的平均值)
  • 动作组:复用一个预先配置好的动作组(包含邮件、短信、逻辑应用通知等),避免重复设置
  • 保存规则后,所有符合筛选条件的数据库(包括后续新创建的)都会自动纳入监控,触发阈值时就会告警

2. ARM模板批量部署告警规则

既然你的数据库是用ARM创建的,完全可以扩展ARM模板来批量部署告警规则:

  • 编写一个ARM模板,参数化资源组、服务器名称、数据库名称列表等
  • 使用模板中的copy循环,遍历数据库列表,为每个数据库创建对应的告警规则资源(类型为Microsoft.Insights/metricAlerts)
  • 示例模板片段:
    {
      "type": "Microsoft.Insights/metricAlerts",
      "apiVersion": "2018-03-01",
      "name": "[concat('DBSizeAlert-', parameters('databaseNames')[copyIndex()])]",
      "copy": {
        "name": "dbAlertCopy",
        "count": "[length(parameters('databaseNames'))]"
      },
      "properties": {
        "description": "Alert when database size exceeds 10GB",
        "severity": 2,
        "enabled": true,
        "scopes": [
          "[resourceId('Microsoft.Sql/servers/databases', parameters('serverName'), parameters('databaseNames')[copyIndex()])]"
        ],
        "criteria": {
          "allOf": [
            {
              "metricName": "Storage Used",
              "dimensions": [],
              "operator": "GreaterThan",
              "threshold": 10737418240,
              "timeAggregation": "Average"
            }
          ]
        },
        "actions": [
          {
            "actionGroupId": "[resourceId('Microsoft.Insights/actionGroups', parameters('actionGroupName'))]"
          }
        ]
      }
    }
    
  • 用Azure CLI或PowerShell部署这个模板,一次性完成所有数据库的告警配置

3. Azure Policy强制自动配置(覆盖未来新数据库)

如果希望所有新创建的数据库自动带上这个告警规则,同时补全现有数据库的配置,可以用Azure Policy的deployIfNotExists效果:

  • 创建一个自定义Policy,定义规则:当创建Microsoft.Sql/servers/databases类型资源时,检查是否存在对应的大小告警规则,如果不存在则自动部署
  • 把Policy分配到目标订阅或资源组,系统会自动为现有符合条件的数据库补配告警,同时对新创建的数据库自动生效

注意事项

  • 不同数据库类型的指标名称可能不同:比如Cosmos DB用Storage Usage,Azure Database for PostgreSQL用Storage used,需要确认对应数据库的正确指标
  • 阈值设置要注意单位:大部分存储指标用字节,所以10GB要转换成10*1024*1024*1024即10737418240
  • 动作组建议统一管理:创建一个全局的动作组,所有告警规则都指向它,方便后续修改通知方式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:52:34