Szczegółowe informacje aplikacji dla aplikacji ASP.NET Core
W tym artykule opisano sposób włączania Szczegółowe informacje aplikacji dla aplikacji ASP.NET Core.
Usługa Application Szczegółowe informacje może zbierać następujące dane telemetryczne z aplikacji ASP.NET Core:
- Żądania
- Zależności
- Wyjątki
- Liczniki wydajności
- Bicie serca
- Dzienniki
Użyjemy przykładu aplikacji MVC przeznaczonego dla elementu .netcoreapp3.0
Te instrukcje można zastosować do wszystkich aplikacji ASP.NET Core. Jeśli używasz usługi Procesu roboczego, skorzystaj z instrukcji podanych tutaj.
Uwaga
Dostępna jest wersja zapoznawcza oferty platformy .NET opartej na technologii OpenTelemetry . Dowiedz się więcej.
Uwaga
31 marca 2025 r. zostanie zakończone świadczenie pomocy technicznej dla pozyskiwania klucza instrumentacji. Pozyskiwanie klucza instrumentacji będzie nadal działać, ale nie będziemy już zapewniać aktualizacji ani obsługi funkcji. Przejście do parametrów połączenia w celu skorzystania z nowych możliwości.
Obsługiwane scenariusze
Zestaw SDK usługi Application Szczegółowe informacje dla ASP.NET Core może monitorować aplikacje niezależnie od tego, gdzie i jak działają. Jeśli aplikacja jest uruchomiona i ma łączność sieciową z platformą Azure, można zbierać dane telemetryczne. Monitorowanie Szczegółowe informacje aplikacji jest obsługiwane wszędzie, gdzie jest obsługiwany program .NET Core. Pomoc techniczna obejmuje następujące scenariusze:
- System operacyjny: Windows, Linux lub Mac
- Metoda hostingu: w procesie lub poza procesem
- Metoda wdrażania: zależna od struktury lub samodzielna
- Serwer sieci Web: IIS (Internet Information Server) lub Kestrel
- Platforma hostingu: funkcja Web Apps Azure App Service, maszyny wirtualnej platformy Azure, platformy Docker, Azure Kubernetes Service (AKS) itd.
- Wersja platformy .NET Core: wszystkie oficjalnie obsługiwane wersje platformy .NET Core , które nie są dostępne w wersji zapoznawczej
- IDE: Visual Studio, Visual Studio Code lub wiersz polecenia
Uwaga
ASP.NET Core 3.1 wymaga aplikacji Szczegółowe informacje 2.8.0 lub nowszej.
Wymagania wstępne
- Działająca aplikacja ASP.NET Core. Jeśli musisz utworzyć aplikację ASP.NET Core, wykonaj czynności opisane w tym samouczku ASP.NET Core.
- Prawidłowe parametry połączenia aplikacji Szczegółowe informacje. Ten ciąg jest wymagany do wysyłania wszystkich danych telemetrycznych do Szczegółowe informacje aplikacji. Jeśli musisz utworzyć nowy zasób usługi Application Szczegółowe informacje, aby uzyskać parametry połączenia, zobacz Tworzenie zasobu Szczegółowe informacje aplikacji.
Włączanie telemetrii po stronie serwera Szczegółowe informacje aplikacji (Visual Studio)
Aby uzyskać Visual Studio dla komputerów Mac, skorzystaj z wskazówek ręcznych. Ta procedura obsługuje tylko Windows wersji Visual Studio.
Otwórz projekt w programie Visual Studio.
Porada
Aby śledzić wszystkie zmiany wprowadzone przez aplikację Szczegółowe informacje, możesz skonfigurować kontrolę źródła dla projektu. Aby ją skonfigurować, wybierz pozycję Plik>Dodaj do kontroli źródła.
Wybierz pozycję Project>Dodaj telemetrię Szczegółowe informacje aplikacji.
Wybierz pozycję Wprowadzenie. W zależności od wersji Visual Studio nazwa tego przycisku może się różnić. W niektórych wcześniejszych wersjach nosi nazwę przycisku Rozpocznij bezpłatnie .
Wybierz swoją subskrypcję, a następnie wybierz pozycjęRejestrowaniezasobów>.
Po dodaniu Szczegółowe informacje aplikacji do projektu sprawdź, czy używasz najnowszej stabilnej wersji zestawu SDK. Przejdź do pozycji Project>Zarządzanie pakietami> NuGetMicrosoft.ApplicationInsights.AspNetCore. Jeśli chcesz, wybierz pozycję Aktualizuj.
Jeśli projekt został dodany do kontroli źródła, przejdź do pozycji Wyświetl>zmianyw programie Team Explorer>. Możesz wybrać każdy plik, aby wyświetlić widok różnic zmian wprowadzonych przez telemetrię Szczegółowe informacje aplikacji.
Włączanie telemetrii po stronie serwera Szczegółowe informacje aplikacji (bez Visual Studio)
Zainstaluj pakiet NuGet zestawu SDK Szczegółowe informacje aplikacji dla ASP.NET Core. Zalecamy, aby zawsze używać najnowszej stabilnej wersji. Znajdź pełne informacje o wersji zestawu SDK w repozytorium GitHub open source.
Poniższy przykładowy kod przedstawia zmiany, które mają zostać dodane do pliku projektu
.csproj
.<ItemGroup> <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.16.0" /> </ItemGroup>
Dodaj
services.AddApplicationInsightsTelemetry();
doConfigureServices()
metody wStartup
klasie, jak w tym przykładzie:// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { // The following line enables Application Insights telemetry collection. services.AddApplicationInsightsTelemetry(); // This code adds other services for your application. services.AddMvc(); }
Skonfiguruj parametry połączenia.
Mimo że parametry połączenia można podać jako część argumentu
ApplicationInsightsServiceOptions
addApplicationInsightsTelemetry, zalecamy określenie parametrów połączenia w konfiguracji. Poniższy przykładowy kod pokazuje, jak określić parametry połączenia w plikuappsettings.json
. Podczas publikowania upewnij się, żeappsettings.json
plik został skopiowany do folderu głównego aplikacji.{ "ApplicationInsights": { "ConnectionString" : "Copy connection string from Application Insights Resource Overview" }, "Logging": { "LogLevel": { "Default": "Warning" } } }
Alternatywnie określ parametry połączenia w zmiennej środowiskowej "APPLICATIONINSIGHTS_CONNECTION_STRING" lub "ApplicationInsights:ConnectionString" w pliku konfiguracji JSON.
Przykład:
SET ApplicationInsights:ConnectionString = <Copy connection string from Application Insights Resource Overview>
SET APPLICATIONINSIGHTS_CONNECTION_STRING = <Copy connection string from Application Insights Resource Overview>
Zazwyczaj jest używany w usłudze
APPLICATIONINSIGHTS_CONNECTION_STRING
Azure Web Apps, ale może być również używany we wszystkich miejscach, w których ten zestaw SDK jest obsługiwany.
Uwaga
Parametry połączenia określone w kodzie wygrywają przez zmienną środowiskową
APPLICATIONINSIGHTS_CONNECTION_STRING
, która wygrywa z innymi opcjami.
Wpisy tajne użytkownika i inni dostawcy konfiguracji
Jeśli chcesz przechowywać parametry połączenia w ASP.NET Core wpisach tajnych użytkownika lub pobrać je z innego dostawcy konfiguracji, możesz użyć przeciążenia z parametrem Microsoft.Extensions.Configuration.IConfiguration
. Na przykład services.AddApplicationInsightsTelemetry(Configuration);
.
W programie Microsoft.ApplicationInsights.AspNetCore w wersji 2.15.0 lub nowszej wywołanie services.AddApplicationInsightsTelemetry()
automatycznie odczytuje parametry połączenia z Microsoft.Extensions.Configuration.IConfiguration
aplikacji. Nie ma potrzeby jawnego podawania .IConfiguration
Jeśli IConfiguration
konfiguracja została załadowana od wielu dostawców, services.AddApplicationInsightsTelemetry
określa priorytety konfiguracji od appsettings.json
, niezależnie od kolejności dodawania dostawców. services.AddApplicationInsightsTelemetry(IConfiguration)
Użyj metody , aby odczytać konfigurację z interfejsu IConfiguration bez preferencyjnego traktowania elementu appsettings.json
.
Uruchamianie aplikacji
Uruchom aplikację i wysyłaj do niej żądania. Dane telemetryczne powinny teraz przepływać do Szczegółowe informacje aplikacji. Zestaw SDK usługi Application Szczegółowe informacje automatycznie zbiera przychodzące żądania internetowe do aplikacji wraz z następującymi danymi telemetrycznymi.
Metryki na żywo
Metryki na żywo mogą służyć do szybkiego sprawdzania, czy monitorowanie aplikacji Szczegółowe informacje jest poprawnie skonfigurowane. Wyświetlenie danych telemetrycznych w portalu i analizie może potrwać kilka minut, ale metryki na żywo pokazują użycie procesora CPU uruchomionego procesu niemal w czasie rzeczywistym. Może również wyświetlać inne dane telemetryczne, takie jak Żądania, Zależności i Ślady.
Dzienniki ILogger
Domyślna konfiguracja zbiera ILogger
Warning
dzienniki i poważniejsze dzienniki. Zapoznaj się z często zadawanymi pytaniami, aby dostosować tę konfigurację.
Zależności
Kolekcja zależności jest domyślnie włączona. W tym artykule wyjaśniono zależności, które są zbierane automatycznie, a także kroki umożliwiające ręczne śledzenie.
Liczniki wydajności
Obsługa liczników wydajności w ASP.NET Core jest ograniczona:
- Zestaw SDK w wersji 2.4.1 lub nowszej zbiera liczniki wydajności, jeśli aplikacja jest uruchomiona w usłudze Azure Web Apps (Windows).
- Zestaw SDK w wersji 2.7.1 lub nowszej zbiera liczniki wydajności, jeśli aplikacja jest uruchomiona w Windows i celach
NETSTANDARD2.0
lub nowszych. - W przypadku aplikacji przeznaczonych dla .NET Framework wszystkie wersje zestawu SDK obsługują liczniki wydajności.
- Zestaw SDK w wersji 2.8.0 lub nowszej obsługuje licznik procesora CPU/pamięci w systemie Linux. Żaden inny licznik nie jest obsługiwany w systemie Linux. Zalecanym sposobem uzyskiwania liczników systemowych w systemie Linux (i innych środowiskach innych niż Windows) jest użycie usługi EventCounters.
EventCounter
Domyślnie EventCounterCollectionModule
jest włączona. Aby dowiedzieć się, jak skonfigurować listę liczników do zbierania, zobacz Wprowadzenie do usługi EventCounters.
Wzbogacanie danych za pośrednictwem protokołu HTTP
HttpContext.Features.Get<RequestTelemetry>().Properties["myProp"] = someData
Włączanie telemetrii po stronie klienta dla aplikacji internetowych
Powyższe kroki są wystarczające, aby ułatwić rozpoczęcie zbierania danych telemetrycznych po stronie serwera. Jeśli aplikacja ma składniki po stronie klienta, wykonaj następne kroki, aby rozpocząć zbieranie danych telemetrycznych użycia.
- W
_ViewImports.cshtml
pliku dodaj iniekcję:
@inject Microsoft.ApplicationInsights.AspNetCore.JavaScriptSnippet JavaScriptSnippet
- W
_Layout.cshtml
pliku wstawHtmlHelper
na końcu<head>
sekcji, ale przed innym skryptem. Jeśli chcesz zgłosić dowolną niestandardową telemetrię języka JavaScript ze strony, wstrzyknąć ją po tym fragmencie kodu:
@Html.Raw(JavaScriptSnippet.FullScript)
</head>
Alternatywą dla korzystania z programu FullScript
ScriptBody
jest dostępny zestaw SDK usługi Application Szczegółowe informacje dla ASP.NET Core w wersji 2.14. Użyj polecenia ScriptBody
, jeśli musisz kontrolować tag, <script>
aby ustawić zasady zabezpieczeń zawartości:
<script> // apply custom changes to this script tag.
@Html.Raw(JavaScriptSnippet.ScriptBody)
</script>
Nazwy .cshtml
plików, do których odwołuje się wcześniej, pochodzą z domyślnego szablonu aplikacji MVC. Ostatecznie jeśli chcesz prawidłowo włączyć monitorowanie po stronie klienta dla aplikacji, fragment kodu JavaScript musi pojawić się w <head>
sekcji każdej strony aplikacji, którą chcesz monitorować. Dodaj fragment kodu JavaScript do _Layout.cshtml
elementu w szablonie aplikacji, aby włączyć monitorowanie po stronie klienta.
Jeśli projekt nie zawiera _Layout.cshtml
elementu , nadal możesz dodać monitorowanie po stronie klienta , dodając fragment kodu JavaScript do równoważnego pliku, który kontroluje <head>
wszystkie strony w aplikacji. Alternatywnie możesz dodać fragment kodu do wielu stron, ale nie zalecamy tego.
Uwaga
Iniekcja języka JavaScript zapewnia domyślne środowisko konfiguracji. Jeśli potrzebujesz konfiguracji poza ustawieniem parametrów połączenia, musisz usunąć automatyczne wstrzykiwanie zgodnie z powyższym opisem i ręcznie dodać zestaw SDK języka JavaScript.
Konfigurowanie zestawu SDK Szczegółowe informacje aplikacji
Możesz dostosować zestaw SDK Szczegółowe informacje aplikacji dla ASP.NET Core, aby zmienić konfigurację domyślną. Użytkownicy zestawu SDK Szczegółowe informacje ASP.NET aplikacji mogą być zaznajomieni ze zmianą konfiguracji przy użyciu lub ApplicationInsights.config
przez zmodyfikowanie elementu TelemetryConfiguration.Active
. W przypadku ASP.NET Core wprowadź prawie wszystkie zmiany konfiguracji w ConfigureServices()
metodzie Startup.cs
klasy, chyba że zostanie skierowana inaczej. Poniższe sekcje zawierają więcej informacji.
Uwaga
W aplikacjach ASP.NET Core zmiana konfiguracji przez modyfikowanie TelemetryConfiguration.Active
nie jest obsługiwana.
Korzystanie z usługi ApplicationInsightsServiceOptions
Możesz zmodyfikować kilka typowych ustawień, przekazując ApplicationInsightsServiceOptions
do AddApplicationInsightsTelemetry
elementu , jak w tym przykładzie:
public void ConfigureServices(IServiceCollection services)
{
Microsoft.ApplicationInsights.AspNetCore.Extensions.ApplicationInsightsServiceOptions aiOptions
= new Microsoft.ApplicationInsights.AspNetCore.Extensions.ApplicationInsightsServiceOptions();
// Disables adaptive sampling.
aiOptions.EnableAdaptiveSampling = false;
// Disables QuickPulse (Live Metrics stream).
aiOptions.EnableQuickPulseMetricStream = false;
services.AddApplicationInsightsTelemetry(aiOptions);
}
Ta tabela zawiera pełną listę ApplicationInsightsServiceOptions
ustawień:
Ustawienie | Opis | Domyślny |
---|---|---|
EnablePerformanceCounterCollectionModule | Włączanie/wyłączanie PerformanceCounterCollectionModule |
true |
EnableRequestTrackingTelemetryModule | Włączanie/wyłączanie RequestTrackingTelemetryModule |
true |
EnableEventCounterCollectionModule | Włączanie/wyłączanie EventCounterCollectionModule |
true |
EnableDependencyTrackingTelemetryModule | Włączanie/wyłączanie DependencyTrackingTelemetryModule |
true |
EnableAppServicesHeartbeatTelemetryModule | Włączanie/wyłączanie AppServicesHeartbeatTelemetryModule |
true |
EnableAzureInstanceMetadataTelemetryModule | Włączanie/wyłączanie AzureInstanceMetadataTelemetryModule |
true |
EnableQuickPulseMetricStream | Włączanie/wyłączanie funkcji LiveMetrics | true |
EnableAdaptiveSampling | Włączanie/wyłączanie próbkowania adaptacyjnego | true |
WłączHeartbeat | Włącz/wyłącz funkcję pulsów, która okresowo (15-minutowa wartość domyślna) wysyła niestandardową metrykę o nazwie "HeartbeatState" z informacjami o środowisku uruchomieniowym, takimi jak wersja platformy .NET, informacje o środowisku platformy Azure, jeśli ma to zastosowanie itp. | true |
AddAutoCollectedMetricExtractor | Włącz/wyłącz wyodrębnianie autokolektowanych metryk, czyli moduł telemetryczny, który wysyła wstępnie zagregowane metryki dotyczące żądań/zależności przed rozpoczęciem próbkowania. | true |
RequestCollectionOptions.TrackExceptions | Włącz/wyłącz raportowanie nieobsługiwanego śledzenia wyjątków przez moduł Zbieranie żądań. | false w netSTANDARD2.0 (ponieważ wyjątki są śledzone za pomocą ApplicationInsightsLoggerProvider), prawda. |
EnableDiagnosticsTelemetryModule | Włącz/wyłącz DiagnosticsTelemetryModule . Wyłączenie spowoduje zignorowanie następujących ustawień; EnableHeartbeat , EnableAzureInstanceMetadataTelemetryModule , EnableAppServicesHeartbeatTelemetryModule |
true |
Aby uzyskać najnowszą listę, zobacz konfigurowalne ustawienia w programie ApplicationInsightsServiceOptions
.
Zalecenie dotyczące konfiguracji dla zestawu Microsoft.ApplicationInsights.AspNetCore SDK 2.15.0 lub nowszego
W zestawie MICROSOFT.ApplicationInsights.AspNetCore SDK w wersji 2.15.0 lub nowszej zalecamy skonfigurowanie każdego ustawienia dostępnego w ApplicationInsightsServiceOptions
programie , w tym ConnectionString przy użyciu wystąpienia aplikacji IConfiguration
. Ustawienia muszą znajdować się w sekcji "ApplicationInsights", jak pokazano w poniższym przykładzie. Poniższa sekcja z pliku appsettings.json konfiguruje parametry połączenia i wyłącza adaptacyjne próbkowanie i zbieranie liczników wydajności.
{
"ApplicationInsights": {
"ConnectionString": "Copy connection string from Application Insights Resource Overview",
"EnableAdaptiveSampling": false,
"EnablePerformanceCounterCollectionModule": false
}
}
Jeśli services.AddApplicationInsightsTelemetry(aiOptions)
jest używany, zastępuje ustawienia z Microsoft.Extensions.Configuration.IConfiguration
.
Próbkowanie
Zestaw SDK Szczegółowe informacje aplikacji dla ASP.NET Core obsługuje próbkowanie stałe i adaptacyjne. Domyślnie jest włączone próbkowanie adaptacyjne.
Aby uzyskać więcej informacji, zobacz Konfigurowanie próbkowania adaptacyjnego dla aplikacji ASP.NET Core.
Dodawanie telemetriiInitializers
Jeśli chcesz wzbogacić dane telemetryczne dodatkowymi informacjami, użyj inicjatorów telemetrii.
Dodaj dowolną nową do TelemetryInitializer
kontenera DependencyInjection
, jak pokazano w poniższym kodzie. Zestaw SDK automatycznie pobiera wszystkie TelemetryInitializer
dodane do kontenera DependencyInjection
.
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<ITelemetryInitializer, MyCustomTelemetryInitializer>();
}
Uwaga
services.AddSingleton<ITelemetryInitializer, MyCustomTelemetryInitializer>();
działa w przypadku prostych inicjatorów. W przypadku innych użytkowników wymagane są następujące elementy: services.AddSingleton(new MyCustomTelemetryInitializer() { fieldName = "myfieldName" });
Usuwanie telemetriiInitializers
Domyślnie inicjatory telemetrii są obecne. Aby usunąć wszystkie lub określone inicjatory telemetrii, użyj następującego przykładowego kodu po wywołaniu metody AddApplicationInsightsTelemetry()
.
public void ConfigureServices(IServiceCollection services)
{
services.AddApplicationInsightsTelemetry();
// Remove a specific built-in telemetry initializer
var tiToRemove = services.FirstOrDefault<ServiceDescriptor>
(t => t.ImplementationType == typeof(AspNetCoreEnvironmentTelemetryInitializer));
if (tiToRemove != null)
{
services.Remove(tiToRemove);
}
// Remove all initializers
// This requires importing namespace by using Microsoft.Extensions.DependencyInjection.Extensions;
services.RemoveAll(typeof(ITelemetryInitializer));
}
Dodawanie procesorów telemetrii
Niestandardowe procesory telemetryczne można dodać do TelemetryConfiguration
programu przy użyciu metody AddApplicationInsightsTelemetryProcessor
rozszerzenia w systemie IServiceCollection
. Procesory telemetryczne są używane w zaawansowanych scenariuszach filtrowania. Użyj poniższego przykładu.
public void ConfigureServices(IServiceCollection services)
{
// ...
services.AddApplicationInsightsTelemetry();
services.AddApplicationInsightsTelemetryProcessor<MyFirstCustomTelemetryProcessor>();
// If you have more processors:
services.AddApplicationInsightsTelemetryProcessor<MySecondCustomTelemetryProcessor>();
}
Konfigurowanie lub usuwanie domyślnych modułów telemetrycznych
Aplikacja Szczegółowe informacje automatycznie zbiera dane telemetryczne dotyczące określonych obciążeń bez konieczności ręcznego śledzenia przez użytkownika.
Domyślnie są włączone następujące moduły automatycznej kolekcji. Te moduły są odpowiedzialne za automatyczne zbieranie danych telemetrycznych. Można je wyłączyć lub skonfigurować w celu zmiany ich domyślnego zachowania.
RequestTrackingTelemetryModule
— Zbiera dane RequestTelemetry z przychodzących żądań internetowychDependencyTrackingTelemetryModule
— Zbiera zależnościTelemetrię z wychodzących wywołań HTTP i wywołań SQLPerformanceCollectorModule
— Zbiera Windows performanceCountersQuickPulseTelemetryModule
— Zbiera dane telemetryczne do wyświetlania w portalu metryk na żywoAppServicesHeartbeatTelemetryModule
— Zbiera bity serca (które są wysyłane jako metryki niestandardowe), informacje o środowisku Azure App Service, w którym jest hostowana aplikacjaAzureInstanceMetadataTelemetryModule
— Zbiera bity serca (które są wysyłane jako metryki niestandardowe), o środowisku maszyny wirtualnej platformy Azure, w którym jest hostowana aplikacjaEventCounterCollectionModule
- Zbiera eventcounters; Ten moduł jest nową funkcją i jest dostępny w zestawie SDK w wersji 2.8.0 lub nowszej
Aby skonfigurować dowolną domyślną metodę TelemetryModule
, użyj metody ConfigureTelemetryModule<T>
rozszerzenia w systemie IServiceCollection
, jak pokazano w poniższym przykładzie.
using Microsoft.ApplicationInsights.DependencyCollector;
using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector;
public void ConfigureServices(IServiceCollection services)
{
services.AddApplicationInsightsTelemetry();
// The following configures DependencyTrackingTelemetryModule.
// Similarly, any other default modules can be configured.
services.ConfigureTelemetryModule<DependencyTrackingTelemetryModule>((module, o) =>
{
module.EnableW3CHeadersInjection = true;
});
// The following removes all default counters from EventCounterCollectionModule, and adds a single one.
services.ConfigureTelemetryModule<EventCounterCollectionModule>(
(module, o) =>
{
module.Counters.Add(new EventCounterCollectionRequest("System.Runtime", "gen-0-size"));
}
);
// The following removes PerformanceCollectorModule to disable perf-counter collection.
// Similarly, any other default modules can be removed.
var performanceCounterService = services.FirstOrDefault<ServiceDescriptor>(t => t.ImplementationType == typeof(PerformanceCollectorModule));
if (performanceCounterService != null)
{
services.Remove(performanceCounterService);
}
}
W wersjach 2.12.2 lub nowszych ApplicationInsightsServiceOptions
dostępna jest łatwa opcja wyłączania dowolnych modułów domyślnych.
Konfigurowanie kanału telemetrii
Domyślnym kanałem telemetrii jest ServerTelemetryChannel
. W poniższym przykładzie pokazano, jak go zastąpić.
using Microsoft.ApplicationInsights.Channel;
public void ConfigureServices(IServiceCollection services)
{
// Use the following to replace the default channel with InMemoryChannel.
// This can also be applied to ServerTelemetryChannel.
services.AddSingleton(typeof(ITelemetryChannel), new InMemoryChannel() {MaxTelemetryBufferCapacity = 19898 });
services.AddApplicationInsightsTelemetry();
}
Uwaga
Zobacz Opróżnianie danych , jeśli chcesz opróżnić bufor — na przykład jeśli używasz zestawu SDK w aplikacji, która zostanie zamknięta.
Dynamiczne wyłączanie telemetrii
Jeśli chcesz wyłączyć telemetrię warunkowo i dynamicznie, możesz rozpoznać TelemetryConfiguration
wystąpienie za pomocą kontenera iniekcji zależności ASP.NET Core w dowolnym miejscu w kodzie i ustawić na nim flagęDisableTelemetry
.
public void ConfigureServices(IServiceCollection services)
{
services.AddApplicationInsightsTelemetry();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, TelemetryConfiguration configuration)
{
configuration.DisableTelemetry = true;
...
}
Poprzedni przykładowy kod uniemożliwia wysyłanie danych telemetrycznych do usługi Application Szczegółowe informacje. Nie uniemożliwia ona zbierania danych telemetrycznych przez żadne moduły kolekcji automatycznej. Jeśli chcesz usunąć określony moduł automatycznego zbierania danych, zobacz usuwanie modułu telemetrii.
Zestaw SDK typu open source
Najnowsze aktualizacje i poprawki błędów można znaleźć w informacjach o wersji.
Następne kroki
- Zapoznaj się z przepływami użytkowników , aby dowiedzieć się, jak użytkownicy przechodzą przez aplikację.
- Skonfiguruj kolekcję migawek , aby zobaczyć stan kodu źródłowego i zmiennych w momencie zgłoszenia wyjątku.
- Użyj interfejsu API , aby wysłać własne zdarzenia i metryki, aby uzyskać szczegółowy widok wydajności i użycia aplikacji.
- Użyj testów dostępności , aby stale sprawdzać aplikację z całego świata.
- Wstrzykiwanie zależności na platformie ASP.NET Core