Live Metrics: Bewaken en diagnosticeren met latentie van 1 seconde

Bewaak uw live webtoepassing in productie met behulp van Live Metrics (ook wel QuickPulse genoemd) vanuit Application Insights. U kunt metrische gegevens en prestatiemeteritems selecteren en filteren om in realtime te bekijken, zonder dat uw service wordt verstoord. U kunt ook stacktraceringen van mislukte aanvragen en uitzonderingen controleren. Samen met Profiler en Snapshot Debugger biedt Live Metrics een krachtig en niet-invasief diagnostisch hulpprogramma voor uw livewebsite.

Notitie

Live Metrics ondersteunt alleen TLS 1.2. Zie Probleemoplossing voor meer informatie .

Met Live Metrics kunt u het volgende doen:

  • Valideer een oplossing terwijl deze wordt uitgebracht door het aantal prestaties en fouten te bekijken.
  • Bekijk het effect van testbelastingen en diagnoseproblemen live.
  • Richt u op bepaalde testsessies of filter bekende problemen door de metrische gegevens te selecteren en te filteren die u wilt bekijken.
  • Haal uitzonderingstraceringen op zodra ze plaatsvinden.
  • Experimenteer met filters om de meest relevante KPI's te vinden.
  • Bewaak alle Windows-prestatiemeteritems live.
  • Identificeer eenvoudig een server die problemen ondervindt en filter alle KPI/live-feed naar alleen die server.

Screenshot that shows the Live Metrics tab.

Live Metrics wordt momenteel ondersteund voor apps ASP.NET, ASP.NET Core, Azure Functions, Java en Node.js.

Notitie

Het aantal bewaakte serverexemplaren dat door Live Metrics wordt weergegeven, is mogelijk lager dan het werkelijke aantal exemplaren dat is toegewezen voor de toepassing. Dit komt niet overeen omdat veel moderne webservers toepassingen die gedurende een bepaalde periode geen aanvragen ontvangen, worden verwijderd om resources te besparen. Omdat Live Metrics alleen servers telt waarop de toepassing momenteel wordt uitgevoerd, worden servers die het proces al hebben verwijderd, niet opgenomen in dat totaal.

Aan de slag

Belangrijk

Als u Application Insights wilt inschakelen, moet u ervoor zorgen dat deze is geactiveerd in Azure Portal en dat uw app een recente versie van het Application Insights NuGet-pakket gebruikt. Zonder het NuGet-pakket wordt sommige telemetrie verzonden naar Application Insights, maar die telemetrie wordt niet weergegeven in Live Metrics.

  1. Volg de taalspecifieke richtlijnen om Live Metrics in te schakelen:

  2. Open in Azure Portal de Application Insights-resource voor uw app. Open vervolgens Live Stream.

  3. Beveilig het besturingskanaal als u gevoelige gegevens zoals klantnamen in uw filters kunt gebruiken.

Notitie

Op 31 maart 2025 eindigt de ondersteuning voor opname van instrumentatiesleutels. Opname van instrumentatiesleutels blijft werken, maar we bieden geen updates of ondersteuning meer voor de functie. Overgang naar verbindingsreeks s om te profiteren van nieuwe mogelijkheden.

Live Metrics inschakelen met behulp van code voor elke .NET-toepassing

Notitie

Live Metrics is standaard ingeschakeld wanneer u deze onboardt met behulp van de aanbevolen instructies voor .NET-toepassingen.

Live Metrics handmatig configureren:

  1. Installeer het NuGet-pakket Microsoft.ApplicationInsights.PerfCounterCollector.
  2. In de volgende voorbeeldcode van de console-app ziet u het instellen van Live Metrics:
using Microsoft.ApplicationInsights;
using Microsoft.ApplicationInsights.Extensibility;
using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;

// Create a TelemetryConfiguration instance.
TelemetryConfiguration config = TelemetryConfiguration.CreateDefault();
config.InstrumentationKey = "INSTRUMENTATION-KEY-HERE";
QuickPulseTelemetryProcessor quickPulseProcessor = null;
config.DefaultTelemetrySink.TelemetryProcessorChainBuilder
    .Use((next) =>
    {
        quickPulseProcessor = new QuickPulseTelemetryProcessor(next);
        return quickPulseProcessor;
    })
    .Build();

