为什么自动发布后需要手动开启App Insights?

问题描述 投票:0回答:3

为什么发布后应用洞察没有自动开启?

执行自动发布后,我在导航到门户中的应用程序见解时得到以下信息:

这是我在 ARM 模板中定义的方式:

{
  "type": "microsoft.insights/components",
  "kind": "web",
  "name": "[parameters('webAppName')]",
  "apiVersion": "2015-05-01",
  "location": "[parameters('location')]",
  "tags": {
    "[concat('hidden-link:', resourceGroup().id, '/providers/Microsoft.Web/sites/', parameters('webAppName'))]": "Resource",
    "displayName": "[parameters('webAppName')]"
  },
  "properties": {
    "Application_Type": "web"
  },
  "dependsOn": []
}

我做错了什么? 为什么应用洞察没有自动开启?

请注意,我添加了以下应用程序设置:

azure azure-devops azure-resource-manager appinsights
3个回答
10
投票

为了让 Azure 门户显示与 Application Insights 的主动集成,您需要设置两个应用程序设置。原因是您还需要配置 Application Insights Agent Extension。

请注意,设置 InstrumentationKey(已弃用)或连接字符串可能足以让您的应用程序将遥测数据发送到 ApplicationInsights,例如如果您使用的是 ASP.NET Core 和相应的 Nuget 包。但您将需要门户的这两种设置才能显示活动集成。

{
    "resources": [
        {
            "name": "[parameters('name')]",
            "type": "Microsoft.Web/sites",
            "properties": {
                "siteConfig": {
                    "appSettings": [
                        {
                            "name": "APPLICATIONINSIGHTS_CONNECTION_STRING",
                            "value": "[reference('microsoft.insights/components/AppMonitoredSite', '2015-05-01').ConnectionString]"
                        },
                        {
                            "name": "ApplicationInsightsAgent_EXTENSION_VERSION",
                            "value": "~2"
                        }
                    ]
                },
                "name": "[parameters('name')]",
                "serverFarmId": "[concat('/subscriptions/', parameters('subscriptionId'),'/resourcegroups/', parameters('serverFarmResourceGroup'), '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
                "hostingEnvironment": "[parameters('hostingEnvironment')]"
            },
            "dependsOn": [
                "[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
                "microsoft.insights/components/AppMonitoredSite"
            ],
            "apiVersion": "2016-03-01",
            "location": "[parameters('location')]"
        },
        {
            "apiVersion": "2016-09-01",
            "name": "[parameters('hostingPlanName')]",
            "type": "Microsoft.Web/serverfarms",
            "location": "[parameters('location')]",
            "properties": {
                "name": "[parameters('hostingPlanName')]",
                "workerSizeId": "[parameters('workerSize')]",
                "numberOfWorkers": "1",
                "hostingEnvironment": "[parameters('hostingEnvironment')]"
            },
            "sku": {
                "Tier": "[parameters('sku')]",
                "Name": "[parameters('skuCode')]"
            }
        },
        {
            "apiVersion": "2015-05-01",
            "name": "AppMonitoredSite",
            "type": "microsoft.insights/components",
            "location": "West US 2",
            "properties": {
                "ApplicationId": "[parameters('name')]",
                "Request_Source": "IbizaWebAppExtensionCreate"
            }
        }
    ],
    "parameters": {
        "name": {
            "type": "string"
        },
        "hostingPlanName": {
            "type": "string"
        },
        "hostingEnvironment": {
            "type": "string"
        },
        "location": {
            "type": "string"
        },
        "sku": {
            "type": "string"
        },
        "skuCode": {
            "type": "string"
        },
        "workerSize": {
            "type": "string"
        },
        "serverFarmResourceGroup": {
            "type": "string"
        },
        "subscriptionId": {
            "type": "string"
        }
    },
    "$schema": "https://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0"
}

另请参阅我对此的其他答案:Azure Cli 如何为 webapp 启用 Application Insights

编辑:根据 BearOakheart 答案中的新信息进行更新。


1
投票

接受的答案已过时。不建议将 APPINSIGHTS_INSTRUMENTATIONKEY 与 APPLICATIONINSIGHTS_CONNECTION_STRING 一起使用。最后提供者获胜。

不推荐使用检测密钥,我们应该改用 APPLICATIONINSIGHTS_CONNECTION_STRING。

否则提供的答案成立。更多信息在这里:

https://learn.microsoft.com/en-us/azure/azure-monitor/app/migrate-from-instrumentation-keys-to-connection-strings


0
投票

我必须设置 3 个应用程序设置才能自动注册并打开应用程序洞察(在本例中使用二头肌):

{
  name: 'APPLICATIONINSIGHTS_CONNECTION_STRING'
  value: applicationInsights.properties.ConnectionString
}
{
  name: 'APPINSIGHTS_INSTRUMENTATIONKEY'
  value: applicationInsights.properties.InstrumentationKey
}
{
  name: 'ApplicationInsightsAgent_EXTENSION_VERSION'
  value: '~2'
}
© www.soinside.com 2019 - 2024. All rights reserved.