Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A autoinstrumentação, também conhecida como monitoramento de runtime, é a maneira mais fácil de ativar o Application Insights para o Azure App Service sem a necessidade de alterações de código ou configurações avançadas. Com base em seu cenário específico, avalie se você precisa de monitoramento mais avançado por meio de instrumentação manual.
Observação
O suporte à ingestão de chave de instrumentação será encerrado em 31 de março de 2025. A ingestão de chave de instrumentação continuará funcionando, mas não forneceremos mais atualizações ou suporte para o recurso. Faça a transição para cadeias de conexão para aproveitar os novos recursos.
Habilitar o Application Insights
Importante
Se o monitoramento de instrumentação automática e a instrumentação baseada em SDK manual forem detectados, somente as configurações de instrumentação manual serão respeitadas. Essa disposição impede que dados duplicados sejam enviados. Para saber mais, confira Solucionar problemas de integração do Application Insights com o Serviço de Aplicativo do Azure.
Observação
- Há suporte apenas para versões lts ( suporte a longo prazo ) do .NET Core.
- Não há suporte para a opção Implantações autossuficientes de corte. Em vez disso, use a instrumentação manual.
Autoinstrumentação no portal do Azure
Selecione Application Insights no menu de navegação à esquerda do serviço de aplicativo e selecione Habilitar.
Crie um recurso ou selecione um recurso do Application Insights existente para o aplicativo.
Observação
Quando você seleciona OK para criar um novo recurso, é solicitado que você aplique as configurações de monitoramento. Selecionar Continuar vincula seu novo recurso do Application Insights ao serviço de aplicativo. Em seguida, o serviço de aplicativo é reiniciado.
Depois de especificar qual recurso usar, você poderá escolher como deseja que o Application Insights colete dados por plataforma para seu aplicativo. as opções da coleção ASP.NET Core são recomendadas ou desabilitadas.
Atualizar manualmente o agente/extensão de monitoramento
Atualização das versões 2.8.9 e superiores
A atualização da versão 2.8.9 ocorre automaticamente, sem nenhuma ação adicional. Os novos bits de monitoramento são entregues em segundo plano ao serviço de aplicativo de destino e são coletados na reinicialização do aplicativo.
Para verificar qual versão da extensão você está executando, acesse https://yoursitename.scm.azurewebsites.net/ApplicationInsights.
Atualização das versões 1.0.0-2.6.5
A partir da versão 2.8.9, a extensão de site pré-instalada é usada. Se você estiver com uma versão anterior, poderá fazer a atualização por meio de uma das duas maneiras:
Atualize habilitando por meio do portal do Azure: mesmo se você tiver a extensão do Application Insights para o Serviço de Aplicativo instalada, a interface do usuário mostrará apenas o botão Habilitar . Nos bastidores, a extensão de site particular antigo é removida.
Atualizar por meio do PowerShell:
- Defina as configurações do aplicativo para habilitar a extensão de site
ApplicationInsightsAgentpré-instalada. Para obter mais informações, consulte Habilitar por meio do PowerShell. - Remova manualmente a extensão de site privado chamada extensão Application Insights para o Serviço de Aplicativo do Azure.
- Defina as configurações do aplicativo para habilitar a extensão de site
Se a atualização for feita de uma versão anterior à 2.5.1, verifique se as DLLs ApplicationInsights foram removidas da pasta bin do aplicativo. Para obter mais informações, consulte Solucionar problemas de integração do Application Insights com o Serviço de Aplicativo do Azure.
Configurar o agente/extensão de monitoramento
No momento, não oferecemos opções para configurar a extensão de monitoramento do ASP.NET Core.
Habilitar monitoramento do lado do cliente
O monitoramento do lado do cliente é habilitado por padrão para aplicativos do ASP.NET Core com coleção recomendada , independentemente de a configuração APPINSIGHTS_JAVASCRIPT_ENABLED do aplicativo estar presente.
Se quiser desabilitar o monitoramento do lado do cliente:
Selecione Configurações>.
Nas configurações do aplicativo, crie uma nova configuração de aplicativo com as seguintes informações:
-
Nome:
APPINSIGHTS_JAVASCRIPT_ENABLED -
Valor:
false
-
Nome:
Salve as configurações. Reinicie o aplicativo.
Automatizar monitoramento
Para habilitar a coleta de telemetria com o Application Insights, somente as seguintes configurações do aplicativo precisam ser definidas:
Definições de configurações do aplicativo
| Nome da configuração do aplicativo | Definição | Valor |
|---|---|---|
| ApplicationInsightsAgent_EXTENSION_VERSION | Extensão principal, que controla o monitoramento do tempo de execução. |
~2 para Windows ou ~3 para Linux |
| XDT_MicrosoftApplicationInsights_Mode | No modo padrão, somente os recursos essenciais são habilitados para garantir um desempenho ideal. |
disabled ou recommended. |
| XDT_MicrosoftApplicationInsights_PreemptSdk | Somente para aplicativos ASP.NET Core. Habilita a interoperabilidade (interoperação) com o SDK do Application Insights. Carrega a extensão lado a lado com o SDK e a usa para enviar telemetria. (Desabilita o SDK do Application Insights.) | 1 |
Configurações de aplicativo do Serviço de Aplicativo com o Azure Resource Manager
As configurações de aplicativo para o Serviço de Aplicativo do Azure podem ser gerenciadas e configuradas com modelos do Azure Resource Manager. Você pode usar esse método ao implantar novos recursos de Serviço de Aplicativo com a automação do Resource Manager ou modificar as configurações dos recursos existentes.
A estrutura básica das configurações do aplicativo JSON para um recurso do Serviço de Aplicativo:
"resources": [
{
"name": "appsettings",
"type": "config",
"apiVersion": "2015-08-01",
"dependsOn": [
"[resourceId('Microsoft.Web/sites', variables('webSiteName'))]"
],
"tags": {
"displayName": "Application Insights Settings"
},
"properties": {
"key1": "value1",
"key2": "value2"
}
}
]
Automatize a criação de um recurso do Application Insights e vincule ao recurso do Serviço de Aplicativo recém-criado
Para criar um modelo do Resource Manager com as configurações do Application Insights padrão, inicie o processo como se estivesse criando um novo aplicativo Web com o Application Insights habilitado.
No portal do Azure, crie um novo recurso de Aplicativo Web com as informações desejadas. Habilite o Application Insights na guia Monitor + Seguro .
Vá para Examinar + criar e, em seguida, selecione Baixar um modelo para automação. Essa opção gera o modelo do Resource Manager mais recente com todas as configurações necessárias definidas.
Observação
O modelo de exemplo a seguir é para um aplicativo .NET 8 (LTS) em execução no Windows. Ele usa marcadores de posição my-monitored-web-app para o nome do aplicativo e aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e para o ID da assinatura.
Não recomendamos copiar e usá-lo diretamente. Em vez disso, gere seu próprio modelo com base nas instruções acima.
Expandir para exibir o modelo de exemplo
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"subscriptionId": {
"type": "string"
},
"resourceGroupName": {
"type": "string"
},
"name": {
"type": "string"
},
"___location": {
"type": "string"
},
"hostingPlanName": {
"type": "string"
},
"serverFarmResourceGroup": {
"type": "string"
},
"alwaysOn": {
"type": "bool"
},
"ftpsState": {
"type": "string"
},
"autoGeneratedDomainNameLabelScope": {
"type": "string"
},
"sku": {
"type": "string"
},
"skuCode": {
"type": "string"
},
"workerSize": {
"type": "string"
},
"workerSizeId": {
"type": "string"
},
"numberOfWorkers": {
"type": "string"
},
"currentStack": {
"type": "string"
},
"phpVersion": {
"type": "string"
},
"netFrameworkVersion": {
"type": "string"
}
},
"variables": {},
"resources": [
{
"apiVersion": "2022-03-01",
"name": "[parameters('name')]",
"type": "Microsoft.Web/sites",
"___location": "[parameters('___location')]",
"tags": null,
"dependsOn": [
"microsoft.insights/components/my-monitored-web-app",
"[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]"
],
"properties": {
"name": "[parameters('name')]",
"siteConfig": {
"appSettings": [
{
"name": "APPLICATIONINSIGHTS_CONNECTION_STRING",
"value": "[reference('microsoft.insights/components/my-monitored-web-app', '2015-05-01').ConnectionString]"
},
{
"name": "ApplicationInsightsAgent_EXTENSION_VERSION",
"value": "~2"
},
{
"name": "XDT_MicrosoftApplicationInsights_Mode",
"value": "default"
}
],
"metadata": [
{
"name": "CURRENT_STACK",
"value": "[parameters('currentStack')]"
}
],
"phpVersion": "[parameters('phpVersion')]",
"netFrameworkVersion": "[parameters('netFrameworkVersion')]",
"alwaysOn": "[parameters('alwaysOn')]",
"ftpsState": "[parameters('ftpsState')]"
},
"serverFarmId": "[concat('/subscriptions/', parameters('subscriptionId'),'/resourcegroups/', parameters('serverFarmResourceGroup'), '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]",
"clientAffinityEnabled": true,
"virtualNetworkSubnetId": null,
"httpsOnly": true,
"publicNetworkAccess": "Enabled",
"autoGeneratedDomainNameLabelScope": "[parameters('autoGeneratedDomainNameLabelScope')]"
},
"resources": [
{
"type": "Microsoft.Web/sites/basicPublishingCredentialsPolicies",
"apiVersion": "2022-09-01",
"name": "[concat(parameters('name'), '/scm')]",
"properties": {
"allow": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', parameters('name'))]"
]
},
{
"type": "Microsoft.Web/sites/basicPublishingCredentialsPolicies",
"apiVersion": "2022-09-01",
"name": "[concat(parameters('name'), '/ftp')]",
"properties": {
"allow": true
},
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', parameters('name'))]"
]
}
]
},
{
"apiVersion": "2018-11-01",
"name": "[parameters('hostingPlanName')]",
"type": "Microsoft.Web/serverfarms",
"___location": "[parameters('___location')]",
"kind": "",
"tags": null,
"dependsOn": [],
"properties": {
"name": "[parameters('hostingPlanName')]",
"workerSize": "[parameters('workerSize')]",
"workerSizeId": "[parameters('workerSizeId')]",
"numberOfWorkers": "[parameters('numberOfWorkers')]",
"zoneRedundant": false
},
"sku": {
"Tier": "[parameters('sku')]",
"Name": "[parameters('skuCode')]"
}
},
{
"apiVersion": "2020-02-02-preview",
"name": "my-monitored-web-app",
"type": "microsoft.insights/components",
"___location": "centralus",
"tags": null,
"dependsOn": [
"newWorkspaceTemplate"
],
"properties": {
"ApplicationId": "[parameters('name')]",
"Request_Source": "IbizaWebAppExtensionCreate",
"Flow_Type": "Redfield",
"Application_Type": "web",
"WorkspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/DefaultResourceGroup-CUS/providers/Microsoft.OperationalInsights/workspaces/DefaultWorkspace-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-CUS"
}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2021-04-01",
"name": "newWorkspaceTemplate",
"resourceGroup": "DefaultResourceGroup-CUS",
"subscriptionId": "[parameters('subscriptionId')]",
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"variables": {},
"resources": [
{
"apiVersion": "2020-08-01",
"name": "DefaultWorkspace-aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-CUS",
"type": "Microsoft.OperationalInsights/workspaces",
"___location": "centralus",
"properties": {}
}
]
}
}
}
]
}
Habilitar por meio do PowerShell
Para habilitar o monitoramento de aplicativos por meio do PowerShell, somente as configurações de aplicativo subjacentes devem ser alteradas. O exemplo a seguir habilita o monitoramento de aplicativos para um site chamado my-monitored-web-app no grupo de recursos my-resource-group. Ele configura os dados a serem enviados para a InstrumentationKey=012345678-abcd-ef01-2345-6789abcd cadeia de conexão.
Observação
Recomendamos que você use o módulo Azure Az PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.
Observação
Para Windows, defina ApplicationInsightsAgent_EXTENSION_VERSION como ~2.
Para Linux, defina ApplicationInsightsAgent_EXTENSION_VERSION como ~3.
$app = Get-AzWebApp -ResourceGroupName "my-resource-group" -Name "my-monitored-web-app" -ErrorAction Stop
$newAppSettings = @{} # Case-insensitive hash map
$app.SiteConfig.AppSettings | %{$newAppSettings[$_.Name] = $_.Value} # Preserve non-Application-Insights application settings.
$newAppSettings["APPLICATIONINSIGHTS_CONNECTION_STRING"] = "InstrumentationKey=aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"; # Set the Application Insights connection string
$newAppSettings["ApplicationInsightsAgent_EXTENSION_VERSION"] = "~3"; # Enable the ApplicationInsightsAgent.
$app = Set-AzWebApp -AppSettings $newAppSettings -ResourceGroupName $app.ResourceGroup -Name $app.Name -ErrorAction Stop
Solução de problemas
Confira o artigo de solução de problemas dedicado.
Próximas etapas
- Perguntas frequentes: Monitoramento no Azure App Service para aplicativos .NET, Node.js, Python e Java.
- Habilite o .NET Profiler para aplicativos do Serviço de Aplicativo do Azure em seu aplicativo dinâmico.
- Habilite o diagnóstico do Azure para ser enviado ao Application Insights.
- Monitore as métricas de integridade do serviço para garantir que seu serviço esteja disponível e responsivo.
- Receba notificações de alerta sempre que ocorrerem eventos operacionais ou métricas ultrapassarem um limite.
- Configure testes de disponibilidade para seu aplicativo.