Živé metriky: Monitorování a diagnostika s latencí 1 sekundy

Monitorujte živou produkční webovou aplikaci pomocí live Metrics (označované také jako QuickPulse) z aplikace Přehledy. Můžete vybrat a filtrovat metriky a čítače výkonu a sledovat je v reálném čase, aniž by to vaše služba rušily. Trasování zásobníku můžete také zkontrolovat z ukázkových neúspěšných požadavků a výjimek. Spolu s profilerem a snapshot debuggerem poskytuje živé metriky výkonný a neinvasivní diagnostický nástroj pro váš živý web.

Poznámka:

Live Metrics podporuje pouze protokol TLS 1.2. Další informace naleznete v tématu Poradce při potížích.

Pomocí živých metrik můžete:

  • Ověřte opravu, když je vydaná, sledováním počtu výkonu a selhání.
  • Sledujte vliv testovacích zatížení a diagnostikujte problémy živě.
  • Zaměřte se na konkrétní testovací relace nebo vyfiltrujte známé problémy tak, že vyberete a vyfiltrujete metriky, které chcete sledovat.
  • Získejte trasování výjimek, když k nim dojde.
  • Experimentujte s filtry a najděte nejrelevavantnější klíčové ukazatele výkonu.
  • Monitorujte všechny čítače výkonu Windows živě.
  • Snadno identifikujte server, u kterého dochází k problémům, a vyfiltrujte všechny klíčové ukazatele výkonu a živé kanály jenom na tento server.

Screenshot that shows the Live Metrics tab.

Živé metriky se v současné době podporují pro aplikace ASP.NET, ASP.NET Core, Azure Functions, Java a Node.js.

Poznámka:

Počet monitorovaných instancí serveru zobrazených službou Live Metrics může být nižší než skutečný počet instancí přidělených pro aplikaci. Tato neshoda je způsobená tím, že mnoho moderních webových serverů uvolní aplikace, které nebudou přijímat požadavky za určité časové období, aby ušetřily prostředky. Vzhledem k tomu, že živé metriky počítají jenom servery, na kterých je aplikace aktuálně spuštěná, nebudou servery, které už proces rozbalily, zahrnuté do celkového součtu.

Začínáme

Důležité

Pokud chcete povolit Přehledy aplikace, ujistěte se, že je aktivovaná na webu Azure Portal a že vaše aplikace používá nejnovější verzi balíčku NuGet Přehledy aplikace. Bez balíčku NuGet se některá telemetrie odesílají do Přehledy aplikace, ale tato telemetrie se v živých metrikách nezobrazí.

  1. Pokud chcete povolit živé metriky, postupujte podle pokynů pro konkrétní jazyk:

  2. Na webu Azure Portal otevřete prostředek Přehledy aplikace. Pak otevřete Live Stream.

  3. Zabezpečte řídicí kanál , pokud v filtrech můžete používat citlivá data, jako jsou jména zákazníků.

Poznámka:

Podpora příjmu dat založeného na instrumentačním klíči skončí 31. března 2025. Příjem klíčů instrumentace bude dál fungovat, ale už nebudeme poskytovat aktualizace ani podporu pro tuto funkci. Přechod na připojovací řetězec, abyste mohli využívat nové funkce.

Povolení živých metrik pomocí kódu pro libovolnou aplikaci .NET

Poznámka:

Živé metriky jsou ve výchozím nastavení povolené při jeho onboardingu pomocí doporučených pokynů pro aplikace .NET.

Ruční konfigurace živých metrik:

  1. Nainstalujte balíček NuGet Microsoft.Application Přehledy. PerfCounterCollector.
  2. Následující ukázkový kód konzolové aplikace ukazuje nastavení živých metrik:
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();
}

Předchozí ukázka je určená pro konzolovou aplikaci, ale stejný kód lze použít v libovolné aplikaci .NET. Pokud jsou povolené automatické protokolování telemetrických modulů, je důležité zajistit, aby se stejná konfigurace používaná k inicializaci těchto modulů používala pro modul Live Metrics.

Jak se živé metriky liší od Průzkumníka metrik a Log Analytics?

