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

如何通过Terraform配置Azure Web App的Auto Heal自动修复设置?

Azure Web App自动修复(Auto Heal)Terraform配置示例

以下是使用azurerm_windows_web_app配置自动修复的完整示例,包含常见的触发器与动作配置:

resource "azurerm_windows_web_app" "example" {
  name                = "example-webapp"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location
  service_plan_id     = azurerm_app_service_plan.example.id

  auto_heal_enabled = true

  auto_heal_settings {
    # 触发器配置
    trigger {
      # 请求计数触发器:5分钟内超过1000次请求
      requests {
        count           = 1000
        time_interval   = "PT5M"
      }

      # 状态码触发器:5分钟内502状态码超过50次
      status_codes {
        status_code        = 502
        count              = 50
        time_interval      = "PT5M"
        sub_status_code    = 0
        win32_status_code  = 0
      }

      # 慢请求触发器:5分钟内超过10次请求响应时间超过10秒
      slow_requests {
        count            = 10
        time_interval    = "PT5M"
        slow_duration    = "PT10S"
      }

      # 内存占用触发器:内存超过700MB持续2分钟
      private_memory_kb               = 716800
      private_memory_time_interval    = "PT2M"
    }

    # 动作配置
    action {
      # 触发后执行重启动作
      type = "Recycle"

      # 自定义动作示例(启用时需将type设为CustomAction)
      # custom_action {
      #   exe         = "D:\\home\\site\\scripts\\heal-action.cmd"
      #   parameters  = "-param1 value1"
      # }

      # 延迟30秒执行动作
      delay = "PT30S"
    }
  }
}

触发器配置说明

  • 请求计数触发器:通过requests块设置单位时间内的请求阈值,超过则触发自动修复。
  • 状态码触发器:通过status_codes块监控特定HTTP状态码(含子状态码、Win32状态码)的出现次数。
  • 慢请求触发器:通过slow_requests块捕获响应时间过长的请求,达到阈值触发动作。
  • 资源占用触发器:通过private_memory_kb设置内存阈值,private_memory_time_interval设置持续时长,超过则触发。

动作配置说明

  • 动作类型:
    • Recycle:重启Web App进程(最常用的修复动作)
    • LogEvent:仅在日志中记录触发事件,不执行修复动作
    • CustomAction:执行指定的自定义脚本或可执行文件
  • 延迟执行:通过delay参数设置触发器触发后延迟执行动作的时间,避免误触发。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 19:20:38