Habilitar o Depurador de Instantâneos para aplicativos .NET e .NET Core no Azure Functions
Depurador de Instantâneos atualmente trabalha para aplicativos ASP.NET e ASP.NET Core que estão em execução no Azure Functions nos planos de serviço Windows.
Recomendamos que você execute o aplicativo na camada de serviço Básica ou superior ao usar Depurador de Instantâneos. Para a maioria dos aplicativos:
- Para a maioria dos aplicativos, as camadas de serviço Gratuita e Compartilhada não têm memória ou espaço em disco suficiente para salvar instantâneos.
- No momento, a camada de Consumo não está disponível para o Depurador de Instantâneos.
O Depurador de Instantâneos é pré-instalado como parte do runtime do Azure Functions, portanto, você não precisa adicionar pacotes NuGet extras ou configurações de aplicativo.
Pré-requisito
Habilite o monitoramento de Application Insights no seu Aplicativo de funções.
Habilitar o Depurador de Instantâneos
Para habilitar o Depurador de Instantâneos em seu Aplicativo de funções, adicione a propriedade snapshotConfiguration
ao seu arquivo host.json e reimplante sua função. Por exemplo:
{
"version": "2.0",
"logging": {
"applicationInsights": {
"snapshotConfiguration": {
"isEnabled": true
}
}
}
}
Gere o tráfego para o aplicativo que pode disparar uma exceção. Depois espere de 10 a 15 minutos para que os instantâneos comecem a ser enviados à instância do Application Insights.
Você pode verificar se o Depurador de Instantâneos foi habilitado verificando os arquivos do aplicativo de funções do .NET. Por exemplo, no seguinte aplicativo de funções do .NET simples, o .csproj
, {Your}Function.cs
e host.json
do aplicativo .NET mostram o Depurador de Instantâneos como habilitado:
Project.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<AzureFunctionsVersion>v2</AzureFunctionsVersion>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.31" />
</ItemGroup>
<ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</None>
</ItemGroup>
</Project>
{Your}Function.cs
using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
namespace SnapshotCollectorAzureFunction
{
public static class ExceptionFunction
{
[FunctionName("ExceptionFunction")]
public static Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Function, "get", Route = null)] HttpRequest req,
ILogger log)
{
log.LogInformation("C# HTTP trigger function processed a request.");
throw new NotImplementedException("Dummy");
}
}
}
Host.json
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingExcludedTypes": "Request",
"samplingSettings": {
"isEnabled": true
},
"snapshotConfiguration": {
"isEnabled": true
}
}
}
}
Habilitar o Depurador de Instantâneos para outras nuvens
Atualmente, as únicas regiões que exigem modificações do ponto de extremidade são o Azure Governamental e o Microsoft Azure operado pela 21Vianet.
O seguinte exemplo mostra uma atualização host.json
com o ponto de extremidade do Agente de nuvem do Governo dos EUA:
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingExcludedTypes": "Request",
"samplingSettings": {
"isEnabled": true
},
"snapshotConfiguration": {
"isEnabled": true,
"agentEndpoint": "https://snapshot.monitor.azure.us"
}
}
}
}
Aqui estão as substituições com suporte do ponto de extremidade do agente Depurador de Instantâneos:
Propriedade | Nuvem do governo dos EUA | Nuvem da China |
---|---|---|
AgentEndpoint | https://snapshot.monitor.azure.us |
https://snapshot.monitor.azure.cn |
Desabilitar o Depurador de Instantâneos
Para desabilitar o Depurador de Instantâneos em seu Aplicativo de funções, atualize seu arquivo host.json
definindo a propriedade snapshotConfiguration.isEnabled
para false
.
{
"version": "2.0",
"logging": {
"applicationInsights": {
"snapshotConfiguration": {
"isEnabled": false
}
}
}
}
Próximas etapas
- Exiba instantâneos no portal do Azure.
- Personalize a configuração de Depurador de Instantâneos baseada no seu caso de uso em seu Aplicativo de funções. Para obter mais informações, consulte Configuração de instantâneo no host.json.
- Solucione problemas do Depurador de Instantâneos.