Élő metrikák: 1 másodperces késés monitorozása és diagnosztizálása

Élő, éles webalkalmazás monitorozása az Alkalmazás Elemzések élő metrikáival (más néven QuickPulse) A metrikákat és a teljesítményszámlálókat úgy választhatja ki és szűrheti, hogy valós időben, a szolgáltatás zavarása nélkül nézzenek. A sikertelen kérelmek és kivételek mintáiból származó verem-nyomkövetéseket is megvizsgálhatja. A Profilerrel és a Snapshot Debuggerrel együtt az élő metrikák hatékony és nem hatékony diagnosztikai eszközt biztosítanak az élő webhelyhez.

Feljegyzés

Az Élő metrikák csak a TLS 1.2-t támogatják. További információk: Hibaelhárítás.

Az élő metrikákkal a következőt teheti:

  • Ellenőrizze a javítást a kiadás közben a teljesítmény és a hibák számának figyelésével.
  • Figyelje meg a tesztterhelések hatását, és diagnosztizálja a problémákat élőben.
  • A megtekinteni kívánt metrikák kiválasztásával és szűrésével az egyes teszt munkamenetekre összpontosíthat, vagy kiszűrheti az ismert problémákat.
  • Kivételkövetések lekérése.
  • Kísérletezzen szűrőkkel a legrelevánsabb KPI-k megkereséséhez.
  • A Windows teljesítményszámlálóinak élő monitorozása.
  • Egyszerűen azonosíthat egy olyan kiszolgálót, amely problémákat tapasztal, és az összes KPI-/élő hírcsatornát csak erre a kiszolgálóra szűri.

Screenshot that shows the Live Metrics tab.

Az élő metrikák jelenleg ASP.NET, ASP.NET Core, Azure Functions, Java és Node.js alkalmazásokhoz támogatottak.

Feljegyzés

Az élő metrikák által megjelenített figyelt kiszolgálópéldányok száma alacsonyabb lehet, mint az alkalmazáshoz lefoglalt példányok tényleges száma. Ennek az eltérésnek az az oka, hogy számos modern webkiszolgáló eltávolítja azokat az alkalmazásokat, amelyek nem kapnak kéréseket az erőforrások megőrzése érdekében. Mivel az élő metrikák csak az alkalmazást jelenleg futtató kiszolgálókat számlálják meg, a folyamatot már kiürítő kiszolgálók nem lesznek belefoglalva az összegbe.

Első lépések

Fontos

Az alkalmazás Elemzések engedélyezéséhez győződjön meg arról, hogy aktiválva van az Azure Portalon, és az alkalmazás az Alkalmazás Elemzések NuGet-csomag legújabb verzióját használja. A NuGet-csomag nélkül a rendszer néhány telemetriát küld az Alkalmazás Elemzések, de ez a telemetria nem jelenik meg az élő metrikákban.

  1. Az élő metrikák engedélyezéséhez kövesse a nyelvspecifikus irányelveket:

  2. Nyissa meg az Alkalmazás Elemzések erőforrást az Azure Portalon. Ezután nyissa meg az Élő streamet.

  3. Biztonságossá teheti a vezérlőcsatornát , ha bizalmas adatokat, például ügyfélneveket használ a szűrőkben.

Feljegyzés

2025. március 31-én megszűnik az eszközkulcsalapú betöltés támogatása. A rendszerállapot-kulcsok betöltése továbbra is működni fog, de a továbbiakban nem biztosítunk frissítéseket vagy támogatást a funkcióhoz. Váltás kapcsolati sztring az új képességek kihasználásához.

Élő metrikák engedélyezése bármely .NET-alkalmazás kódjának használatával

Feljegyzés

Az élő metrikák alapértelmezés szerint engedélyezve lesznek, amikor a .NET-alkalmazásokra vonatkozó ajánlott utasításokat követve készíti el.

Élő metrikák manuális konfigurálása:

  1. Telepítse a Microsoft.Application NuGet-csomagot Elemzések. PerfCounterCollector.
  2. Az alábbi minta konzolalkalmazás-kód az élő metrikák beállítását mutatja be:
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();
}

Az előző minta egy konzolalkalmazáshoz készült, de ugyanez a kód bármely .NET-alkalmazásban használható. Ha bármely más telemetriai modul engedélyezve van a telemetriai adatok automatikus elemzéséhez, fontos, hogy az élő metrikák modulhoz ugyanazt a konfigurációt használja a modul inicializálásához.

Miben különböznek az élő metrikák a Metrics Explorertől és a Log Analyticstől?

