Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Snapshot Debugger può essere attualmente usato per app ASP.NET e ASP.NET Core in esecuzione in Funzioni di Azure nei piani di servizio Windows.
Quando si usa Snapshot Debugger, è consigliabile eseguire l'applicazione nei livelli di servizio Basic o superiore. Per la maggior parte delle applicazioni:
- I livelli di servizio Gratuito e Condiviso non dispongono di memoria o spazio su disco sufficiente per il salvataggio degli snapshot.
- Il livello A consumo non è attualmente disponibile per Snapshot Debugger.
Snapshot Debugger è preinstallato come parte del runtime di Funzioni di Azure, quindi non è necessario aggiungere altri pacchetti NuGet o impostazioni dell'applicazione.
Prerequisito
Abilitare il monitoraggio di Application Insights nell'app per le funzioni.
Abilitare Snapshot Debugger
Per abilitare Snapshot Debugger nell'app per le funzioni, aggiungere la proprietà snapshotConfiguration al file host.json e ridistribuire la funzione. Ad esempio:
{
"version": "2.0",
"logging": {
"applicationInsights": {
"snapshotConfiguration": {
"isEnabled": true
}
}
}
}
Genera traffico verso la tua applicazione che possa attivare un'eccezione. Attendere quindi 10-15 minuti perché gli snapshot inizino ad essere inviati all'istanza di Application Insights.
È possibile verificare che Snapshot Debugger sia stato abilitato controllando i file dell'app per le funzioni .NET. Ad esempio, nella seguente semplice applicazione di funzionalità .NET, i componenti .csproj, {Your}Function.cs e host.json della vostra applicazione .NET indicano che Snapshot Debugger è abilitato.
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
}
}
}
}
Abilitare Snapshot Debugger per altri cloud
Attualmente, le uniche aree che richiedono la modifica degli endpoint sono Azure per enti pubblici e Microsoft Azure gestito da 21Vianet.
L'esempio seguente illustra l'aggiornamento di host.json con l'endpoint dell'agente cloud del governo degli Stati Uniti:
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingExcludedTypes": "Request",
"samplingSettings": {
"isEnabled": true
},
"snapshotConfiguration": {
"isEnabled": true,
"agentEndpoint": "https://snapshot.monitor.azure.us"
}
}
}
}
Le sostituzioni supportate dell'endpoint dell'agente di Snapshot Debugger sono le seguenti:
| Proprietà | Cloud del governo USA | Cloud per la Cina |
|---|---|---|
agentEndpoint |
https://snapshot.monitor.azure.us |
https://snapshot.monitor.azure.cn |
Disabilitare Snapshot Debugger
Per disabilitare Snapshot Debugger nell'app per le funzioni, aggiornare il file host.json impostando la snapshotConfiguration.isEnabled proprietà su false.
{
"version": "2.0",
"logging": {
"applicationInsights": {
"snapshotConfiguration": {
"isEnabled": false
}
}
}
}
Passaggi successivi
- Visualizzare gli snapshot nel portale di Azure.
- Personalizzare le configurazioni di Snapshot Debugger in base al caso d'uso sulla tua applicazione Functions. Per altre informazioni, vedere Configurazione degli snapshot in host.json.
- Risolvere i problemi relativi a Snapshot Debugger.