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 di Azure Functions pada paket layanan Windows.
Kami menyarankan agar Anda menjalankan aplikasi di tingkat layanan Dasar atau yang lebih tinggi saat menggunakan Snapshot Debugger. Untuk sebagian besar aplikasi:
- Tingkat layanan Gratis dan Bersama tidak memiliki cukup memori atau ruang disk untuk menyimpan rekam jepret.
- Tingkat Konsumsi saat ini tidak tersedia untuk Snapshot Debugger.
Snapshot Debugger telah diinstal sebelumnya sebagai bagian dari runtime Azure Functions, sehingga Anda tidak perlu menambahkan paket NuGet atau pengaturan aplikasi tambahan.
Prasyarat
Aktifkan 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
}
}
}
}
Hasilkan lalu lintas ke aplikasi Anda yang dapat memicu pengecualian. Kemudian tunggu 10 hingga 15 menit agar rekam jepret dikirim ke instans Application Insights.
Anda dapat memverifikasi bahwa Snapshot Debugger telah diaktifkan dengan memeriksa file aplikasi fungsi .NET Anda. Misalnya, dalam aplikasi fungsi .NET sederhana berikut, .csproj
, {Your}Function.cs
, dan host.json
aplikasi .NET Anda menampilkan Snapshot Debugger sebagai diaktifkan:
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 yang dioperasikan oleh 21Vianet.
Contoh berikut menunjukkan yang diperbarui 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 titik akhir agen Snapshot Debugger yang didukung:
Properti | Cloud Pemerintah AS | Cloud Tiongkok |
---|---|---|
AgentEndpoint | https://snapshot.monitor.azure.us |
https://snapshot.monitor.azure.cn |
Menonaktifkan Snapshot Debugger
Untuk menonaktifkan Snapshot Debugger di aplikasi Functions Anda, perbarui file Anda host.json
dengan mengatur snapshotConfiguration.isEnabled
properti ke false
.
{
"version": "2.0",
"logging": {
"applicationInsights": {
"snapshotConfiguration": {
"isEnabled": false
}
}
}
}
Langkah berikutnya
- Lihat rekam jepret di portal Microsoft Azure.
- Sesuaikan konfigurasi Snapshot Debugger berdasarkan kasus penggunaan Anda di aplikasi Functions Anda. Untuk informasi selengkapnya, lihat Konfigurasi rekam jepret di host.json.
- Memecahkan masalah Snapshot Debugger.