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

Feljegyzés

Az alábbi dokumentáció az Alkalmazás Elemzések klasszikus API-ra támaszkodik. Az Alkalmazás Elemzések hosszú távú terve az Adatok gyűjtése Az OpenTelemetria 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 a naplókon és az előre összesített metrikákon alapuló "hagyományos" alkalmazás Elemzések metrikák közötti különbséget ismerteti. Mindkét metrikatípus elérhető az Application Elemzések 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 Alkalmazás Elemzések 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 alkalmazás Elemzések háttérrendszer mindkét esetben naplóként tárolja az összes összegyűjtött eseményt. Az Azure Portal alkalmazás-Elemzések 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 Elemzések számos olyan telemetriai kötetcsökkentési technikát implementál, amelyek csökkentik a gyű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 Alkalmazás Elemzések 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 összesített metrikák

A naplóalapú metrikák mellett az alkalmazás Elemzések csapata 2018 végén egy idősorra 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

Mind a naplóalapú, mind az előre összesített metrikák együtt élnek az Alkalmazás Elemzések. A kettő megkülönböztetéséhez az alkalmazás Elemzések felhasználói élményben az előre összesített metrikákat standard metrikáknak (előzetes verzió) nevezzük. Az események hagyományos metrikáit naplóalapú metrikákra nevezték át.

Az újabb SDK-k (a .NET-hez Elemzések 2.7-es vagy újabb SDK-k) a gyűjtemény során előre összesített metrikák. 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.

Azon SDK-k esetében, amelyek nem implementálják az elő-összesítést (vagyis az alkalmazás Elemzések SDK-k régebbi verzióit vagy a böngészőbeli rendszerállapot-kialakítást), az alkalmazás Elemzések háttérrendszere továbbra is feltölti az új metrikákat az alkalmazás Elemzések 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 összesített 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 aggregálják előre a metrikákat a gyűjtés során.

A gyűjteményvégpont előre összesíti az 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 összesített metrikák pontosságát, függetlenül az alkalmazáshoz használt SDK-verziótól.

SDK által támogatott előre összesített metrikák táblázata

Aktuális éles SDK-k Standard metrikák (SDK-előösszesítés) Egyéni metrikák (SDK előzetes összesítés nélkül) Egyéni metrikák (az SDK előzetes összesítésével)
.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ája

Aktuális éles SDK-k Standard metrikák (SDK-előösszesítés) Egyéni metrikák (SDK előzetes összesítés nélkül) Egyéni metrikák (az SDK előzetes összesítésével)
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 kód nélküli csatolás virtuális gépeken/virtuálisgép-méretezési csoportokon, a helyszíni pedig standard 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 Alapvető kód nélküli csatolás az App Service-ben szabványos metrikákat bocsát ki dimenziók nélkül. Az SDK minden dimenzióhoz szükséges.

Előzetes összesítés használata az alkalmazás Elemzések egyéni metrikákkal

Az előzetes összesítést 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 alkalmazás Elemzések gyűjteményvégpontra küldött adatmennyiséget

Az alkalmazás Elemzések 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őzetes összesítés 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 Alkalmazás Elemzések továbbított adatok mennyiségét. Ellenkező esetben használja a trackMetric metódust, amely előre összesíti a metrikaeseményeket az adatbetöltés során.

Egyéni metrikák dimenziói és előösszesítés

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 megtalálhatók a customMetrics táblában az Application Elemzések és a Metrics Explorerben az "azure.applicationinsights" nevű egyéni metrikanévtér alatt. Bár az egyéni metrika naplóalapú verziója mindig megőrzi az összes dimenziót, a metrika előre összesített 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.

Screenshot that shows usage and estimated costs.

Kvóták

Az előre összesített 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 alkalmazás Elemzések. 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 naplóalapú és standard előre összesített metrikák megismerása

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

Screenshot that shows Metric namespace.

Az Alkalmazás Elemzések metrikák díjszabási modelljei

A metrikák application Elemzések-be való betöltése, akár naplóalapú, akár előre összesített, 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 Alkalmazás Elemzések naplótároló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árolójába.

Ha az egyéni metrikákra vonatkozó riasztás engedélyezése lehetőséget választja az előre összesített 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