Aktifkan Snapshot Debugger untuk aplikasi .NET dan .NET Core di Azure Functions
Snapshot Debugger saat ini berfungsi untuk aplikasi ASP.NET dan ASP.NET Core yang berjalan pada Azure Functions pada paket layanan Windows.
Kami menyarankan agar Anda menjalankan aplikasi Anda di tingkat layanan Dasar atau yang lebih tinggi saat Anda menggunakan Snapshot Debugger.
Untuk sebagian besar aplikasi, tingkat layanan Gratis dan Bersama tidak memiliki cukup memori atau ruang disk untuk menyimpan rekam jepret.
Prasyarat
Mengaktifkan pemantauan Application Insights di aplikasi Functions Anda
Aktifkan Snapshot Debugger
Untuk mengaktifkan Snapshot Debugger di aplikasi Functions Anda, tambahkan snapshotConfiguration
properti ke file host.json Anda dan sebarkan ulang fungsi Anda. Contohnya:
{
"version": "2.0",
"logging": {
"applicationInsights": {
"snapshotConfiguration": {
"isEnabled": true
}
}
}
}
Snapshot Debugger telah diinstal sebelumnya sebagai bagian dari runtime Azure Functions dan dinonaktifkan secara default. Karena disertakan dalam runtime, Anda tidak perlu menambahkan paket NuGet tambahan atau pengaturan aplikasi.
Dalam contoh aplikasi .NET Core Function sederhana yang mengikuti, , .csproj
{Your}Function.cs
, dan host.json
mengaktifkan Snapshot Debugger:
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
}
}
}
}
Mengaktifkan Snapshot Debugger untuk cloud lain
Saat ini, satu-satunya wilayah yang memerlukan modifikasi titik akhir adalah Azure Government dan Microsoft Azure dioperasikan oleh 21Vianet.
Contoh berikut menunjukkan pembaruan host.json
dengan titik akhir agen Cloud Pemerintah AS:
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingExcludedTypes": "Request",
"samplingSettings": {
"isEnabled": true
},
"snapshotConfiguration": {
"isEnabled": true,
"agentEndpoint": "https://snapshot.monitor.azure.us"
}
}
}
}
Berikut adalah penimpaan yang didukung dari titik akhir agen Snapshot Debugger:
Properti | Cloud Pemerintah AS | Cloud Tiongkok |
---|---|---|
AgentEndpoint | https://snapshot.monitor.azure.us |
https://snapshot.monitor.azure.cn |
Nonaktifkan Snapshot Debugger
Untuk menonaktifkan Snapshot Debugger di aplikasi Functions Anda, perbarui file Anda host.json
dengan mengatur properti ke snapshotConfiguration.isEnabled
false
.
{
"version": "2.0",
"logging": {
"applicationInsights": {
"snapshotConfiguration": {
"isEnabled": false
}
}
}
}
Sebaiknya Anda mengaktifkan Snapshot Debugger di semua aplikasi Anda untuk memudahkan diagnostik pengecualian aplikasi.
Langkah berikutnya
- Hasilkan lalu lintas ke aplikasi Anda yang dapat memicu pengecualian. Kemudian tunggu 10 hingga 15 menit agar rekam jepret dikirim ke instans Application Insights.
- Lihat rekam jepret di portal Microsoft Azure.
- Kustomisasi konfigurasi Snapshot Debugger berdasarkan kasus penggunaan Anda di aplikasi Functions Anda. Untuk informasi selengkapnya, lihat Konfigurasi rekam jepret di host.json.
- Untuk bantuan tentang pemecahan masalah Snapshot Debugger, lihat Pemecahan masalah Snapshot Debugger.