Funkce Live Stream Průzkumník metrik a Log Analytics
Latence Data zobrazená během jedné sekundy. Agregováno během několika minut.
Bez uchovávání Data se zachovají, i když jsou v grafu, a pak se zahodí. Data se uchovávají po dobu 90 dnů.
Na vyžádání Data se streamují jenom v době, kdy je otevřené podokno Živé metriky. Data se odesílají vždy, když je sada SDK nainstalovaná a povolená.
Bezplatný Za data live streamu se neúčtují žádné poplatky. Na základě cen.
Vzorkování Všechny vybrané metriky a čítače se přenesou. Vzorkují se chyby a trasování zásobníku. Události lze vzorkovat.
Řídicí kanál Do sady SDK se odesílají řídicí signály filtru. Doporučujeme tento kanál zabezpečit. Komunikace je jedním ze způsobů, jak na portál.

Výběr a filtrování metrik

Tyto funkce jsou k dispozici pro ASP.NET, ASP.NET Core a Azure Functions (v2).

Vlastní klíčový ukazatel výkonu můžete monitorovat živě tak, že na portálu použijete libovolné filtry na libovolnou telemetrii Přehledy aplikace. Vyberte ovládací prvek filtru, který se zobrazí při najetí myší na některý z grafů. Následující graf vykreslí klíčový ukazatel výkonu počtu požadavků s filtry na atributech URL a Duration. Ověřte filtry pomocí oddílu náhledu streamu, který zobrazuje živý kanál telemetrie, který odpovídá kritériím zadaným v libovolném okamžiku.

Screenshot that shows the Filter request rate.

Můžete monitorovat jinou hodnotu než Count. Možnosti závisí na typu datového proudu, což může být jakákoli aplikace Přehledy telemetrii, jako jsou požadavky, závislosti, výjimky, trasování, události nebo metriky. Může to být také vaše vlastní měření.

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

Spolu s telemetrií application Přehledy můžete také monitorovat libovolný čítač výkonu Windows. Vyberte ho z možností datového proudu a zadejte název čítače výkonu.

Živé metriky se agregují ve dvou bodech: místně na každém serveru a pak na všech serverech. Výchozí nastavení můžete změnit v obou z nich výběrem dalších možností v příslušných rozevíracích seznamech.

Ukázková telemetrie: Vlastní živé diagnostické události

Ve výchozím nastavení živý kanál událostí zobrazuje ukázky neúspěšných požadavků a volání závislostí, výjimek, událostí a trasování. Výběrem ikony filtru zobrazíte použitá kritéria v libovolném okamžiku.

Screenshot that shows the Filter button.

Stejně jako u metrik můžete zadat libovolná kritéria pro libovolnou aplikaci Přehledy typy telemetrie. V tomto příkladu vybíráme konkrétní selhání a události požadavků.

Screenshot that shows the Query Builder.

Poznámka:

V současné době pro kritéria na základě zpráv o výjimce použijte vnější zprávu o výjimce. Pokud chcete v předchozím příkladu vyfiltrovat neškodnou výjimku se zprávou vnitřní výjimky (řídí se< oddělovačem --) "Klient odpojen", použijte zprávu, která neobsahuje kritéria "Chyba čtení obsahu požadavku".

Pokud chcete zobrazit podrobnosti o položce v živém kanálu, vyberte ji. Informační kanál můžete pozastavit tak, že vyberete Pozastavit nebo se posunete dolů a vyberete položku. Živý informační kanál se obnoví, jakmile se posunete zpět na začátek nebo když vyberete čítač položek shromážděných během pozastavení.

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

Filtrování podle instance serveru

Pokud chcete monitorovat konkrétní instanci role serveru, můžete filtrovat podle serveru. Chcete-li filtrovat, vyberte název serveru v části Servery.

Screenshot that shows the Sampled live failures.

Zabezpečení řídicího kanálu

Vlastní filtry živé metriky umožňují řídit, která telemetrie vaší aplikace se streamuje do zobrazení Živé metriky na webu Azure Portal. Kritéria filtrů se odesílají do aplikací instrumentovaných pomocí sady Application Přehledy SDK. Hodnota filtru může potenciálně obsahovat citlivé informace, například ID zákazníka. Pokud chcete tuto hodnotu zabezpečit a zabránit potenciálnímu zpřístupnění neoprávněných aplikací, máte dvě možnosti:

  • Doporučeno: Zabezpečte kanál Live Metrics pomocí ověřování Microsoft Entra.
  • Starší verze (už se nedoporučuje): Nastavte ověřený kanál tak, že nakonfigurujete tajný klíč rozhraní API, jak je vysvětleno v části Starší možnost.