var quickPulseModule = new QuickPulseTelemetryModule();

// Secure the control channel.
// This is optional, but recommended.
quickPulseModule.AuthenticationApiKey = "YOUR-API-KEY-HERE";
quickPulseModule.Initialize(config);
quickPulseModule.RegisterTelemetryProcessor(quickPulseProcessor);

// Create a TelemetryClient instance. It is important
// to use the same TelemetryConfiguration here as the one
// used to set up Live Metrics.
TelemetryClient client = new TelemetryClient(config);

// This sample runs indefinitely. Replace with actual application logic.
while (true)
{
    // Send dependency and request telemetry.
    // These will be shown in Live Metrics.
    // CPU/Memory Performance counter is also shown
    // automatically without any additional steps.
    client.TrackDependency("My dependency", "target", "http://sample",
        DateTimeOffset.Now, TimeSpan.FromMilliseconds(300), true);
    client.TrackRequest("My Request", DateTimeOffset.Now,
        TimeSpan.FromMilliseconds(230), "200", true);
    Task.Delay(1000).Wait();
}

Het voorgaande voorbeeld is voor een console-app, maar dezelfde code kan worden gebruikt in .NET-toepassingen. Als andere telemetriemodules zijn ingeschakeld voor het automatisch verzamelen van telemetrie, is het belangrijk om ervoor te zorgen dat dezelfde configuratie die wordt gebruikt voor het initialiseren van deze modules wordt gebruikt voor de module Live Metrics.

Hoe verschilt Live Metrics van Metrics Explorer en Log Analytics?

Functies Live Stream Metrics Explorer en Log Analytics
Latentie Gegevens die binnen één seconde worden weergegeven. Geaggregeerd in minuten.
Geen retentie Gegevens blijven behouden terwijl ze in de grafiek staan en worden vervolgens verwijderd. Gegevens die gedurende 90 dagen worden bewaard.
Op aanvraag Gegevens worden alleen gestreamd terwijl het deelvenster Live Metrics is geopend. Gegevens worden verzonden wanneer de SDK is geïnstalleerd en ingeschakeld.
Beschikbaar Er worden geen kosten in rekening gebracht voor Live Stream-gegevens. Onderhevig aan prijzen.
Steekproeven Alle geselecteerde metrische gegevens en tellers worden verzonden. Fouten en stacktraceringen worden gesampaleerd. Gebeurtenissen kunnen worden gesampleerd.
Besturingskanaal Filterbesturingssignalen worden verzonden naar de SDK. U wordt aangeraden dit kanaal te beveiligen. Communicatie is één manier, naar de portal.

Uw metrische gegevens selecteren en filteren

Deze mogelijkheden zijn beschikbaar met ASP.NET, ASP.NET Core en Azure Functions (v2).

U kunt aangepaste KPI live bewaken door willekeurige filters toe te passen op elke Application Insights-telemetrie vanuit de portal. Selecteer het filterbesturingselement dat wordt weergegeven wanneer u met de muis over een van de grafieken beweegt. In de volgende grafiek wordt een aangepaste KPI voor het aantal aanvragen uitgezet met filters op url - en duurkenmerken . Valideer uw filters met de sectie Stream Preview met een livefeed van telemetrie die overeenkomt met de criteria die u op elk gewenst moment hebt opgegeven.

Screenshot that shows the Filter request rate.

U kunt een andere waarde bewaken dan Aantal. De opties zijn afhankelijk van het type stroom, wat kan bestaan uit application Insights-telemetrie, zoals aanvragen, afhankelijkheden, uitzonderingen, traceringen, gebeurtenissen of metrische gegevens. Het kan ook uw eigen aangepaste meting zijn.

Screenshot that shows the Query Builder on Request Rate with a custom metric.

Naast Application Insights-telemetrie kunt u ook alle Prestatiemeteritems van Windows bewaken. Selecteer deze in de streamopties en geef de naam van het prestatiemeteritem op.