Képességek Élő stream Metrics Explorer és Log Analytics
Késés Egy másodpercen belül megjelenített adatok. Percek alatt összesítve.
Nincs adatmegőrzés Az adatok megmaradnak, amíg a diagramon szerepelnek, majd el lesznek vetve. 90 napig megőrzött adatok.
Igény szerinti Az adatok csak akkor lesznek streamelve, ha az Élő metrikák panel meg van nyitva. A rendszer minden alkalommal küld adatokat, amikor az SDK telepítve van és engedélyezve van.
Ingyenes A Live Stream-adatokért díjmentesen lehet fizetni. Díjszabás szerint.
Mintavételezés A rendszer minden kiválasztott metrikát és számlálót továbbít. A rendszer hiba- és veremkövetkezési mintákat használ. Az események mintavételezettek.
Csatorna vezérlése A szűrővezérlő jeleket a rendszer elküldi az SDK-nak. Javasoljuk, hogy biztonságossá tegye ezt a csatornát. A kommunikáció az egyik módja a portálnak.

A metrikák kiválasztása és szűrése

Ezek a képességek ASP.NET, ASP.NET Core és Azure Functions (v2) használatával érhetők el.

Az egyéni KPI élő monitorozásához tetszőleges szűrőket alkalmazhat bármely alkalmazásra Elemzések telemetriára a portálról. Válassza ki azt a szűrővezérlőt, amely akkor jelenik meg, amikor az egérmutatót a diagramok bármelyike fölé viszi. Az alábbi diagram egy egyéni kérelemszám KPI-t ábrázol url- és Duration attribútumok szűrőivel. Ellenőrizze a szűrőket a stream előnézeti szakaszával, amely egy élő telemetriai hírcsatornát jelenít meg, amely megfelel a megadott feltételeknek.

Screenshot that shows the Filter request rate.

A Darabszámtól eltérő értékeket figyelhet. A beállítások a stream típusától függenek, amely lehet bármely alkalmazás Elemzések telemetriai adatok, például kérések, függőségek, kivételek, nyomkövetések, események vagy metrikák. Ez lehet a saját egyéni mérése is.

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

Az Alkalmazás Elemzések telemetriai adatok mellett bármely Windows-teljesítményszámlálót is figyelhet. Válassza ki a stream beállításai közül, és adja meg a teljesítményszámláló nevét.

Az élő metrikák két ponton vannak összesítve: helyileg minden kiszolgálón, majd az összes kiszolgálón. Az alapértelmezett beállításokat bármelyiknél módosíthatja a megfelelő legördülő listákban található egyéb beállítások kiválasztásával.

Minta telemetria: Egyéni élő diagnosztikai események

Az események élő hírcsatornája alapértelmezés szerint a sikertelen kérések és függőségi hívások, kivételek, események és nyomkövetések mintáit jeleníti meg. A szűrőikonra kattintva bármikor megtekintheti az alkalmazott feltételeket.

Screenshot that shows the Filter button.

A metrikákhoz hasonlóan tetszőleges feltételeket is megadhat bármelyik alkalmazáshoz Elemzések telemetriai típushoz. Ebben a példában konkrét kéréshibákat és eseményeket választunk ki.

Screenshot that shows the Query Builder.

Feljegyzés

Jelenleg a kivételek üzenetalapú feltételeihez használja a legkülső kivételüzenetet. Az előző példában a jóindulatú kivételt egy belső kivételüzenettel szeretné kiszűrni (a "<--" elválasztójelet követve) "Az ügyfél leválasztva", használjon olyan üzenetet, amely nem tartalmazza a "Hiba a kérelem tartalmának olvasása" feltételt.

Ha meg szeretné tekinteni egy elem részleteit az élő hírcsatornában, jelölje ki. A hírcsatornát szüneteltetheti a Szüneteltetés lehetőség választásával, vagy lefelé görgetve és egy elem kiválasztásával. Az élő hírcsatorna azután folytatódik, hogy visszagörget a lap tetejére, vagy amikor kiválasztja a szüneteltetés alatt összegyűjtött elemek számlálóját.

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

Szűrés kiszolgálópéldány szerint

Ha egy adott kiszolgálói szerepkörpéldányt szeretne figyelni, szűrhet kiszolgáló szerint. A szűréshez válassza ki a kiszolgáló nevét a Kiszolgálók területen.

Screenshot that shows the Sampled live failures.

A vezérlőcsatorna védelme

Az élő metrikák egyéni szűrői lehetővé teszik annak szabályozását, hogy az alkalmazás telemetria melyikét streameli a rendszer az Azure Portal Élő metrikák nézetére. A szűrők feltételei az alkalmazás Elemzések SDK-val rendszerezett alkalmazásoknak lesznek elküldve. A szűrőérték bizalmas információkat tartalmazhat, például az ügyfélazonosítót. Ennek az értéknek a biztonságossá tételéhez és a jogosulatlan alkalmazások lehetséges közzétételének megakadályozásához két lehetősége van:

  • Ajánlott: Az élő metrikák csatornájának védelme Microsoft Entra-hitelesítéssel.
  • Örökölt (már nem ajánlott): Hitelesített csatorna beállítása titkos API-kulcs konfigurálásával az "Örökölt beállítás" szakaszban leírtak szerint.

