Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A autoinstrumentação, também conhecida como monitoramento de tempo de execução , é a maneira mais fácil de habilitar o Application Insights para o Serviço de Aplicativo do Azure sem exigir alterações de código ou configurações avançadas. Com base no seu cenário específico, avalie se você precisa de um monitoramento mais avançado por meio de instrumentação manual.
Nota
A 31 de março de 2025, o suporte para a ingestão de chaves de instrumentação irá terminar. A ingestão de chaves de instrumentação continuará a funcionar, mas não forneceremos mais atualizações ou suporte para o recurso. Transição para cadeias de conexão para aproveitar os novos recursos.
Ativar o Application Insights
Importante
Se o monitoramento de autoinstrumentação e a instrumentação manual baseada em SDK forem detetados, somente as configurações de instrumentação manual serão respeitadas. Esta disposição impede o envio de dados duplicados. Para saber mais, consulte Solucionar problemas de integração do Application Insights com o Serviço de Aplicativo do Azure.
Nota
- Somente versões do .NET Core Long Term Support (LTS) são suportadas.
- Não há suporte para cortar implantações independentes. Em vez disso, use instrumentação manual.
Autoinstrumentação no portal do Azure
Selecione Application Insights no menu de navegação esquerdo do seu serviço de aplicativo e, em seguida, selecione Ativar.
Crie um novo recurso ou selecione um recurso existente do Application Insights para este aplicativo.
Nota
Ao selecionar OK para criar um novo recurso, você será solicitado a Aplicar configurações de monitoramento. Selecionar Continuar vincula seu novo recurso do Application Insights ao serviço do aplicativo. Em seguida, o serviço de aplicativo é reiniciado.
Captura de ecrã que mostra a lista suspensa 'Alterar o seu recurso'.
Depois de especificar qual recurso usar, você pode escolher como deseja que o Application Insights colete dados por plataforma para seu aplicativo. As opções de coleção do ASP.NET Core são Recomendadas ou Desativadas.
Atualizar manualmente a extensão/agente de monitoramento
Atualização a partir das versões 2.8.9 e superiores
A atualização da versão 2.8.9 acontece automaticamente, sem ações extras. Os novos bits de monitoramento são entregues em segundo plano para o serviço de aplicativo de destino e são captados na reinicialização do aplicativo.
Para verificar qual versão da extensão você está executando, vá para 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 estiver a utilizar uma versão anterior, pode atualizar de duas formas:
Atualizar habilitando por meio do portal do Azure: mesmo que você tenha a extensão do Application Insights para Serviço de Aplicativo instalada, a interface do usuário mostra apenas o botão Habilitar . Nos bastidores, a antiga extensão de site privado é removida.
Atualize por meio do PowerShell:
- Defina as configurações do aplicativo para habilitar a extensão
ApplicationInsightsAgentde site pré-instalada. Para obter mais informações, consulte Habilitar por meio do PowerShell. - Remova manualmente a extensão de site privado chamada Application Insights para Azure App Service.
- Defina as configurações do aplicativo para habilitar a extensão
Se a atualização for feita a partir de uma versão anterior à 2.5.1, verifique se as ApplicationInsights DLLs 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 a extensão/agente de monitoramento
No momento, não oferecemos opções para configurar a extensão de monitoramento para ASP.NET Core.
Ativar monitorização do lado do cliente
O monitoramento do lado do cliente é habilitado por padrão para aplicativos ASP.NET Core com coleção Recomendado , independentemente de a configuração APPINSIGHTS_JAVASCRIPT_ENABLED do aplicativo estar presente.
Se você quiser desativar o monitoramento do lado do cliente:
Selecione Definições>Configuração.
Em Configurações do aplicativo, crie uma nova configuração do aplicativo com as seguintes informações:
-
Nome:
APPINSIGHTS_JAVASCRIPT_ENABLED -
Valor:
false
-
Nome:
Salve as configurações. Reinicie a aplicação.
Automatize o monitoramento
Para habilitar a coleta de telemetria com o Application Insights, apenas as seguintes configurações do aplicativo precisam ser definidas:
Definições de configurações do aplicativo
| Nome de definição de aplicação | Definição | Valor |
|---|---|---|
| ApplicationInsightsAgent_EXTENSION_VERSION | Extensão principal, que controla o monitoramento do tempo de execução. |
~2 para Windows ou ~3 Linux |
| XDT_MicrosoftApplicationInsights_Mode | No modo padrão, apenas recursos essenciais são habilitados para garantir o desempenho ideal. |
disabled ou recommended. |
| XDT_MicrosoftApplicationInsights_PreemptSdk | Apenas para aplicações ASP.NET Core. Permite 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 da aplicação do App Service 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 do Serviço de Aplicativo com a automação do Gerenciador de Recursos ou modificar as configurações dos recursos existentes.
A estrutura básica do JSON de configurações do aplicativo 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-o ao recurso do Serviço de Aplicativo recém-criado
Para criar um modelo do Gerenciador de Recursos com as configurações padrão do Application Insights, inicie o processo como se fosse criar 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 .
Aceda a Rever + criar e, em seguida, selecione Transferir um modelo para automatização. Esta opção gera o modelo mais recente do Resource Manager com todas as configurações necessárias configuradas.
Nota
O modelo de exemplo a seguir é para um aplicativo .NET 8 (LTS) em execução no Windows. Ele utiliza os marcadores de posição my-monitored-web-app para o nome da aplicação e aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e para o ID de subscrição.
Não recomendamos copiá-lo e usá-lo diretamente. Em vez disso, gere seu próprio modelo com base nas instruções acima.
Expandir para ver 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 subjacentes do aplicativo devem ser alteradas. O exemplo a seguir habilita o monitoramento de aplicativos para um site chamado my-monitored-web-app no grupo my-resource-groupde recursos . Ele configura os dados a serem enviados para a InstrumentationKey=012345678-abcd-ef01-2345-6789abcd cadeia de conexão.
Nota
Recomendamos que utilize o módulo Azure Az do 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, veja Migrar o Azure PowerShell do AzureRM para o Az.
Nota
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
Resolução de Problemas
Consulte o artigo dedicado à resolução de problemas.
Próximos passos
- Consulte as perguntas frequentes (FAQ): Monitoramento no Serviço de Aplicativo do Azure para aplicativos .NET, Node.js, Python e Java.
- Habilite o .NET Profiler para aplicativos do Serviço de Aplicativo do Azure em seu aplicativo ao vivo.
- Ativar os diagnósticos do Azure para serem enviados para o Application Insights.
- Monitorizar as métricas de saúde do serviço para se certificar de que o serviço está disponível e responsivo.
- Receber notificações de alertas sempre que ocorrem eventos operacionais ou quando as métricas ultrapassam um determinado limiar.
- Configure testes de disponibilidade para seu aplicativo.