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

如何通过Terraform为SQL数据库创建alert rule告警规则

Azure Terraform 指标告警配置修复方案

核心错误点

  • 资源scope与指标命名空间不匹配:当前配置scopes参数传入的是SQL服务器资源ID,而criteria块中指定的metric_namespace为数据库级别的Microsoft.Sql/servers/databases,两者层级不匹配导致指标无法正常拉取,配置无法生效。
  • 指标名不符合官方规范:部分Azure区域对指标名字大小写敏感,官方规范中单数据库CPU使用率指标名为全小写的cpu_percent,配置为CPU_percentage会出现指标找不到的错误。

修正后的可用配置

以下为监控单个SQL数据库CPU使用率的标准配置:

resource "azurerm_monitor_metric_alert" "example" {
  name                = "example-metricalert"
  resource_group_name = azurerm_resource_group.example.name
  # 替换为数据库资源ID,和数据库级指标命名空间匹配
  scopes              = [azurerm_mssql_database.test.id]
  description         = "数据库CPU使用率超过80%时触发告警"

  criteria {
    metric_namespace = "Microsoft.Sql/servers/databases"
    metric_name      = "cpu_percent"
    aggregation      = "Average"
    operator         = "GreaterThan"
    threshold        = 80
  }

  # 若需要告警触发后推送通知/执行自动化动作,可绑定对应动作组,按需开启即可
  # action {
  #   action_group_id = azurerm_monitor_action_group.your_action_group.id
  # }
}

额外排查建议

  • 确认Azurerm Provider版本≥3.0,旧版本存在SQL指标告警适配缺陷,可执行terraform provider upgrade azurerm升级到最新稳定版后再部署。
  • 部署前执行terraform plan提前校验配置语法与资源依赖合理性,可大幅减少部署报错概率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:06:03