Feljegyzés

2025. szeptember 30-án az élő metrikák telemetriai adatainak az Application Elemzések-ba való streameléséhez használt API-kulcsok kivonásra kerülnek. Ezen dátum után az API-kulcsokat használó alkalmazások nem fognak tudni élő metrikákat küldeni az alkalmazás Elemzések erőforrásba. Az alkalmazásba streamelt élő metrikák hitelesített telemetriai betöltését az Alkalmazás Elemzések microsoft Entra-hitelesítéssel kell elvégezni az alkalmazás Elemzések.

Az egyéni szűrőket anélkül is kipróbálhatja, hogy hitelesített csatornát kellene beállítania. Válassza ki bármelyik szűrőikont, és engedélyezze a csatlakoztatott kiszolgálókat. Ha ezt a lehetőséget választja, minden új munkamenetben vagy új kiszolgáló online állapotában engedélyeznie kell a csatlakoztatott kiszolgálókat.

Figyelmeztetés

Határozottan eltántorítjuk a nem biztonságos csatornák használatát, és hat hónappal a használat megkezdése után letiltjuk ezt a lehetőséget. A Csatlakoztatott kiszolgálók engedélyezése párbeszédpanelen megjelenik az a dátum, amely után ez a beállítás le lesz tiltva.

Screenshot that shows the Authorize connected servers dialog.

Örökölt beállítás: API-kulcs létrehozása

  1. Válassza az API Access lapot, majd az API-kulcs létrehozása lehetőséget.

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

  2. Jelölje be az SDK-vezérlőcsatorna hitelesítése jelölőnégyzetet, majd válassza a Kulcs létrehozása lehetőséget.

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

API-kulcs hozzáadása a konfigurációhoz

Api-kulcsot adhat hozzá a konfigurációhoz ASP.NET, ASP.NET Core, WorkerService és Azure Functions-alkalmazásokhoz.

A Program.cs fájlban adja hozzá a következő névteret:

using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;

Ezután adja hozzá a következő szolgáltatásregisztrációt:

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

Az ASP.NET Core-alkalmazások konfigurálásával kapcsolatos további információkért lásd : Telemetriamodulok konfigurálása ASP.NET Core-ban.

WorkerService

WorkerService-alkalmazások esetén kövesse az alábbi utasításokat.

Adja hozzá a következő névteret:

using Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse;

Ezután adja hozzá a következő sort a hívás services.AddApplicationInsightsTelemetryWorkerServiceelőtt:

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

A WorkerService-alkalmazások konfigurálásával kapcsolatos további információkért lásd : Telemetriamodulok konfigurálása a WorkerServicesben.

Azure Functions-alkalmazások

Az Azure Functions-alkalmazások (v2) esetében egy környezeti változó használatával egy API-kulccsal védheti a csatornát.

Hozzon létre egy API-kulcsot az alkalmazás Elemzések erőforrásból, és lépjen az Azure Functions-alkalmazás Gépház> Configuration eleméhez. Válassza az Új alkalmazás beállítást, adja meg a APPINSIGHTS_QUICKPULSEAUTHAPIKEYnevét, és adjon meg egy, az API-kulcsnak megfelelő értéket.

Támogatott funkciók táblázata

Nyelv Alapszintű metrikák Teljesítmény-mérőszámok Egyéni szűrés Mintatelemetria Processzor felosztása folyamat szerint
.NET-keretrendszer Támogatott (LTS) Támogatott (LTS) Támogatott (LTS) Támogatott (LTS) Támogatott (LTS)
.NET Core (target=.NET-keretrendszer) Támogatott (LTS) Támogatott (LTS) Támogatott (LTS) Támogatott (LTS) Támogatott (LTS)
.NET Core (target=.NET Core) Támogatott (LTS) Támogatott* Támogatott (LTS) Támogatott (LTS) Nem támogatott
Azure Functions v2 Támogatott Támogatott Támogatott Támogatott Nem támogatott
Java Támogatott (V2.0.0+) Támogatott (V2.0.0+) Nem támogatott Támogatott (V3.2.0+) Nem támogatott
Node.js Támogatott (V1.3.0+) Támogatott (V1.3.0+) Nem támogatott Támogatott (V1.3.0+) Nem támogatott
Python Nem támogatott Nem támogatott Nem támogatott Nem támogatott Nem támogatott

Az alapvető metrikák közé tartozik a kérések, a függőségek és a kivételi arány. A teljesítménymetrikák (teljesítményszámlálók) tartalmazzák a memóriát és a CPU-t. A mintatelemetria részletes információkat jelenít meg a sikertelen kérelmekről és függőségekről, kivételekről, eseményekről és nyomkövetésekről.

