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

如何通过Terraform配置App Service的App Insights instrumentation?

问题解答

仅通过app_settings配置是不够的,还需要补充站点扩展或专用配置块的设置,才能让App Insights在App Service上完全启用,同时你的当前配置也存在几个需要修正的细节:

一、先修正现有配置的问题

  1. 你用for_each批量创建了多环境的App Insights,但关联App Service时硬编码了["dev"],如果是多环境部署,需要让App Service和App Insights的for_each逻辑匹配,否则其他环境会关联错误的资源。
  2. Azure目前推荐使用**连接字符串(APPLICATIONINSIGHTS_CONNECTION_STRING)**而非Instrumentation Key,两者共存可能导致冲突,建议保留连接字符串即可。

二、启用完整Instrumentation的两种方式

方式1:通过site_config直接关联(推荐)

Terraform的azurerm_windows_web_app资源提供了site_config块下的专用参数,配置后会自动完成App Insights的关联、必要的应用设置和扩展启用,无需手动维护app_settings中的遥测密钥:

resource "azurerm_windows_web_app" "app1" {
  for_each = local.all_envs
  name                = "app1-${each.value}"
  location            = azurerm_resource_group.rg-webapps.location
  resource_group_name = azurerm_resource_group.rg-webapps.name
  ...

  site_config {
    # 关联对应环境的App Insights连接字符串
    application_insights_connection_string = azurerm_application_insights.app1[each.value].connection_string
  }

  app_settings = {
    # 仅保留自定义角色名称这类业务配置即可
    APPLICATIONINSIGHTS_ROLE_NAME = "role1"
  }
  ...
}

方式2:手动配置Application Insights扩展

如果需要更精细的控制,可以单独创建azurerm_web_app_extension资源来启用App Insights代理扩展,确保服务器端遥测(请求日志、性能计数器等)被收集:

resource "azurerm_web_app_extension" "app1_appinsights" {
  for_each = local.all_envs
  name                 = "ApplicationInsights"
  site_name            = azurerm_windows_web_app.app1[each.value].name
  resource_group_name  = azurerm_resource_group.rg-webapps.name
  publisher            = "Microsoft.ApplicationInsights"
  type                 = "ApplicationInsightsAgent"
  type_handler_version = "2.8"

  settings = {
    ConnectionString = azurerm_application_insights.app1[each.value].connection_string
  }
}

三、为什么系统提示未完全启用

仅设置app_settings只能让你的应用代码主动发送遥测数据,但App Service的**服务器端原生遥测(如IIS日志、进程性能指标)**需要依赖Application Insights扩展来收集,只有完成扩展启用或site_config关联,Azure Portal才会判定App Insights已完全启用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:45:31