Live Metrics Stream: Controle & met latentie van 1 seconde
Controleer uw live webtoepassing in productie met behulp van Live Metrics Stream (ook wel bekend als QuickPulse) van Application Insights. Selecteer en filter metrische gegevens en prestatiemeters om in realtime te bekijken, zonder dat u te maken hebt met uw service. Controleer stack-traceringen van mislukte voorbeeldaanvragen en uitzonderingen. Samen met Profiler en Snapshot Debuggerbiedt Live Metrics Stream een krachtig en niet-diagnostisch hulpprogramma voor uw livewebsite.
Met Live Metrics Stream kunt u het volgende doen:
- Valideer een oplossing terwijl deze wordt vrijgegeven door het aantal prestaties en fouten te bekijken.
- Bekijk live het effect van het laden van tests en het vaststellen van problemen.
- Richt u op bepaalde testsessies of filter bekende problemen uit door de metrische gegevens die u wilt bekijken te selecteren en te filteren.
- Haal uitzonderings traceringen op wanneer deze zich voor doen.
- Experimenteer met filters om de meest relevante KPI's te vinden.
- Beveer Windows prestatiemeters live.
- Identificeer eenvoudig een server die problemen heeft en filter alle KPI/live feed naar die server.

Live Metrics worden momenteel ondersteund voor ASP.NET-, ASP.NET Core-, Azure Functions-, JavaNode.js apps.
Aan de slag
Volg taalspecifieke richtlijnen om live metrische gegevens in teschakelen.
- ASP.NET: Live Metrics is standaard ingeschakeld.
- ASP.NET Core:live metrische gegevens zijn standaard ingeschakeld.
- .NET/.NET Core Console/Worker:live metrische gegevens zijn standaard ingeschakeld.
- .NET-toepassingen: schakel in met behulp van code.
- Java: live metrische gegevens zijn standaard ingeschakeld.
- Node.js
Open in Azure Portalapplication Insights resource voor uw app en open Live Stream.
Beveilig het besturingskanaal als u gevoelige gegevens, zoals klantnamen, in uw filters kunt gebruiken.
LiveMetrics inschakelen met behulp van code voor elke .NET-toepassing
Hoewel LiveMetrics standaard is ingeschakeld bij het onboarden met behulp van aanbevolen instructies voor .NET-toepassingen, laat het volgende zien hoe u live metrische gegevens handmatig kunt instellen.
- Installeer het NuGet-pakket Microsoft.ApplicationInsights.PerfCounterCollector
- De volgende voorbeeldcode voor de console-app toont het instellen van live metrische gegevens.
using Microsoft.ApplicationInsights;
using Microsoft.ApplicationInsights.Extensibility;
using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;
using System;
using System.Threading.Tasks;
namespace LiveMetricsDemo
{
class Program
{
static void Main(string[] args)
{
// 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 setup 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 stream.
// 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();
}
}
}
}
Hoewel het bovenstaande voorbeeld voor een console-app is, kan dezelfde code worden gebruikt in alle .NET-toepassingen. Als er andere TelemetryModules zijn ingeschakeld die automatisch telemetriegegevens verzamelen, is het belangrijk om ervoor te zorgen dat dezelfde configuratie die wordt gebruikt voor het initialiseren van deze modules ook wordt gebruikt voor de module Live Metrics.
Wat is Live Metrics Stream verschil met Metrics Explorer analytics?
| Live Stream | Metrics Explorer en analyse | |
|---|---|---|
| Latentie | Gegevens die binnen één seconde worden weergegeven | Geaggregeerd in minuten |
| Geen retentie | Gegevens blijven bestaan terwijl ze in de grafiek staan en worden vervolgens verwijderd | Gegevens die 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 |
| Gratis | Er worden geen kosten in rekening Live Stream gegevens | Onderhevig aan prijzen |
| Steekproeven | Alle geselecteerde metrische gegevens en tellers worden verzonden. Er wordt een steekproef genomen van fouten en stack-traceringen. | Er kan een steekproef van gebeurtenissen worden genomen |
| Besturingskanaal | Filterbeheersignalen worden naar de SDK verzonden. U wordt aangeraden dit kanaal te beveiligen. | Communicatie is één manier, naar de portal |
Uw metrische gegevens selecteren en filteren
(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 toepassing Insights telemetrie van de portal. Klik op het filterbesturingselement dat wordt weer geven wanneer u de muisaanwijzer over een van de grafieken beweegt. In de volgende grafiek wordt een aangepaste KPI voor het aantal aanvragen uitgezet met filters voor URL- en duurkenmerken. Valideer uw filters met de sectie Stream Preview waarin een livefeed met telemetrie wordt weergegeven die overeenkomt met de criteria die u op een bepaald moment hebt opgegeven.

U kunt een andere waarde dan Aantal bewaken. De opties zijn afhankelijk van het type stroom, wat elke Application Insights-telemetrie kan zijn: aanvragen, afhankelijkheden, uitzonderingen, traceringen, gebeurtenissen of metrische gegevens. Dit kan uw eigen aangepaste meting zijn:

Naast Application Insights-telemetrie kunt u ook elk Windows-prestatiemeter aantal controleren door deze te selecteren in de stroomopties en de naam van het prestatiemeterwerkpunt op te geven.
Live metrische gegevens worden op twee punten geaggregeerd: lokaal op elke server en vervolgens op alle servers. U kunt de standaardwaarde wijzigen door andere opties te selecteren in de desbetreffende vervolgkeuzeopties.
Voorbeeld van telemetrie: aangepaste live diagnostische gebeurtenissen
Standaard toont de livefeed van gebeurtenissen voorbeelden van mislukte aanvragen en afhankelijkheidsaanvragen, uitzonderingen, gebeurtenissen en traceringen. Klik op het filterpictogram om de toegepaste criteria op elk moment weer te gegeven.

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

Notitie
Op dit moment gebruikt u voor criteria op basis van uitzonderingsbericht het buitenste uitzonderingsbericht. In het vorige voorbeeld is het zo dat de goedaardige uitzondering met het interne uitzonderingsbericht (volgt op het scheidingsteken '<--') 'De verbinding met de client is verbroken' wordt uitgefilterd. gebruik een bericht dat geen 'fout bij het lezen van aanvraaginhoud' bevat.
Bekijk de details van een item in de livefeed door erop te klikken. U kunt de feed onderbreken door te klikken op Onderbreken of door omlaag te schuiven of door op een item te klikken. De livefeed wordt hervat nadat u terug scrolt naar de bovenkant of door te klikken op de teller met items die zijn verzameld tijdens het onderbreken.

Filteren op server-exemplaar
Als u een bepaald serverfunctie-exemplaar wilt bewaken, kunt u filteren op server. Als u wilt filteren, selecteert u de servernaam onder Servers.

Het besturingskanaal beveiligen
Notitie
Op dit moment kunt u alleen een geverifieerd kanaal instellen met behulp van handmatige instrumentatie (SDK) en kunt u geen servers verifiëren met behulp van Azure-serviceintegratie (of automatische instrumentatie).
De criteria voor aangepaste filters die u in de portal voor live metrische gegevens opgeeft, worden teruggestuurd naar het onderdeel Live Metrics in de Application Insights SDK. De filters kunnen mogelijk gevoelige informatie bevatten, zoals customerIDs. U kunt het kanaal beveiligen met een geheime API-sleutel naast de instrumentatiesleutel.
Een API-sleutel maken

API-sleutel toevoegen aan configuratie
ASP.NET
Voeg in applicationinsights.config bestand AuthenticationApiKey toe aan de QuickPulseTelemetryModule:
<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse.QuickPulseTelemetryModule, Microsoft.AI.PerfCounterCollector">
<AuthenticationApiKey>YOUR-API-KEY-HERE</AuthenticationApiKey>
</Add>
ASP.NET Core
Volg ASP.NET Core onderstaande instructies voor ASP.NET Core toepassingen.
Wijzig ConfigureServices het bestand Startup.cs als volgt:
Voeg de volgende naamruimte toe.
using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;
Wijzig vervolgens ConfigureServices de methode zoals hieronder wordt beschreven.
public void ConfigureServices(IServiceCollection services)
{
// existing code which include services.AddApplicationInsightsTelemetry() to enable Application Insights.
services.ConfigureTelemetryModule<QuickPulseTelemetryModule> ((module, o) => module.AuthenticationApiKey = "YOUR-API-KEY-HERE");
}
Meer informatie over het configureren van ASP.NET Core-toepassingen vindt u in onze richtlijnen voor het configureren van telemetriemodules in ASP.NET Core.
WorkerService
Volg de onderstaande 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");
Meer informatie over het configureren van WorkerService-toepassingen vindt u in onze richtlijnen voor het configureren van telemetriemodules in WorkerServices.
Azure Function-apps
Voor Azure Function Apps (v2) kan het beveiligen van het kanaal met een API-sleutel worden uitgevoerd met een omgevingsvariabele.
Maak een API-sleutel vanuit uw Application Insights-resource en ga naar Instellingen > Configuratie voor uw functie-app. Selecteer Nieuwe toepassingsinstelling en voer een naam en APPINSIGHTS_QUICKPULSEAUTHAPIKEY een waarde in die overeenkomt met uw API-sleutel.
Als u echter alle verbonden servers herkent en vertrouwt, kunt u de aangepaste filters proberen zonder het geverifieerde kanaal. Deze optie is zes maanden beschikbaar. Deze overschrijven is vereist zodra elke nieuwe sessie of wanneer een nieuwe server online komt.

Notitie
We raden u ten zeerste aan het geverifieerde kanaal in te stellen voordat u mogelijk gevoelige informatie, zoals CustomerID, in de filtercriteria in moet invoeren.
Tabel met ondersteunde functies
| Taal | Metrische basisgegevens | Metrische gegevens voor prestaties | Aangepast filteren | Voorbeeld-telemetrie | CPU gesplitst per proces |
|---|---|---|---|---|---|
| .NET Framework | Ondersteund (V2.7.2+) | Ondersteund (V2.7.2+) | Ondersteund (V2.7.2+) | Ondersteund (V2.7.2+) | Ondersteund (V2.7.2+) |
| .NET Core (target=.NET Framework) | Ondersteund (V2.4.1+) | Ondersteund (V2.4.1+) | Ondersteund (V2.4.1+) | Ondersteund (V2.4.1+) | Ondersteund (V2.4.1+) |
| .NET Core (target=.NET Core) | Ondersteund (V2.4.1+) | Ondersteund* | Ondersteund (V2.4.1+) | Ondersteund (V2.4.1+) | 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 |
Metrische basisgegevens omvatten aanvraag-, afhankelijkheids- en uitzonderingsfrequentie. Prestatiemetrieken (prestatiemeters) omvatten geheugen en CPU. Voorbeeld-telemetrie toont een stroom gedetailleerde informatie voor mislukte aanvragen en afhankelijkheden, uitzonderingen, gebeurtenissen en traceringen.
*De ondersteuning voor PerfCounters varieert enigszins tussen versies van .NET Core die niet zijn gericht op de .NET Framework:
- Metrische gegevens van PerfCounters worden ondersteund bij het uitvoeren in Azure App Service voor Windows. (AspNetCore SDK versie 2.4.1 of hoger)
- PerfCounters worden ondersteund wanneer de app wordt uitgevoerd op Windows machines (VM, cloudservice of on-prem, enzovoort) (AspNetCore SDK versie 2.7.1 of hoger), maar voor apps die zijn gericht op .NET Core 2.0 of hoger.
- PerfCounters worden ondersteund wanneer de app ANYWHERE (Linux, Windows, App Service voor Linux, containers, enzovoort) in de nieuwste versies (dat wil zeggen AspNetCore SDK versie 2.8.0 of hoger) wordt uitgevoerd, maar alleen voor apps die zijn gericht op .NET Core 2.0 of hoger.
Problemen oplossen
Live Metrics Stream gebruikt andere IP-adressen dan andere Application Insights telemetrie. Zorg ervoor dat deze IP-adressen zijn geopend in uw firewall. Controleer ook of de uitgaande poorten Live Metrics Stream zijn geopend in de firewall van uw servers.