A PerfCounters-támogatás a .NET Core azon verzióitól függően kissé eltérő, amelyek nem a .NET-keretrendszer célják:

  • A PerfCounters-metrikák támogatottak Azure-alkalmazás Windows-szolgáltatásban (ASP.NET Core SDK 2.4.1-es vagy újabb verziójában).
  • A perfCounters akkor támogatott, ha az alkalmazás bármely Windows-gépen fut a .NET Core LTS-t vagy annál magasabb szintű alkalmazásokat célozva.
  • A perfCounters akkor támogatott, ha az alkalmazás bárhol (például Linux, Windows, Linux app service vagy tárolók) fut a legújabb verziókban, de csak a .NET Core LTS-t vagy annál magasabb szintű alkalmazásokat.

Hibaelhárítás

Az élő metrikák más IP-címeket használnak, mint az alkalmazás Elemzések telemetriai adatai. Győződjön meg arról, hogy ezek az IP-címek meg vannak nyitva a tűzfalon. Ellenőrizze azt is, hogy az élő metrikák kimenő portjai nyitva vannak-e a kiszolgálók tűzfalán.

Az Azure TLS 1.2 migrálási bejelentésében leírtak szerint az Élő metrikák mostantól csak a TLS 1.2-t támogatják. Ha a TLS régebbi verzióját használja, az Élő metrikák nem jelenít meg adatokat. A .NET-keretrendszer 4.5.1-es verzióján alapuló alkalmazások esetében lásd: A Transport Layer Security (TLS) 1.2 engedélyezése az ügyfeleken – Configuration Manager az újabb TLS-verzió támogatásához.

Hiányzó konfiguráció a .NET-hez

  1. Ellenőrizze, hogy a Microsoft.Application NuGet-csomag legújabb verzióját használja-e Elemzések. PerfCounterCollector.

  2. ApplicationInsights.config A fájl szerkesztése:

    • Ellenőrizze, hogy a kapcsolati sztring a használt alkalmazás Elemzések erőforrásra mutat-e.
    • Keresse meg a QuickPulseTelemetryModule konfigurációs lehetőséget. Ha nincs ott, adja hozzá.
    • Keresse meg a QuickPulseTelemetryProcessor konfigurációs lehetőséget. Ha nincs ott, adja hozzá.
    <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. Indítsa újra az alkalmazást.

"Az adatok ideiglenesen elérhetetlenek" állapotüzenet

Az élő metrikákra való navigáláskor egy szalagcím jelenhet meg a következő állapotüzenettel: "Az adatok ideiglenesen elérhetetlenek. Az állapotunkra vonatkozó frissítések itt https://aka.ms/aistatus jelennek meg: "

Kövesse az Azure állapotlapjára mutató hivatkozást, és ellenőrizze, hogy van-e aktiválási kimaradás az alkalmazás Elemzések. Ellenőrizze, hogy a tűzfalak és a böngészőbővítmények nem blokkolják-e az élő metrikákhoz való hozzáférést, ha nem történik leállás. Néhány népszerű hirdetésblokkoló bővítmény például letiltja a kapcsolatot a következővel *.monitor.azure.com: . Az élő metrikák teljes képességeinek használatához tiltsa le az ad-blocker bővítményt, vagy adjon hozzá egy kizárási szabályt a tartományhoz *.livediagnostics.monitor.azure.com a hirdetésblokkolóhoz, a tűzfalhoz stb.

Váratlanul nagy számú kérés livediagnostics.monitor.azure.com

Az alkalmazás Elemzések SDK-k REST API-val kommunikálnak a QuickPulse-végpontokkal, amelyek élő metrikákat biztosítanak a webalkalmazáshoz. Alapértelmezés szerint az SDK-k öt másodpercenként egyszer kérdezik le a végpontokat annak ellenőrzéséhez, hogy megtekinti-e az Élő metrikák panelt az Azure Portalon.

Ha megnyitja az Élő metrikák panelt, az SDK-k magasabb gyakoriságú üzemmódra váltanak, és másodpercenként új metrikákat küldenek a QuickPulse-nak. Ez lehetővé teszi, hogy 1 másodperces késéssel monitorozza és diagnosztizálja az élő alkalmazást, de nagyobb hálózati forgalmat is generáljon. A normál forgalom visszaállításához navigáljon az Élő metrikák panelről.

Feljegyzés

Az SDK-k által a QuickPulse-végpontokra irányuló REST API-hívásokat az alkalmazás Elemzések nem követi nyomon, és nem befolyásolja a függőségi hívásokat vagy más metrikákat. Ezek azonban más hálózati monitorozási eszközökben is megjelenhetnek.

Következő lépések