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


Naplóalapú és előre összesített metrikák az Application Insightsban

Feljegyzés

Az alábbi dokumentáció a klasszikus Application Insights API-ra támaszkodik. Az Application Insights hosszú távú terve, hogy adatokat gyűjtsön az OpenTelemetry használatával. További információ: Az Azure Monitor OpenTelemetria engedélyezése .NET-, Node.js-, Python- és Java-alkalmazásokhoz.

Ez a cikk ismerteti a naplókon és az előre csoportosított metrikákon alapuló "hagyományos" Application Insights-metrikák közötti különbséget. Mindkét metrikatípus elérhető az Application Insights felhasználói számára. Mindegyik egyedi értéket biztosít az alkalmazás állapotának, diagnosztikájának és elemzésének monitorozásában. Az alkalmazásokat létrehozó fejlesztők eldönthetik, hogy melyik típusú metrika felel meg a legjobban egy adott forgatókönyvnek. A döntések az alkalmazás méretén, a várható telemetriai mennyiségen, valamint a metrikák pontosságára és riasztására vonatkozó üzleti követelményeken alapulnak.

Naplóalapú metrikák

Korábban az Application Insights telemetriai adatmodellje csak néhány előre definiált eseménytípuson alapult, például kéréseken, kivételeken, függőségi hívásokon és lapmegtekintéseken. A fejlesztők az SDK használatával manuálisan is kibocsáthatják ezeket az eseményeket az SDK-t explicit módon meghívó kód megírásával. Vagy támaszkodhatnak az automatikus beléptetésből származó események automatikus gyűjtésére. Az Application Insights háttérrendszere mindkét esetben naplóként tárolja az összes összegyűjtött eseményt. Az Azure Portal Application Insights paneljei elemzési és diagnosztikai eszközként szolgálnak az eseményalapú adatok naplókból való vizualizációjához.

A naplók használata az események teljes készletének megőrzéséhez nagy elemzési és diagnosztikai értéket hozhat. Lekérheti például egy adott URL-címre irányuló kérések pontos számát a hívásokat végrehajtó különböző felhasználók számával. Vagy részletes diagnosztikai nyomkövetéseket is kaphat, beleértve a kivételeket és a függőségi hívásokat bármely felhasználói munkamenethez. Az ilyen típusú információk javíthatják az alkalmazás állapotának és használatának láthatóságát. Emellett az alkalmazásokkal kapcsolatos problémák diagnosztizálásához szükséges időt is lerövidítheti.

Ugyanakkor az események teljes halmazának összegyűjtése nem praktikus vagy akár lehetetlenné is válhat olyan alkalmazások esetében, amelyek nagy mennyiségű telemetriát hoznak létre. Olyan helyzetekben, amikor az események mennyisége túl nagy, az Application Insights számos olyan telemetriai kötetcsökkentési technikát implementál, amelyek csökkentik az összegyűjtött és tárolt események számát. Ezek a technikák közé tartozik a mintavételezés és a szűrés. Sajnos a tárolt események számának csökkentése csökkenti azon metrikák pontosságát is, amelyeknek a háttérben a naplókban tárolt események lekérdezési idő összesítését kell végrehajtaniuk.

Feljegyzés

Az Application Insightsban a naplókban tárolt események és mérések lekérdezési idő szerinti összesítésén alapuló metrikákat naplóalapú metrikáknak nevezzük. Ezek a metrikák általában számos dimenzióval rendelkeznek az eseménytulajdonságokból, ami jobb elemzést tesz lehetővé. Ezeknek a metrikáknak a pontosságát negatívan befolyásolja a mintavételezés és a szűrés.

Előre csoportosított metrikák

A naplóalapú metrikák mellett az Application Insights csapata 2018 végén egy, az idősorokhoz optimalizált speciális adattárban tárolt metrikák nyilvános előzetesét is elküldte. Az új metrikák már nem maradnak egyedi eseményként, sok tulajdonságokkal. Ehelyett előre összesített idősorként vannak tárolva, és csak a fő dimenziókkal. Ez a módosítás jobbá teszi az új metrikákat a lekérdezési időben. Az adatok beolvasása gyorsabban történik, és kevesebb számítási teljesítményt igényel. Ennek eredményeképpen engedélyezve vannak az új forgatókönyvek, például a metrikák dimenzióinak közel valós idejű riasztása és a rugalmasabb irányítópultok.