Poznámka:

30. září 2025 se klíče rozhraní API používané ke streamování telemetrie živých metrik do aplikace Přehledy vyřadí z provozu. Po tomto datu nebudou aplikace, které používají klíče rozhraní API, odesílat data live metrics do vašeho prostředku Přehledy aplikace. Ověření příjmu telemetrie pro streamování živé metriky do aplikace Přehledy bude potřeba provést s ověřováním Microsoft Entra pro službu Application Přehledy.

Je možné vyzkoušet vlastní filtry, aniž byste museli nastavovat ověřený kanál. Vyberte některou z ikon filtru a povolte připojené servery. Pokud zvolíte tuto možnost, musíte autorizovat připojené servery po každé nové relaci nebo kdykoli je nový server online.

Upozorňující

Důrazně nedoporučujeme používat nezabezpečené kanály a tuto možnost zakážeme šest měsíců poté, co ji začnete používat. Dialogové okno Autorizovat připojené servery zobrazuje datum, po kterém bude tato možnost zakázaná.

Screenshot that shows the Authorize connected servers dialog.

Starší možnost: Vytvoření klíče rozhraní API

  1. Vyberte kartu Přístup k rozhraní API a pak vyberte Vytvořit klíč rozhraní API.

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

  2. Zaškrtněte políčko Ověřit řídicí kanál sady SDK a pak vyberte Generovat klíč.

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

Přidání klíče rozhraní API do konfigurace

Ke konfiguraci můžete přidat klíč rozhraní API pro aplikace ASP.NET, ASP.NET Core, WorkerService a Azure Functions.

Do souboru Program.cs přidejte následující obor názvů:

using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;

Pak přidejte následující registraci služby:

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

Další informace o konfiguraci aplikací ASP.NET Core najdete v tématu Konfigurace modulů telemetrie v ASP.NET Core.

WorkerService

Pro aplikace WorkerService postupujte podle těchto pokynů.

Přidejte následující obor názvů:

using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;

Dále před volání services.AddApplicationInsightsTelemetryWorkerServicepřidejte následující řádek:

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

Další informace o konfiguraci aplikací WorkerService naleznete v tématu Konfigurace modulů telemetrie v WorkerServices.

Aplikace Azure Functions

Pro aplikace Azure Functions (v2) můžete kanál zabezpečit pomocí klíče rozhraní API pomocí proměnné prostředí.

Vytvořte klíč rozhraní API v rámci prostředku Přehledy aplikace a přejděte na Nastavení Konfigurace> aplikace Azure Functions. Vyberte Nové nastavení aplikace, zadejte název APPINSIGHTS_QUICKPULSEAUTHAPIKEYa zadejte hodnotu, která odpovídá vašemu klíči rozhraní API.

Tabulka podporovaných funkcí

Jazyk Základní metriky Metriky výkonu Vlastní filtrování Ukázková telemetrie Rozdělení procesoru podle procesu
.NET Framework Podporováno (LTS) Podporováno (LTS) Podporováno (LTS) Podporováno (LTS) Podporováno (LTS)
.NET Core (target=.NET Framework) Podporováno (LTS) Podporováno (LTS) Podporováno (LTS) Podporováno (LTS) Podporováno (LTS)
.NET Core (target=.NET Core) Podporováno (LTS) Podporuje se* Podporováno (LTS) Podporováno (LTS) Nepodporováno
Azure Functions v2 Podporováno Podporováno Podporováno Podporováno Nepodporováno
Java Podporováno (V2.0.0+) Podporováno (V2.0.0+) Nepodporováno Podporováno (V3.2.0+) Nepodporováno
Node.js Podporováno (V1.3.0+) Podporováno (V1.3.0+) Nepodporováno Podporováno (V1.3.0+) Nepodporováno
Python Nepodporováno Nepodporováno Nepodporováno Nepodporováno Nepodporováno

