首页 > 解决方案 > 如何使用 terraform 启用 azure vm 应用程序洞察监控代理

问题描述

我收到以下错误:

Code="VMExtensionProvisioningError" Message="VM 在处理扩展 'vm-insights-monitorAgent-vmazpcuwldship3' 时报告失败。错误消息:“无法为 IIS 启用应用程序监控:System.IO.FileNotFoundException: 找不到 applicationHost.config 在C:\windows\System32\inetsrv\config\applicationHost.config\r\n文件名:'C:\windows\System32\inetsrv\config\applicationHost.config'\r\n
在 Microsoft.ApplicationInsights.Redfield.Configurator.RuntimeConfigurators.IISConfigurator.UpdateApplicationHostConfig(IAppInsightsConfiguratorLogger 记录器,布尔启用,布尔 skipMissingApplicationHostConfig,ISystem 系统)\r\n 在 Microsoft.ApplicationInsights.Redfield.Configurator.RuntimeConfigurators.IISConfigurator.Enable(IRuntimePaths runtimePaths,IAppInsightsConfiguratorLogger logger, Boolean writeToApplicationHostConfig, Boolean skipMissingApplicationHostConfig, ISystem system)\r\n 在 Microsoft.ApplicationInsights.Redfield.Configurator.RedfieldConfigurator.Enable(IRuntimePaths runtimePaths, IAppInsightsConfiguratorLogger logger, RedfieldConfiguration redfieldConfiguration, Boolean enableInstrumentationEngine, Boolean writeToApplicationHostConfig, Boolean skipMissingApplicationHostConfig)\r\n在 Microsoft.ApplicationInsights。VmExtensionHandler.VmExtensionHandler.Enable(HandlerEnvironment handlerEnvironment, String configSequenceNumber)"\r\n\r\n "


resource "azurerm_virtual_machine_extension" "vm_insight_monitor_agent" {
  name                  = "vm-insights-monitorAgent-${var.vm_name}"
  virtual_machine_id    = var.vm_id
  publisher             = "Microsoft.Azure.Diagnostics"
  type                  = "ApplicationMonitoringWindows"
  type_handler_version  = "2.8"
  auto_upgrade_minor_version = true
 
  settings = <<SETTINGS
        {
          "redfieldConfiguration": {
            "instrumentationKeyMap": {
              "filters": [
                {
                  "appFilter": ".*",
                  "machineFilter": ".*",
                  "virtualPathFilter": ".*",
                  "instrumentationSettings" : {
                    "connectionString": "InstrumentationKey=${var.appi_conn_string}"
                  }
                }
              ]
            }
          }
        }
SETTINGS
 
  protected_settings = <<PROTECTED_SETTINGS
        {}
PROTECTED_SETTINGS
 
}

标签: azureterraformazure-virtual-machineterraform-provider-azure

解决方案


也许您使用了不合适的 VM 扩展。您可以按照此处的示例进行操作。它显示了监控代理和监控依赖代理的示例。


推荐阅读