Live Metrics worden samengevoegd op twee punten: lokaal op elke server en vervolgens op alle servers. U kunt de standaardinstelling op een van beide wijzigen door andere opties te selecteren in de desbetreffende vervolgkeuzelijsten.

Voorbeeldtelemetrie: Aangepaste live diagnostische gebeurtenissen

Standaard toont de livefeed van gebeurtenissen voorbeelden van mislukte aanvragen en afhankelijkheidsaanroepen, uitzonderingen, gebeurtenissen en traceringen. Selecteer het filterpictogram om de toegepaste criteria op elk gewenst moment weer te geven.

Screenshot that shows the Filter button.

Net als bij metrische gegevens kunt u willekeurige criteria opgeven voor elk van de Application Insights-telemetrietypen. In dit voorbeeld selecteren we specifieke aanvraagfouten en gebeurtenissen.

Screenshot that shows the Query Builder.

Notitie

Gebruik momenteel voor criteria op basis van uitzonderingsberichten het buitenste uitzonderingsbericht. Als u in het voorgaande voorbeeld de goedaardige uitzondering wilt filteren met een binnenste uitzonderingsbericht (volgt het scheidingsteken -<-) 'De client is verbroken', gebruikt u een bericht dat geen criteria bevat voor inhoud van aanvraag voor het lezen van fouten.

Als u de details van een item in de livefeed wilt bekijken, selecteert u het. U kunt de feed onderbreken door Onderbreken te selecteren of door omlaag te schuiven en een item te selecteren. Livefeed wordt hervat nadat u terug naar de bovenkant schuift of wanneer u het item selecteert dat is verzameld terwijl deze is onderbroken.

Screenshot that shows the Sample telemetry window with an exception selected and the exception details displayed at the bottom of the window.

Filteren op serverexemplaren

Als u een exemplaar van een bepaalde serverfunctie wilt bewaken, kunt u filteren op server. Als u wilt filteren, selecteert u de servernaam onder Servers.

Screenshot that shows the Sampled live failures.

Het besturingskanaal beveiligen

Met aangepaste filters voor live metrics kunt u bepalen welke telemetrie van uw toepassing wordt gestreamd naar de weergave Live Metrics in Azure Portal. De filtercriteria worden verzonden naar de apps die zijn geïnstrueerd met de Application Insights SDK. De filterwaarde kan mogelijk gevoelige informatie bevatten, zoals de klant-id. Als u deze waarde beveiligd wilt houden en potentiële openbaarmaking voor niet-geautoriseerde toepassingen wilt voorkomen, hebt u twee opties:

  • Aanbevolen: Beveilig het Live Metrics-kanaal met behulp van Microsoft Entra-verificatie.
  • Verouderd (niet meer aanbevolen): Stel een geverifieerd kanaal in door een geheime API-sleutel te configureren, zoals wordt uitgelegd in de sectie Verouderde optie.

Notitie

Op 30 september 2025 worden API-sleutels die worden gebruikt voor het streamen van live metrics-telemetrie naar Application Insights, buiten gebruik gesteld. Na die datum kunnen toepassingen die API-sleutels gebruiken geen Live Metrics-gegevens verzenden naar uw Application Insights-resource. Geverifieerde telemetrieopname voor Live Metrics-streaming naar Application Insights moet worden uitgevoerd met Microsoft Entra-verificatie voor Application Insights.

Het is mogelijk om aangepaste filters te proberen zonder dat u een geverifieerd kanaal hoeft in te stellen. Selecteer een van de filterpictogrammen en autoriseren de verbonden servers. Als u deze optie kiest, moet u de verbonden servers eenmaal per nieuwe sessie autoriseren of wanneer een nieuwe server online komt.

Waarschuwing

We raden het gebruik van onbeveiligde kanalen ten zeerste af en schakelen deze optie zes maanden na het gebruik ervan uit. In het dialoogvenster Verbonden servers autoriseren wordt de datum weergegeven waarna deze optie wordt uitgeschakeld.

Screenshot that shows the Authorize connected servers dialog.

