Živé metriky: Monitorování a diagnostika s latencí 1 sekundy
K monitorování webových aplikací použijte živé metriky z Application Insights . Vyberte a vyfiltrujte metriky a čítače výkonu, abyste mohli sledovat v reálném čase a kontrolovat trasování zásobníku z ukázkových neúspěšných požadavků a výjimek. Prostředí živých metrik je výkonný diagnostický nástroj v kombinaci s .NET Profiler a Snapshot Debugger.
S živými metrikami 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.
Začínáme
- Povolte živé metriky podle následujících pokynů pro konkrétní jazyk:
- ASP.NET: Nepodporuje se.
- ASP.NET Core: Ve výchozím nastavení je povoleno.
- Java: Ve výchozím nastavení je povolená.
- Node.js: Ve výchozím nastavení je povoleno.
- Python: Předat
enable_live_metrics=True
doconfigure_azure_monitor
. Další informace najdete v dokumentaci k distribuci OpenTelemetry pro Azure Monitor.
Na webu Azure Portal otevřete prostředek Application Insights pro vaši aplikaci. Vyberte Živé metriky, které jsou uvedené v části Prošetření v nabídce vlevo.
Pokud používáte vlastní filtry, zabezpečte řídicí kanál povolením ověřování Microsoft Entra.
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.
Jak se živé metriky liší od Průzkumníka metrik a Log Analytics?
Možnosti | 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ých metrik. | 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í ukazatele výkonu můžete monitorovat živě použitím libovolných filtrů na libovolnou telemetrii Application Insights z portálu. 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.
Můžete monitorovat jinou hodnotu než Count. Možnosti závisí na typu datového proudu, což může být jakákoli telemetrie Application Insights, 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í.
Spolu s telemetrií Application Insights můžete také monitorovat jakýkoli čí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.
Stejně jako u metrik můžete pro libovolný typ telemetrie Application Insights zadat libovolná kritéria. V tomto příkladu vybíráme konkrétní selhání a události požadavků.
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í.
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.
Zabezpečení řídicího kanálu
Zabezpečte kanál řízení živých metrik povolením ověřování Microsoft Entra, které brání neoprávněnému zveřejnění potenciálně citlivých informací zadaných do vlastních filtrů.
Poznámka:
K 30. září 2025 budou vyřazeny klíče rozhraní API používané ke streamování telemetrie ze živých metrik do Application Insights. Po tomto datu nebudou aplikace, které používají klíče rozhraní API, do vašeho prostředku Application Insights odesílat živá data metrik. Ověření příjmu telemetrie pro streamování živých metrik do Application Insights bude potřeba provést s ověřováním Microsoft Entra pro Application Insights.
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 | Podporováno (distribuce verze 1.6.0+) | 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
Následující část popisuje běžné scénáře řešení potíží pro prostředí živých metrik.
Chybějící živá data metrik
Prostředí živých metrik používá různé IP adresy než jiné telemetrie Application Insights. 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, metriky za provozu teď podporují pouze protokol TLS 1.2. Pokud používáte starší verzi protokolu TLS, podokno živých metrik nezobrazuje žá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.
Ověřte, že je služba Application Insights povolená a vaše aplikace používá nejnovější verzi distribuce OpenTelemetry služby Azure Monitor. Pokud používáte the.NET klasické rozhraní API, nainstalujte balíček NuGet Application Insights .
Autorizace připojených serverů: Tato možnost nebude dostupná.
Důrazně nedoporučujeme používat nezabezpečené kanály.
Pokud se rozhodnete vyzkoušet vlastní filtry bez nastavení ověřeného kanálu, budete muset autorizovat připojené servery v každé nové relaci nebo když budou nové servery online. Používání nezabezpečených kanálů se navíc po šesti měsících automaticky zakáže.
V dialogovém okně se zobrazí upozornění" Můžete streamovat metriky a události s vlastními filtry, které se posílají zpět do vaší aplikace. Vyhněte se zadávání potenciálně citlivých informací (například ID zákazníka), dokud nenastavíte ověřený kanál. Pokud ale níže rozpoznáte a důvěřujete všem serverům, můžete vyzkoušet vlastní filtry bez ověřování. Tato možnost nebude k dispozici po ##/##/##.. Servery připojené bez ověřování:"
Pokud chcete toto upozornění opravit, přečtěte si téma Zabezpečení řídicího kanálu.
Nízký počet monitorovaných instancí serveru
Počet monitorovaných instancí serveru zobrazených živými metrikami 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í pouze servery, na kterých je aplikace aktuálně spuštěná, nebudou servery, které už proces nenačetly, zahrnuté do celkového součtu.
Chybějící konfigurace pro .NET
Ověřte, že používáte nejnovější verzi balíčku NuGet Microsoft.ApplicationInsights.PerfCounterCollector.
ApplicationInsights.config
Upravte soubor:- Ověřte, že připojovací řetězec odkazuje na prostředek Application Insights, 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>
Restartujte aplikaci.
Stavová zpráva Data jsou dočasně nepřístupná
Při přechodu na živé metriky se zobrazí 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ý má vliv na Application Insights. 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, buď zakažte 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 Application Insights SDK používají rozhraní REST API ke komunikaci s koncovými body QuickPulse, které poskytují živé metriky pro vaši webovou aplikaci. Sady SDK ve výchozím nastavení každých pět sekund dotazují koncové body a kontrolují, jestli se na webu Azure Portal zobrazuje podokno živých metrik.
Pokud otevřete ž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ých metrik.
Poznámka:
Application Insights nesledují volání rozhraní REST API provedená sadami SDK pro koncové body QuickPulse a neovlivňují volání závislostí ani jiné metriky. Můžete je ale vidět v jiných nástrojích pro monitorování sítě.