Fontos

Az Application Insightsban a naplóalapú és az előre összesített metrikák is együtt élnek. A kettő megkülönböztetéséhez az Application Insights felhasználói élményében az előre összeállított metrikákat standard metrikáknak nevezzük. Az események hagyományos metrikáit naplóalapú metrikákra nevezték át.

Az újabb SDK-k (.NET-hez készült Application Insights 2.7 SDK vagy újabb verziók) előre összesítik a metrikákat a gyűjtemény során. Ez a folyamat az alapértelmezés szerint küldött szabványos metrikákra vonatkozik, így a pontosságot nem befolyásolja a mintavételezés vagy a szűrés. A GetMetric használatával küldött egyéni metrikákra is vonatkozik, ami kevesebb adatbetöltést és alacsonyabb költséget eredményez.

Azok az SDK-k esetében, amelyek nem implementálják a preaggregációt (vagyis az Application Insights SDK-k régebbi verzióit vagy a böngészőbeli rendszerezést), az Application Insights háttérrendszere továbbra is feltölti az új metrikákat az Application Insights eseménygyűjtési végpontja által fogadott események összesítésével. Bár nem élvezheti a vezetéken keresztül továbbított adatok mennyiségét, továbbra is használhatja az előre összeállított metrikákat, és jobb teljesítményt és támogatást kaphat a közel valós idejű dimenziós riasztásokhoz olyan SDK-kkal, amelyek nem gyűjtenek előre metrikákat a gyűjtés során.

A gyűjteményvégpont előre összesít eseményeket a betöltési mintavételezés előtt. Ezért a betöltési mintavételezés soha nem befolyásolja az előre összeállított metrikák pontosságát, függetlenül az alkalmazáshoz használt SDK-verziótól.

SDK által támogatott előre csoportosított metrikák táblázata

Aktuális éles SDK-k Standard metrikák (SDK-előaggregáció) Egyéni metrikák (SDK-előösszesítés nélkül) Egyéni metrikák (SDK-előösszesítéssel)
.NET Core és .NET-keretrendszer Támogatott (V2.13.1+) TrackMetric használatával támogatott Támogatott (V2.7.2+) a GetMetric használatával
Java Nem támogatott TrackMetric használatával támogatott Nem támogatott
Node.js Támogatott (V2.0.0+) TrackMetric használatával támogatott Nem támogatott
Python Nem támogatott Támogatott Részben támogatott OpenCensus.stats

Feljegyzés

A Python OpenCensus.stats használatával történő metrika-implementációja eltér a GetMetric-től. További információkért tekintse meg a Python metrikákra vonatkozó dokumentációját.

Kód nélküli támogatott előre összesített metrikák táblázata

Aktuális éles SDK-k Standard metrikák (SDK-előaggregáció) Egyéni metrikák (SDK-előösszesítés nélkül) Egyéni metrikák (SDK-előösszesítéssel)
ASP.NET Támogatott 1 Nem támogatott Nem támogatott
ASP.NET Core Támogatott 2 Nem támogatott Nem támogatott
Java Nem támogatott Nem támogatott Támogatott
Node.js Nem támogatott Nem támogatott Nem támogatott
  1. ASP.NET virtuális gépeken/virtuálisgép-méretezési csoportokon és a helyszíni rendszereken az automatikus beinstruálás szabványos metrikákat bocsát ki dimenziók nélkül. Ugyanez igaz Azure-alkalmazás szolgáltatásra is, de a gyűjteményszintet ajánlottra kell állítani. Az SDK minden dimenzióhoz szükséges.
  2. ASP.NET Core autoinstrumentation on App Service standard metrikákat bocsát ki dimenziók nélkül. Az SDK minden dimenzióhoz szükséges.

Preaggregáció használata egyéni Application Insights-metrikákkal