Verouderde optie: Een API-sleutel maken

  1. Selecteer het tabblad API Access en selecteer vervolgens API-sleutel maken.

    Screenshot that shows selecting the API Access tab and the Create API key button.

  2. Schakel het selectievakje Verificatie-SDK-besturingskanaal in en selecteer vervolgens Sleutel genereren.

    Screenshot that shows the Create API key pane. Select Authenticate SDK control channel checkbox and then select Generate key.

Een API-sleutel toevoegen aan de configuratie

U kunt een API-sleutel toevoegen aan de configuratie voor ASP.NET- ASP.NET Core-, WorkerService- en Azure Functions-apps.

Voeg in het bestand Program.cs de volgende naamruimte toe:

using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;

Voeg vervolgens de volgende serviceregistratie toe:

// Existing code which includes services.AddApplicationInsightsTelemetry() to enable Application Insights.
builder.Services.ConfigureTelemetryModule<QuickPulseTelemetryModule> ((module, o) => module.AuthenticationApiKey = "YOUR-API-KEY-HERE");

Zie Telemetriemodules configureren in ASP.NET Core voor meer informatie over het configureren van ASP.NET Core-toepassingen.

WorkerService

Volg deze instructies voor WorkerService-toepassingen .

Voeg de volgende naamruimte toe:

using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;

Voeg vervolgens de volgende regel toe vóór de aanroep services.AddApplicationInsightsTelemetryWorkerService:

    services.ConfigureTelemetryModule<QuickPulseTelemetryModule> ((module, o) => module.AuthenticationApiKey = "YOUR-API-KEY-HERE");

Zie Telemetriemodules configureren in WorkerServices voor meer informatie over het configureren van WorkerService-toepassingen.

Azure Functions-apps

Voor Azure Functions-apps (v2) kunt u het kanaal beveiligen met een API-sleutel met behulp van een omgevingsvariabele.

Maak een API-sleutel vanuit uw Application Insights-resource en ga naar Instellingen> Configuratie voor uw Azure Functions-app. Selecteer Nieuwe toepassingsinstelling, voer een naam in APPINSIGHTS_QUICKPULSEAUTHAPIKEYen voer een waarde in die overeenkomt met uw API-sleutel.

Ondersteunde functiestabel

Taal Metrische basisgegevens Metrische gegevens voor prestaties Aangepast filteren Voorbeeldtelemetrie CPU-splitsing per proces
.NET Framework Ondersteund (LTS) Ondersteund (LTS) Ondersteund (LTS) Ondersteund (LTS) Ondersteund (LTS)
.NET Core (target=.NET Framework) Ondersteund (LTS) Ondersteund (LTS) Ondersteund (LTS) Ondersteund (LTS) Ondersteund (LTS)
.NET Core (target=.NET Core) Ondersteund (LTS) Ondersteund* Ondersteund (LTS) Ondersteund (LTS) Niet ondersteund
Azure Functions v2 Ondersteund Ondersteund Ondersteund Ondersteund Niet ondersteund
Java Ondersteund (V2.0.0+) Ondersteund (V2.0.0+) Niet ondersteund Ondersteund (V3.2.0+) Niet ondersteund
Node.js Ondersteund (V1.3.0+) Ondersteund (V1.3.0+) Niet ondersteund Ondersteund (V1.3.0+) Niet ondersteund
Python Niet ondersteund Niet ondersteund Niet ondersteund Niet ondersteund Niet ondersteund

Basisgegevens omvatten aanvraag-, afhankelijkheids- en uitzonderingsfrequentie. Prestatiegegevens (prestatiemeteritems) zijn onder andere geheugen en CPU. Voorbeeldtelemetrie toont een stroom gedetailleerde informatie voor mislukte aanvragen en afhankelijkheden, uitzonderingen, gebeurtenissen en traceringen.

PerfCounters-ondersteuning verschilt enigszins in versies van .NET Core die niet zijn gericht op .NET Framework:

  • Metrische gegevens perfCounters worden ondersteund bij uitvoering in Azure-app Service voor Windows (ASP.NET Core SDK versie 2.4.1 of hoger).
  • PerfCounters worden ondersteund wanneer de app wordt uitgevoerd op een Windows-computer voor apps die zijn gericht op .NET Core LTS of hoger.
  • PerfCounters worden ondersteund wanneer de app overal wordt uitgevoerd (zoals Linux, Windows, app service voor Linux of containers) in de nieuwste versies, maar alleen voor apps die zich richten op .NET Core LTS of hoger.