Mezi základní metriky patří požadavek, závislost a míra výjimek. Metriky výkonu (čítače výkonu) zahrnují paměť a procesor. Ukázková telemetrie zobrazuje datový proud s podrobnými informacemi o neúspěšných požadavcích a závislostech, výjimkách, událostech a trasování.

Podpora perfCounters se mírně liší v různých verzích .NET Core, které necílí na rozhraní .NET Framework:

  • Metriky perfCounters se podporují při spuštění ve službě Aplikace Azure pro Windows (ASP.NET Core SDK verze 2.4.1 nebo vyšší).
  • Funkce PerfCounters se podporuje, když je aplikace spuštěná na jakémkoli počítači s Windows pro aplikace, které cílí na .NET Core LTS nebo vyšší.
  • Funkce PerfCounters se podporuje, když je aplikace spuštěná kdekoli (například Linux, Windows, App Service pro Linux nebo kontejnery), ale jenom pro aplikace, které cílí na .NET Core LTS nebo vyšší.

Řešení problému

Živé metriky používají různé IP adresy než jiné telemetrie Přehledy aplikací. Ujistěte se, že jsou tyto IP adresy otevřené ve vaší bráně firewall. Zkontrolujte také, jestli jsou odchozí porty pro živé metriky otevřené v bráně firewall vašich serverů.

Jak je popsáno v oznámení migrace Azure TLS 1.2, živé metriky teď podporují pouze protokol TLS 1.2. Pokud používáte starší verzi protokolu TLS, živé metriky nezobrazují žádná data. U aplikací založených na rozhraní .NET Framework 4.5.1 najdete v tématu Povolení protokolu TLS (Transport Layer Security) 1.2 v klientech – Configuration Manager pro podporu novější verze protokolu TLS.

Chybějící konfigurace pro .NET

  1. Ověřte, že používáte nejnovější verzi balíčku NuGet Microsoft.Application Přehledy. PerfCounterCollector.

  2. ApplicationInsights.config Upravte soubor:

    • Ověřte, že připojovací řetězec odkazuje na prostředek Přehledy aplikace, který používáte.
    • QuickPulseTelemetryModule Vyhledejte možnost konfigurace. Pokud tam není, přidejte ho.
    • QuickPulseTelemetryProcessor Vyhledejte možnost konfigurace. Pokud tam není, přidejte ho.
    <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. Restartujte aplikaci.

Stavová zpráva Data jsou dočasně nepřístupná

Při přechodu na živé metriky se může zobrazit banner se stavovou zprávou: Data jsou dočasně nepřístupná. Aktualizace o našem stavu jsou publikovány zde https://aka.ms/aistatus "

Postupujte podle odkazu na stránku stavu Azure a zkontrolujte, jestli nedošlo k výpadku aktivace, který ovlivňuje Přehledy aplikace. Ověřte, že brány firewall a rozšíření prohlížeče neblokují přístup k živým metrikám, pokud k výpadku nestává. Například některá oblíbená rozšíření ad-blocker blokují připojení k *.monitor.azure.com. Pokud chcete použít úplné možnosti živých metrik, zakažte buď rozšíření ad-blockeru, nebo přidejte pravidlo vyloučení pro doménu *.livediagnostics.monitor.azure.com do vašeho nástroje pro blokování reklam, bránu firewall atd.

Neočekávaný velký počet požadavků na livediagnostics.monitor.azure.com

Sady SDK Přehledy aplikací používají rozhraní REST API ke komunikaci s koncovými body QuickPulse, které poskytují živé metriky pro vaši webovou aplikaci. Ve výchozím nastavení se sady SDK každých pět sekund dotazují na koncové body a kontrolují, jestli se na webu Azure Portal zobrazuje podokno Živé metriky.

Pokud otevřete podokno Živé metriky, sady SDK přepnou do režimu s vyšší frekvencí a každou sekundu odešlou nové metriky do quickPulse. To vám umožní monitorovat a diagnostikovat živou aplikaci s latencí 1 sekundy, ale také generovat další síťový provoz. Pokud chcete obnovit normální tok provozu, naviage pryč z podokna Živé metriky.

Poznámka:

Volání rozhraní REST API provedená sadami SDK pro koncové body QuickPulse nejsou sledována Přehledy aplikací a nemají vliv na volání závislostí ani jiné metriky. Můžete je ale vidět v jiných nástrojích pro monitorování sítě.

Další kroky