Az előaggregációt egyéni metrikákkal is használhatja. A két fő előny a következők:

  • Egyéni metrikák dimenzióinak konfigurálása és riasztása
  • Csökkentse az SDK-ból az Application Insights-gyűjtemény végpontjára küldött adatok mennyiségét

Az Application Insights SDK-ból többféleképpen küldhet egyéni metrikákat. Ha az SDK verziója GetMetric és TrackValue elemet kínál, ezek a módszerek az egyéni metrikák küldésének előnyben részesített módja. Ebben az esetben az előaggregáció az SDK-ban történik. Ez a megközelítés csökkenti az Azure-ban tárolt adatok mennyiségét, valamint az SDK-ból az Application Insightsba továbbított adatok mennyiségét. Ellenkező esetben használja a trackMetric metódust, amely előre összesít metrikaeseményeket az adatbetöltés során.

Egyéni metrikák dimenziói és előaggregációja

Az OpenTelemetry, a trackMetric vagy a GetMetric és a TrackValue API-hívások használatával küldött összes metrikát a rendszer automatikusan tárolja a naplókban és a metrikák tárolóiban. Ezek a metrikák az Application Insights customMetrics táblájában és a Metrics Explorerben, az "azure.applicationinsights" nevű egyéni metrikanévtér alatt találhatók. Bár az egyéni metrika naplóalapú verziója mindig megőrzi az összes dimenziót, a metrika előre összeállított verziója alapértelmezés szerint dimenziók nélkül lesz tárolva. Az egyéni metrikák dimenzióinak megőrzése egy előzetes verziójú funkció, amely bekapcsolható a Használat és a becsült költség lapon az Egyéni metrikák küldése az Azure Metric Store-ba lehetőséggel.

A használatot és a becsült költségeket bemutató képernyőkép.

Kvóták

Az előre összeállított metrikák idősorként vannak tárolva az Azure Monitorban. Az egyéni metrikákra vonatkozó Azure Monitor-kvóták érvényesek.

Feljegyzés

A kvóta túllépése nem várt következményekkel járhat. Előfordulhat, hogy az Azure Monitor megbízhatatlanná válik az előfizetésében vagy régiójában. A kvóta túllépésének elkerülése érdekében tekintse meg a tervezési korlátozásokat és szempontokat.

Miért van alapértelmezés szerint kikapcsolva az egyéni metrikák gyűjteménye?

Az egyéni metrikák gyűjteménye alapértelmezés szerint ki van kapcsolva, mert a jövőben az egyéni metrikák dimenziókkal való tárolása külön lesz számlázva az Application Insightstól. A nondimensional custom metrics tárolása ingyenes marad (egy kvótáig). A díjszabási modell várható változásait a hivatalos díjszabási oldalon ismerheti meg.

Diagramok létrehozása és a naplóalapú és standard preaggregatált metrikák megismerása

Az Azure Monitor Metrics Explorer használatával diagramokat ábrázolhat előre összeállított és naplóalapú metrikákból, valamint irányítópultokat hozhat létre diagramokkal. Miután kiválasztotta a kívánt Application Insights-erőforrást, a névtérválasztóval válthat a standard és a naplóalapú metrikák között. Egyéni metrikanévteret is kijelölhet.

Képernyőkép a metrikanévtérről.

Az Application Insights-metrikák díjszabási modelljei

A metrikákNak az Application Insightsba való betöltése – akár naplóalapú, akár előre csoportosított – a betöltési adatok mérete alapján generál költségeket. További információkért tekintse meg az Azure Monitor-naplók díjszabásának részleteit. Az egyéni metrikákat, beleértve az összes dimenziót, mindig az Application Insights naplótárolójában tárolja. Emellett az egyéni metrikák dimenziók nélküli előre összesített verziója alapértelmezés szerint továbbítva lesz a metrikák tárába.

Ha az egyéni metrikákra vonatkozó riasztás engedélyezése lehetőséget választja az előre összeállított metrikák összes dimenziójának a metrikatárolóban való tárolásához, az egyéni metrikák díjszabása alapján többletköltségeket eredményezhet.

Következő lépések