Live Metrics Stream: Övervaka & diagnostisera med svarstid på 1 sekund
Övervaka ditt live-, produktionsbaserade webbprogram med hjälp av Live Metrics Stream (även kallat QuickPulse) från Application Insights. Välj och filtrera mått och prestandaräknare för att titta i realtid, utan att behöva störa din tjänst. Granska stackspårningar från exempel på misslyckade begäranden och undantag. Tillsammans med Profiler och Snapshot Live Metrics Streamett kraftfullt och icke-inkräktande diagnostikverktyg för din live-webbplats.
Med Live Metrics Stream kan du:
- Validera en korrigering när den släpps genom att titta på prestanda och antal fel.
- Titta på effekten av testbelastningar och diagnostisera problem live.
- Fokusera på specifika testsessioner eller filtrera bort kända problem genom att välja och filtrera de mått som du vill titta på.
- Hämta undantagsspårningar när de sker.
- Experimentera med filter för att hitta de mest relevanta KPI:erna.
- Övervaka alla Windows prestandaräknare live.
- Identifiera enkelt en server som har problem och filtrera all KPI/live-feed till bara den servern.

Live Metrics stöds för närvarande för ASP.NET, ASP.NET Core, Azure Functions, Java och Node.js appar.
Kom igång
Följ språkspecifika riktlinjer för att aktivera Live Metrics.
- ASP.NET – Live-mått är aktiverat som standard.
- ASP.NET Core– Live-mått är aktiverat som standard.
- .NET/.NET Core Console/Worker– Live Metrics är aktiverat som standard.
- .NET-program – Aktivera med hjälp av kod.
- Java – Live Metrics är aktiverat som standard.
- Node.js
I Azure Portaldu programresursen Insights appen och öppnar sedan Live Stream.
Skydda kontrollkanalen om du använder känsliga data, till exempel kundnamn, i dina filter.
Aktivera LiveMetrics med hjälp av kod för alla .NET-program
Även om LiveMetrics är aktiverat som standard vid registrering med rekommenderade instruktioner för .NET-program, visar följande hur du ställer in Live Metrics manuellt.
- Installera NuGet-paketet Microsoft.ApplicationInsights.PerfCounterCollector
- Följande exempel på konsolappkod visar hur du ställer in Live Metrics.
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();
}
}
}
}
Exemplet ovan gäller för en konsolapp, men samma kod kan användas i alla .NET-program. Om andra TelemetryModules är aktiverade som automatiskt samlar in telemetri, är det viktigt att se till att samma konfiguration som används för att initiera dessa moduler även används för modulen Live Metrics.
Hur skiljer Live Metrics Stream från Metrics Explorer och Analytics?
| Direktsänd ström | Metrics Explorer och Analytics | |
|---|---|---|
| Svarstid | Data som visas inom en sekund | Aggregerat över minuter |
| Ingen kvarhållning | Data bevaras medan de visas i diagrammet och ignoreras sedan | Data som behålls i 90 dagar |
| På begäran | Data strömmas bara när fönstret Live Metrics är öppet | Data skickas när SDK installeras och aktiveras |
| Kostnadsfri | Det finns ingen avgift för Live Stream data | Prissättningsämne |
| Sampling | Alla valda mått och räknare överförs. Fel och stackspårningar samplas. | Händelser kan samplas |
| Kontrollkanal | Filterkontrollsignaler skickas till SDK:n. Vi rekommenderar att du skyddar den här kanalen. | Kommunikation är ett sätt, till portalen |
Välj och filtrera dina mått
(Tillgängligt med ASP.NET, ASP.NET Core och Azure Functions (v2).)
Du kan övervaka anpassade KPI:er live genom att använda godtyckliga filter Insights program och telemetri från portalen. Klicka på filterkontrollen som visas när du för muspekaren över något av diagrammen. Följande diagram ritar en anpassad KPI för antal förfrågningar med filter för URL- och varaktighetsattribut. Verifiera dina filter med avsnittet Stream Preview som visar ett liveflöde med telemetri som matchar de kriterier som du har angett vid en viss tidpunkt.

Du kan övervaka ett annat värde än Antal. Alternativen beror på vilken typ av dataström som kan vara vilken Application Insights telemetri som helst: begäranden, beroenden, undantag, spårningar, händelser eller mått. Det kan vara ditt eget anpassade mått:

Förutom Telemetri Insights Application Insights kan du även övervaka alla Windows prestandaräknare genom att välja det bland alternativen för dataströmmen och ange namnet på prestandaräknaren.
Live-mått aggregeras på två punkter: lokalt på varje server och sedan på alla servrar. Du kan ändra standardvärdet antingen genom att välja andra alternativ i respektive listrutan.
Exempeltelemetri: Anpassade livediagnostikhändelser
Live-flödet av händelser visar som standard exempel på misslyckade begäranden och beroendeanrop, undantag, händelser och spårningar. Klicka på filterikonen för att se de tillämpade villkoren när som helst.

Precis som med mått kan du ange godtyckliga kriterier för alla program Insights telemetrityper. I det här exemplet väljer vi specifika begärandefel och händelser.

Anteckning
För närvarande använder du det yttersta undantagsmeddelandet för Undantagsmeddelandebaserade villkor. För att filtrera bort det oskadliga undantaget med ett inre undantagsmeddelande (följer avgränsaren "<--" i föregående exempel) "Klienten kopplades från". använd ett meddelande som inte innehåller kriterierna "Det gick inte att läsa begärandeinnehåll".
Visa information om ett objekt i live-flödet genom att klicka på det. Du kan pausa flödet genom att antingen klicka på Pausa eller helt enkelt rulla nedåt eller klicka på ett objekt. Livefeed återupptas när du bläddrar tillbaka till toppen eller genom att klicka på räknaren för objekt som samlats in när den pausades.