Problemen oplossen

Live Metrics maakt gebruik van verschillende IP-adressen dan andere Application Insights-telemetrie. Zorg ervoor dat deze IP-adressen zijn geopend in uw firewall. Controleer ook of uitgaande poorten voor Live Metrics zijn geopend in de firewall van uw servers.

Zoals beschreven in de aankondiging van de migratie van Azure TLS 1.2, ondersteunt Live Metrics nu alleen TLS 1.2. Als u een oudere versie van TLS gebruikt, worden met live metrics geen gegevens weergegeven. Voor toepassingen op basis van .NET Framework 4.5.1 raadpleegt u Transport Layer Security (TLS) 1.2 inschakelen op clients - Configuration Manager ter ondersteuning van de nieuwere TLS-versie.

Ontbrekende configuratie voor .NET

  1. Controleer of u de nieuwste versie van het NuGet-pakket Microsoft.ApplicationInsights.PerfCounterCollector gebruikt.

  2. Bewerk het ApplicationInsights.config bestand:

    • Controleer of de verbindingsreeks verwijst naar de Application Insights-resource die u gebruikt.
    • Zoek de QuickPulseTelemetryModule configuratieoptie. Als deze niet aanwezig is, voegt u deze toe.
    • Zoek de QuickPulseTelemetryProcessor configuratieoptie. Als deze niet aanwezig is, voegt u deze toe.
    <TelemetryModules>
    <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.
    QuickPulse.QuickPulseTelemetryModule, Microsoft.AI.PerfCounterCollector"/>
    </TelemetryModules>
    
    <TelemetryProcessors>
    <Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.
    QuickPulse.QuickPulseTelemetryProcessor, Microsoft.AI.PerfCounterCollector"/>
    </TelemetryProcessors>
    
  3. Start de toepassing opnieuw op.

Statusbericht 'Gegevens zijn tijdelijk niet toegankelijk'

Wanneer u naar Live Metrics navigeert, ziet u mogelijk een banner met het statusbericht: 'Gegevens zijn tijdelijk niet toegankelijk. De updates over onze status worden hier https://aka.ms/aistatus geplaatst "

Volg de koppeling naar de Azure-statuspagina en controleer of er een activeringsstoring is die van invloed is op Application Insights. Controleer of firewalls en browserextensies de toegang tot Live Metrics niet blokkeren als er geen storing optreedt. Sommige populaire extensies voor advertentieblokkering blokkeren bijvoorbeeld verbindingen met *.monitor.azure.com. Als u de volledige mogelijkheden van Live Metrics wilt gebruiken, schakelt u de extensie voor advertentieblokkering uit of voegt u een uitsluitingsregel voor het domein *.livediagnostics.monitor.azure.com toe aan uw advertentieblokkering, firewall, enzovoort.

Onverwacht groot aantal aanvragen voor livediagnostics.monitor.azure.com

Application Insights SDK's gebruiken een REST API om te communiceren met QuickPulse-eindpunten, die live metrische gegevens bieden voor uw webtoepassing. Standaard peilen de SDK's de eindpunten eenmaal per vijf seconden om te controleren of u het deelvenster Live Metrics in Azure Portal bekijkt.

Als u het deelvenster Live Metrics opent, schakelen de SDK's over naar een hogere frequentiemodus en verzenden nieuwe metrische gegevens elke seconde naar QuickPulse. Hiermee kunt u uw livetoepassing bewaken en diagnosticeren met latentie van 1 seconde, maar ook meer netwerkverkeer genereren. Om de normale verkeersstroom te herstellen, is naviage verwijderd van het deelvenster Live Metrics.

Notitie

De REST API-aanroepen van de SDK's naar QuickPulse-eindpunten worden niet bijgehouden door Application Insights en hebben geen invloed op uw afhankelijkheidsaanroepen of andere metrische gegevens. U ziet ze echter mogelijk in andere hulpprogramma's voor netwerkbewaking.

Volgende stappen