Megosztás a következőn keresztül:


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

Élő, éles webalkalmazásának monitorozása az Application Insights élő metrikáival (más néven QuickPulse) történik. 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.

Képernyőkép az Élő metrikák lapról.

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 Application Insights engedélyezéséhez győződjön meg arról, hogy aktiválva van az Azure Portalon, és az alkalmazás az Azure Monitor OpenTelemetry Distro vagy a Classic Application Insights NuGet csomag legújabb verzióját használja. A NuGet-csomag nélkül a rendszer elküld néhány telemetriát az Application Insightsnak, 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:

OpenTelemetria használata (ajánlott):

  • ASP.NET: Az élő metrikák alapértelmezés szerint engedélyezve van.
  • ASP.NET Core: Az élő metrikák alapértelmezés szerint engedélyezve van.
  • Java: Az élő metrikák alapértelmezés szerint engedélyezve lesznek.
  • Node.js: Az élő metrikák alapértelmezés szerint engedélyezve van.
  • Python: Az élő metrikák alapértelmezés szerint engedélyezve lesznek.

Klasszikus használata:

  1. Az Azure Portalon nyissa meg az alkalmazás Application Insights-erőforrását. Ezután nyissa meg az Élő streamet.

  2. 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 NuGet-csomagot : Microsoft.ApplicationInsights.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 Application Insights-telemetriára a portálon. 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.

Képernyőkép a Kérelem szűrése arányról.

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ármilyen Application Insights-telemetria, 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.

Képernyőkép a Lekérdezésszerkesztő kérelemarányról egyéni metrikával.

Az Application Insights telemetriai adatai 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.

Képernyőkép a Szűrő gombról.

A metrikákhoz hasonlóan tetszőleges feltételeket is megadhat bármely Application Insights-telemetriatípushoz. Ebben a példában konkrét kéréshibákat és eseményeket választunk ki.

Képernyőkép a Lekérdezésszerkesztőről.

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.

Képernyőkép a Minta telemetriai ablakról, amelyen egy kivétel van kijelölve, és a kivétel részletei az ablak alján jelennek meg.

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.

Képernyőkép a mintavételezett élő hibákról.

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 Application Insights 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 adatok Application Insightsba való streameléséhez használt API-kulcsok kivonásra kerülnek. Ezt követően az API-kulcsokat használó alkalmazások nem tudnak élő metrikákat küldeni az Application Insights-erőforrásba. Az Application Insightsba streamelt élő metrikák hitelesített telemetriai betöltését a Microsoft Entra-hitelesítéssel kell elvégezni az Application Insightshoz.

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.

Képernyőkép a Csatlakoztatott kiszolgálók engedélyezése párbeszédpanelről.

Ö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.

    Képernyőkép az API Access lap és az API-kulcs létrehozása gomb kiválasztásáról.

  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.

    Képernyőkép az API-kulcs létrehozása panelről. 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.

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 Application Insights-erőforrásból, és nyissa meg az Azure Functions-alkalmazás beállítások>konfigurációját. 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 Application Insights más telemetriái. 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.ApplicationInsights.PerfCounterCollector NuGet-csomag legújabb verzióját használja-e.

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

    • Ellenőrizze, hogy a kapcsolati sztring a használt Application Insights-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 Application Insightsban. 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 Application Insights SDK-k REST API-val kommunikálnak a QuickPulse-végpontokkal, amelyek élő metrikákat biztosítanak a webalkalmazás számára. 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 Application Insights 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