Filtrera efter serverinstans
Om du vill övervaka en viss serverrollinstans kan du filtrera efter server. Om du vill filtrera väljer du servernamnet under Servrar.

Skydda kontrollkanalen
Anteckning
För närvarande kan du bara konfigurera en autentiserad kanal med hjälp av manuell instrumentation (SDK) och kan inte autentisera servrar med integrering av Azure-tjänster (eller automatisk instrumentation).
De anpassade filtervillkor som du anger i Live Metrics-portalen skickas tillbaka till komponenten Live Metrics i Application Insights SDK. Filtren kan potentiellt innehålla känslig information, till exempel customerIDs. Du kan skydda kanalen med en hemlig API-nyckel utöver instrumenteringsnyckeln.
Skapa en API-nyckel

Lägga till API-nyckel i konfigurationen
ASP.NET
I applicationinsights.config lägger du till AuthenticationApiKey i QuickPulseTelemetryModule:
<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse.QuickPulseTelemetryModule, Microsoft.AI.PerfCounterCollector">
<AuthenticationApiKey>YOUR-API-KEY-HERE</AuthenticationApiKey>
</Add>
ASP.NET Core
För ASP.NET Core program följer du anvisningarna nedan.
Ändra ConfigureServices startup.cs-filen på följande sätt:
Lägg till följande namnområde.
using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;
Ändra sedan ConfigureServices metoden enligt nedan.
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");
}
Mer information om hur ASP.NET Core program finns i vår vägledning om hur du konfigurerar telemetrimoduler i ASP.NET Core.
WorkerService
För WorkerService-program följer du anvisningarna nedan.
Lägg till följande namnområde.
using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;
Lägg sedan till följande rad före anropet services.AddApplicationInsightsTelemetryWorkerService .
services.ConfigureTelemetryModule<QuickPulseTelemetryModule> ((module, o) => module.AuthenticationApiKey = "YOUR-API-KEY-HERE");
Mer information om hur du konfigurerar WorkerService-program finns i vår vägledning om hur du konfigurerar telemetrimoduler i WorkerServices.
Azure-funktionsappar
För Azure-funktionsappar (v2) kan du skydda kanalen med en API-nyckel med en miljövariabel.
Skapa en API-nyckel från din Application Insights-resurs och gå till Inställningar > Konfiguration för din funktionsapp. Välj Ny programinställning och ange ett namn på APPINSIGHTS_QUICKPULSEAUTHAPIKEY och ett värde som motsvarar din API-nyckel.
Men om du känner igen och litar på alla anslutna servrar kan du prova de anpassade filtren utan den autentiserade kanalen. Det här alternativet är tillgängligt i sex månader. Den här åsidosättningen krävs en gång varje ny session eller när en ny server är online.

Anteckning
Vi rekommenderar starkt att du ställer in den autentiserade kanalen innan du anger potentiellt känslig information som CustomerID i filtervillkoren.
Tabell över funktioner som stöds
| Språk | Grundläggande mått | Prestandamått | Anpassad filtrering | Exempeltelemetri | Cpu-delning efter process |
|---|---|---|---|---|---|
| .NET Framework | Stöds (V2.7.2+) | Stöds (V2.7.2+) | Stöds (V2.7.2+) | Stöds (V2.7.2+) | Stöds (V2.7.2+) |
| .NET Core (target=.NET Framework) | Stöds (V2.4.1+) | Stöds (V2.4.1+) | Stöds (V2.4.1+) | Stöds (V2.4.1+) | Stöds (V2.4.1+) |
| .NET Core (target=.NET Core) | Stöds (V2.4.1+) | Stöds* | Stöds (V2.4.1+) | Stöds (V2.4.1+) | Stöds inte |
| Azure Functions v2 | Stöds | Stöds | Stöds | Stöds | Stöds inte |
| Java | Stöds (V2.0.0+) | Stöds (V2.0.0+) | Stöds inte | Stöds (V3.2.0+) | Stöds inte |
| Node.js | Stöds (V1.3.0+) | Stöds (V1.3.0+) | Stöds inte | Stöds (V1.3.0+) | Stöds inte |
Grundläggande mått är förfrågnings-, beroende- och undantagsfrekvens. Prestandamått (prestandaräknare) omfattar minne och CPU. Exempeltelemetri visar en dataström med detaljerad information om misslyckade begäranden och beroenden, undantag, händelser och spårningar.
*Stödet för PerfCounters varierar något mellan olika versioner av .NET Core som inte är .NET Framework:
- PerfCounters-mått stöds när du kör i Azure App Service för Windows. (AspNetCore SDK version 2.4.1 eller senare)
- PerfCounters stöds när appen körs på alla Windows (VM eller molntjänst eller lokala osv.) (AspNetCore SDK version 2.7.1 eller senare), men för appar som riktar sig mot .NET Core 2.0 eller senare.
- PerfCounters stöds när appen kör ANYWHERE (Linux, Windows, App Service för Linux, containrar osv.) i de senaste versionerna (d.v.s. AspNetCore SDK version 2.8.0 eller senare), men endast för appar som riktar sig mot .NET Core 2.0 eller senare.
Felsökning
Live Metrics Stream använder andra IP-adresser än andra Program Insights telemetri. Kontrollera att dessa IP-adresser är öppna i brandväggen. Kontrollera också de utgående portarna Live Metrics Stream är öppna i brandväggen för dina servrar.