Azure İşlevleri'da .NET ve .NET Core uygulamaları için Snapshot Debugger'ı etkinleştirme
Snapshot Debugger şu anda Windows hizmet planlarında Azure İşlevleri üzerinde çalışan ASP.NET ve ASP.NET Core uygulamaları için çalışmaktadır.
Snapshot Debugger kullanırken uygulamanızı Temel hizmet katmanında veya daha üst bir katmanda çalıştırmanızı öneririz.
Çoğu uygulama için Ücretsiz ve Paylaşılan hizmet katmanlarında anlık görüntüleri kaydetmek için yeterli bellek veya disk alanı yoktur.
Önkoşul
İşlevler uygulamanızda Application Insights izlemeyi etkinleştirme
Anlık Görüntü Hata Ayıklayıcısını Etkinleştirme
İşlevler uygulamanızda Snapshot Debugger'ı etkinleştirmek için özelliğini host.json dosyanıza ekleyin snapshotConfiguration
ve işlevinizi yeniden dağıtın. Örnek:
{
"version": "2.0",
"logging": {
"applicationInsights": {
"snapshotConfiguration": {
"isEnabled": true
}
}
}
}
Snapshot Debugger, Azure İşlevleri çalışma zamanının bir parçası olarak önceden yüklenmiştir ve varsayılan olarak devre dışıdır. Çalışma zamanına dahil olduğundan ek NuGet paketleri veya uygulama ayarları eklemeniz gerekmez.
Aşağıdaki basit .NET Core İşlevi uygulaması örneğinde, .csproj
, {Your}Function.cs
ve host.json
Snapshot Debugger'ın etkinleştirilmesini sağlayın:
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
}
}
}
}
Diğer bulutlar için Snapshot Debugger'i etkinleştirme
Şu anda uç nokta değişiklikleri gerektiren tek bölgeler Azure Kamu ve 21Vianet tarafından sağlanan Microsoft Azure'dır.
Aşağıdaki örnekte, ABD Kamu Bulutu aracı uç noktasıyla güncelleştirilmiş durum gösterilmektedir host.json
:
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingExcludedTypes": "Request",
"samplingSettings": {
"isEnabled": true
},
"snapshotConfiguration": {
"isEnabled": true,
"agentEndpoint": "https://snapshot.monitor.azure.us"
}
}
}
}
Snapshot Debugger aracı uç noktasının desteklenen geçersiz kılmaları şunlardır:
Özellik | ABD Kamu Bulutu | Çin Bulutu |
---|---|---|
AgentEndpoint | https://snapshot.monitor.azure.us |
https://snapshot.monitor.azure.cn |
Snapshot Debugger'ı devre dışı bırakma
İşlevler uygulamanızda Snapshot Debugger'ı devre dışı bırakmak için özelliğini false
olarak ayarlayarak dosyanızı host.json
güncelleştirinsnapshotConfiguration.isEnabled
.
{
"version": "2.0",
"logging": {
"applicationInsights": {
"snapshotConfiguration": {
"isEnabled": false
}
}
}
}
Uygulama özel durumlarının tanılamasını kolaylaştırmak için tüm uygulamalarınızda Snapshot Debugger'ı etkinleştirmenizi öneririz.
Sonraki adımlar
- Uygulamanıza özel durum tetikleyebilecek trafik oluşturun. Ardından anlık görüntülerin Application Insights örneğine gönderilmesi için 10-15 dakika bekleyin.
- Azure portal anlık görüntüleri görüntüleyin.
- İşlevler uygulamanızdaki kullanım örneğine göre Snapshot Debugger yapılandırmasını özelleştirin. Daha fazla bilgi için bkz . Host.json dosyasında anlık görüntü yapılandırması.
- Snapshot Debugger sorunlarını giderme konusunda yardım için bkz. Snapshot Debugger sorunlarını giderme.