Az Application Insights naplóalapú metrikái
Az alkalmazás Elemzések naplóalapú metrikák lehetővé teszik a figyelt alkalmazások állapotának elemzését, hatékony irányítópultok létrehozását és riasztások konfigurálását. Kétféle metrika létezik:
- A jelenet mögötti naplóalapú metrikák kusto-lekérdezésekké lesznek lefordítva a tárolt eseményekből.
- A standard metrikák előre összesített idősorként vannak tárolva.
Mivel a standard metrikák előre vannak összesítve a gyűjtemény során, jobb teljesítménnyel rendelkeznek a lekérdezési időben. Ez jobb választás az irányítópultokhoz és a valós idejű riasztásokhoz. A naplóalapú metrikák több dimenzióval rendelkeznek, ami kiváló lehetőséget biztosít az adatelemzéshez és az alkalmi diagnosztikához. A névtérválasztóval válthat a naplóalapú és a standard metrikák között a Metrics Explorerben.
A cikkből származó lekérdezések értelmezése és használata
Ez a cikk a támogatott összesítéseket és dimenziókat tartalmazó metrikákat sorolja fel. A naplóalapú metrikák részletei közé tartoznak az alapul szolgáló Kusto-lekérdezési utasítások. Az egyszerűség kedvéért minden lekérdezés alapértelmezett értékeket használ az időrészletességhez, a diagramtípushoz és néha a felosztási dimenzióhoz, ami leegyszerűsíti a lekérdezés használatát a Log Analyticsben anélkül, hogy módosításra van szükség.
Ha ugyanazt a metrikát ábrázolja a metrikakezelőben, nincsenek alapértelmezett értékek – a lekérdezés dinamikusan módosul a diagram beállításai alapján:
A kijelölt időtartomány egy további időbélyegzőre lesz lefordítva, hogy csak a kiválasztott időtartományból válassza ki az eseményeket. Például egy diagram, amely a legutóbbi 24 órára vonatkozó adatokat mutatja, a lekérdezés tartalmazza a| elemet, ahol az időbélyeg > (24 óra) korábban volt.
A kiválasztott időrészletesség a végső összegzésbe kerül ... bin(timestamp, [time grain]) záradék szerint.
A kiválasztott szűrődimenziók további záradékokra lesznek lefordítva.
A kijelölt felosztási diagram dimenziója egy extra összegző tulajdonságra lesz lefordítva. Ha például hely szerint osztja fel a diagramot, és 5 perces részletességgel ábrázolja a diagramot, az összegző záradék összegzése ... bin(időbélyeg, 5 m), hely szerint.
Megjegyzés:
Ha még nem használja a Kusto lekérdezési nyelvét, először a Kusto-utasítások másolásával és beillesztésével kezdheti a Log Analytics lekérdezési paneljén módosítás nélkül. Az alapszintű diagram megtekintéséhez kattintson a Futtatás gombra. A lekérdezési nyelv szintaxisának megismerése során elkezdhet kisebb módosításokat kezdeni, és láthatja a módosítás hatását. A saját adatok felfedezése nagyszerű módszer a Log Analytics és az Azure Monitor teljes kihasználására.
Rendelkezésre állási metrikák
A Rendelkezésre állás kategóriában szereplő metrikák lehetővé teszik a webalkalmazás állapotának megtekintését a világ különböző pontjairól megfigyelt módon. Konfigurálja a rendelkezésre állási teszteket úgy, hogy a kategória bármely metrikája használatba legyen állítva.
Rendelkezésre állás (availabilityResults/availabilityPercentage)
A rendelkezésre állási metrika azt mutatja, hogy a webes tesztfuttatások hány százaléka nem észlelt problémákat. A legkisebb lehetséges érték a 0, ami azt jelzi, hogy az összes webes teszt futtatása sikertelen volt. A 100 érték azt jelenti, hogy az összes webes teszt megfelelt az érvényesítési feltételeknek.
Mértékegység | Támogatott összesítések | Támogatott dimenziók |
---|---|---|
Százalék | Átlagos | Futtatási hely, teszt neve |
availabilityResults
| summarize sum(todouble(success == 1) * 100) / count() by bin(timestamp, 5m), location
| render timechart
Rendelkezésre állási teszt időtartama (availabilityResults/duration)
A rendelkezésre állási teszt időtartamának metrikája azt mutatja, hogy mennyi ideig tartott a webes teszt futtatása. A többlépéses webes tesztek esetében a metrika az összes lépés teljes végrehajtási idejét tükrözi.
Mértékegység | Támogatott összesítések | Támogatott dimenziók |
---|---|---|
Ezredmásodperc | Átlag, Min, Max | Futtatási hely, Teszt neve, Teszt eredménye |
availabilityResults
| where notempty(duration)
| extend availabilityResult_duration = iif(itemType == 'availabilityResult', duration, todouble(''))
| summarize sum(availabilityResult_duration)/sum(itemCount) by bin(timestamp, 5m), location
| render timechart
Rendelkezésre állási tesztek (availabilityResults/count)
A Rendelkezésre állási tesztek metrika az Azure Monitor által futtatott webes tesztek számát tükrözi.
Mértékegység | Támogatott összesítések | Támogatott dimenziók |
---|---|---|
Darabszám | Darabszám | Futtatási hely, Teszt neve, Teszt eredménye |
availabilityResults
| summarize sum(itemCount) by bin(timestamp, 5m)
| render timechart
Böngészőmetrikák
A böngészőmetrikákat az alkalmazás Elemzések JavaScript SDK gyűjti össze valós végfelhasználói böngészőkből. Nagyszerű betekintést nyújtanak a felhasználók webalkalmazással kapcsolatos élményébe. A böngészőmetrikák általában nem mintavételezettek, ami azt jelenti, hogy nagyobb pontosságot biztosítanak a használati számokhoz képest, mint a mintavételezéssel eltúlzott kiszolgálóoldali metrikák.
Megjegyzés:
A böngészőmetrikák gyűjtéséhez az alkalmazást az Alkalmazás Elemzések JavaScript SDK-val kell rendszereznünk.
Böngészőoldal betöltési ideje (browserTimings/totalDuration)
A felhasználói kérelemtől a DOM-ig, a stíluslapok, a szkriptek és a képek betöltéséig eltelt idő.
Mértékegység | Támogatott összesítések | Előre összesített dimenziók |
---|---|---|
Ezredmásodperc | Átlag, Min, Max | None |
browserTimings
| where notempty(totalDuration)
| extend _sum = totalDuration
| extend _count = itemCount
| extend _sum = _sum * _count
| summarize sum(_sum) / sum(_count) by bin(timestamp, 5m)
| render timechart
Ügyfélfeldolgozási idő (browserTiming/processingDuration)
A dokumentum utolsó bájtjának fogadása közötti idő a DOM betöltéséig. Előfordulhat, hogy az aszinkron kérések továbbra is feldolgozásra kerülnek.
Mértékegység | Támogatott összesítések | Előre összesített dimenziók |
---|---|---|
Ezredmásodperc | Átlag, Min, Max | None |
browserTimings
| where notempty(processingDuration)
| extend _sum = processingDuration
| extend _count = itemCount
| extend _sum = _sum * _count
| summarize sum(_sum)/sum(_count) by bin(timestamp, 5m)
| render timechart
Lapbetöltési hálózati csatlakozási idő (browserTimings/networkDuration)
A felhasználói kérés és a hálózati kapcsolat közötti idő. Magában foglalja a DNS-keresést és az átviteli kapcsolatot.
Mértékegység | Támogatott összesítések | Előre összesített dimenziók |
---|---|---|
Ezredmásodperc | Átlag, Min, Max | None |
browserTimings
| where notempty(networkDuration)
| extend _sum = networkDuration
| extend _count = itemCount
| extend _sum = _sum * _count
| summarize sum(_sum) / sum(_count) by bin(timestamp, 5m)
| render timechart
Válaszidő fogadása (browserTimings/receiveDuration)
Az első és az utolsó bájt közötti vagy a leválasztásig eltelt idő.
Mértékegység | Támogatott összesítések | Előre összesített dimenziók |
---|---|---|
Ezredmásodperc | Átlag, Min, Max | None |
browserTimings
| where notempty(receiveDuration)
| extend _sum = receiveDuration
| extend _count = itemCount
| extend _sum = _sum * _count
| summarize sum(_sum) / sum(_count) by bin(timestamp, 5m)
| render timechart
Kérési idő küldése (browserTimings/sendDuration)
A hálózati kapcsolat és az első bájt fogadása közötti idő.
Mértékegység | Támogatott összesítések | Előre összesített dimenziók |
---|---|---|
Ezredmásodperc | Átlag, Min, Max | None |
browserTimings
| where notempty(sendDuration)
| extend _sum = sendDuration
| extend _count = itemCount
| extend _sum = _sum * _count
| summarize sum(_sum) / sum(_count) by bin(timestamp, 5m)
| render timechart
Failure metrics
A hibák metrikái a kérelmek feldolgozásával, a függőségi hívásokkal és a kidobott kivételekkel kapcsolatos problémákat mutatják.
Böngészők kivételei (kivételek/böngésző)
Ez a metrika a böngészőben futó alkalmazáskódból származó kivételek számát tükrözi. A metrikában csak az alkalmazás Elemzések API-hívással trackException()
nyomon követett kivételek szerepelnek.
Mértékegység | Támogatott összesítések | Előre összesített dimenziók | Jegyzetek |
---|---|---|---|
Darabszám | Darabszám | None | A naplóalapú verzió sum aggregációt használ |
exceptions
| where notempty(client_Browser)
| summarize sum(itemCount) by bin(timestamp, 5m)
| render barchart
Függőségi hívás hibái (függőségek/sikertelen)
A sikertelen függőségi hívások száma.
Mértékegység | Támogatott összesítések | Előre összesített dimenziók | Jegyzetek |
---|---|---|---|
Darabszám | Darabszám | None | A naplóalapú verzió sum aggregációt használ |
dependencies
| where success == 'False'
| summarize sum(itemCount) by bin(timestamp, 5m)
| render barchart
Kivételek (kivételek/darabszám)
Minden alkalommal, amikor kivételt naplóz az Alkalmazás Elemzések, az SDK trackException() metódusának hívása történik. A Kivételek metrika a naplózott kivételek számát mutatja.
Mértékegység | Támogatott összesítések | Előre összesített dimenziók | Jegyzetek |
---|---|---|---|
Darabszám | Darabszám | Felhőbeli szerepkör neve, Felhőbeli szerepkörpéldány, Eszköz típusa | A naplóalapú verzió sum aggregációt használ |
exceptions
| summarize sum(itemCount) by bin(timestamp, 5m)
| render barchart
Sikertelen kérések (kérések/sikertelen)
A sikertelenként megjelölt követett kiszolgálókérések száma. Alapértelmezés szerint az alkalmazás Elemzések SDK automatikusan megjelöli az 5xx vagy 4xx HTTP-válaszkódot visszaküldött kiszolgálókéréseket sikertelen kérésként. Ezt a logikát úgy szabhatja testre, hogy módosítja a kérelem telemetriaelem sikerességi tulajdonságát egy egyéni telemetriai inicializálóban.
Mértékegység | Támogatott összesítések | Előre összesített dimenziók | Jegyzetek |
---|---|---|---|
Darabszám | Darabszám | Felhőbeli szerepkörpéldány, felhőbeli szerepkör neve, Valós vagy szintetikus forgalom, Kérés teljesítménye, Válaszkód | A naplóalapú verzió sum aggregációt használ |
requests
| where success == 'False'
| summarize sum(itemCount) by bin(timestamp, 5m)
| render barchart
Kiszolgálói kivételek (kivételek/kiszolgáló)
Ez a metrika a kiszolgálói kivételek számát mutatja.
Mértékegység | Támogatott összesítések | Előre összesített dimenziók | Jegyzetek |
---|---|---|---|
Darabszám | Darabszám | Felhőbeli szerepkör neve, felhőbeli szerepkörpéldány | A naplóalapú verzió sum aggregációt használ |
exceptions
| where isempty(client_Browser)
| summarize sum(itemCount) by bin(timestamp, 5m)
| render barchart
Performance counters
A Teljesítményszámlálók kategóriában metrikákkal érheti el az alkalmazás Elemzések által gyűjtött rendszerteljesítmény-számlálókat.
Rendelkezésre álló memória (performanceCounters/availableMemory)
performanceCounters
| where ((category == "Memory" and counter == "Available Bytes") or name == "availableMemory")
| extend performanceCounter_value = iif(itemType == "performanceCounter", value, todouble(''))
| summarize sum(performanceCounter_value) / count() by bin(timestamp, 1m)
| render timechart
Kivételdíj (performanceCounters/exceptionRate)
performanceCounters
| where ((category == ".NET CLR Exceptions" and counter == "# of Exceps Thrown / sec") or name == "exceptionRate")
| extend performanceCounter_value = iif(itemType == 'performanceCounter',value,todouble(''))
| summarize sum(performanceCounter_value) / count() by bin(timestamp, 1m)
| render timechart
HTTP-kérések végrehajtási ideje (performanceCounters/requestExecutionTime)
performanceCounters
| where ((category == "ASP.NET Applications" and counter == "Request Execution Time") or name == "requestExecutionTime")
| extend performanceCounter_value = iif(itemType == "performanceCounter", value, todouble(''))
| summarize sum(performanceCounter_value) / count() by bin(timestamp, 1m)
| render timechart
HTTP-kérések aránya (performanceCounters/requestsPerSecond)
performanceCounters
| where ((category == "ASP.NET Applications" and counter == "Requests/Sec") or name == "requestsPerSecond")
| extend performanceCounter_value = iif(itemType == "performanceCounter", value, todouble(''))
| summarize sum(performanceCounter_value) / count() by bin(timestamp, 1m)
| render timechart
HTTP-kérések az alkalmazássorban (performanceCounters/requestsInQueue)
performanceCounters
| where ((category == "ASP.NET Applications" and counter == "Requests In Application Queue") or name == "requestsInQueue")
| extend performanceCounter_value = iif(itemType == "performanceCounter", value, todouble(''))
| summarize sum(performanceCounter_value) / count() by bin(timestamp, 1m)
| render timechart
Folyamat CPU (performanceCounters/processCpuPercentage)
A metrika azt mutatja, hogy a monitorozott alkalmazást üzemeltető folyamat mennyi processzorkapacitást használ fel.
Mértékegység | Támogatott összesítések | Támogatott dimenziók |
---|---|---|
Százalék | Átlag, Min, Max | Felhőalapú szerepkörpéldány |
performanceCounters
| where ((category == "Process" and counter == "% Processor Time Normalized") or name == "processCpuPercentage")
| extend performanceCounter_value = iif(itemType == "performanceCounter", value, todouble(''))
| summarize sum(performanceCounter_value) / count() by bin(timestamp, 1m)
| render timechart
Megjegyzés:
A metrika tartománya 0 és 100 * n között van, ahol n az elérhető CPU-magok száma. A 200%-os metrikaérték például két processzormag teljes kihasználtságát vagy 4 processzormag félkihasználtságát jelentheti, és így tovább. A folyamat cpu normalizált egy alternatív metrika által gyűjtött számos SDK, amely ugyanazt az értéket, de osztja el a rendelkezésre álló CPU magok száma. Így a folyamat cpu normalizált metrikatartománya 0 és 100 között van.
Folyamat I/O-sebessége (performanceCounters/processIOBytesPerSecond)
Mértékegység | Támogatott összesítések | Támogatott dimenziók |
---|---|---|
Másodpercenkénti bájtok | Átlag, Min, Max | Felhőalapú szerepkörpéldány |
performanceCounters
| where ((category == "Process" and counter == "IO Data Bytes/sec") or name == "processIOBytesPerSecond")
| extend performanceCounter_value = iif(itemType == "performanceCounter", value, todouble(''))
| summarize sum(performanceCounter_value) / count() by bin(timestamp, 1m)
| render timechart
Privát bájtok feldolgozása (performanceCounters/processPrivateBytes)
A figyelt folyamat által az adatokhoz lefoglalt nem megosztott memória mennyisége.
Mértékegység | Támogatott összesítések | Támogatott dimenziók |
---|---|---|
Bájt | Átlag, Min, Max | Felhőalapú szerepkörpéldány |
performanceCounters
| where ((category == "Process" and counter == "Private Bytes") or name == "processPrivateBytes")
| extend performanceCounter_value = iif(itemType == "performanceCounter", value, todouble(''))
| summarize sum(performanceCounter_value) / count() by bin(timestamp, 1m)
| render timechart
Processzoridő (performanceCounters/processorCpuPercentage)
A figyelt kiszolgálópéldányon futó összes folyamat processzorhasználata.
Mértékegység | Támogatott összesítések | Támogatott dimenziók |
---|---|---|
Százalék | Átlag, Min, Max | Felhőalapú szerepkörpéldány |
Megjegyzés:
A processzoridő metrika nem érhető el a Azure-alkalmazás Servicesben üzemeltetett alkalmazásokhoz. Az App Servicesben üzemeltetett webalkalmazások CPU-kihasználtságának nyomon követéséhez használja a folyamat CPU-metrikáját .
performanceCounters
| where ((category == "Processor" and counter == "% Processor Time") or name == "processorCpuPercentage")
| extend performanceCounter_value = iif(itemType == "performanceCounter", value, todouble(''))
| summarize sum(performanceCounter_value) / count() by bin(timestamp, 1m)
| render timechart
Kiszolgálómetrikák
Függőségi hívások (függőségek/darabszám)
Ez a metrika a függőségi hívások számához kapcsolódik.
dependencies
| summarize sum(itemCount) by bin(timestamp, 5m)
| render barchart
Függőség időtartama (függőségek/időtartam)
Ez a metrika a függőségi hívások időtartamára vonatkozik.
dependencies
| where notempty(duration)
| extend dependency_duration = iif(itemType == 'dependency',duration,todouble(''))
| extend _sum = dependency_duration
| extend _count = itemCount
| extend _sum = _sum*_count
| summarize sum(_sum)/sum(_count) by bin(timestamp, 1m)
| render timechart
Kiszolgálói kérések (kérések/darabszám)
Ez a metrika a webalkalmazás által fogadott bejövő kiszolgálói kérelmek számát tükrözi.
requests
| summarize sum(itemCount) by bin(timestamp, 5m)
| render barchart
Kiszolgáló válaszideje (kérések/időtartam)
Ez a metrika azt az időt tükrözi, amely alatt a kiszolgálók feldolgozták a bejövő kéréseket.
requests
| where notempty(duration)
| extend request_duration = iif(itemType == 'request', duration, todouble(''))
| extend _sum = request_duration
| extend _count = itemCount
| extend _sum = _sum*_count
| summarize sum(_sum) / sum(_count) by bin(timestamp, 1m)
| render timechart
Használati metrikák
Lapnézet betöltési ideje (pageViews/duration)
Ez a metrika a PageView-események betöltéséhez szükséges időt jelenti.
pageViews
| where notempty(duration)
| extend pageView_duration = iif(itemType == 'pageView', duration, todouble(''))
| extend _sum = pageView_duration
| extend _count = itemCount
| extend _sum = _sum * _count
| summarize sum(_sum) / sum(_count) by bin(timestamp, 5m)
| render barchart
Oldalmegtekintések (pageViews/count)
A TrackPageView() alkalmazással naplózott PageView-események száma Elemzések API-val.
pageViews
| summarize sum(itemCount) by bin(timestamp, 1h)
| render barchart
Munkamenetek (munkamenetek/darabszám)
Ez a metrika a különböző munkamenet-azonosítók számát jelenti.
union traces, requests, pageViews, dependencies, customEvents, availabilityResults, exceptions, customMetrics, browserTimings
| where notempty(session_Id)
| summarize dcount(session_Id) by bin(timestamp, 1h)
| render barchart
Nyomkövetések (nyomkövetések/darabszám)
A TrackTrace() alkalmazással naplózott nyomkövetési utasítások száma Elemzések API-hívással.
traces
| summarize sum(itemCount) by bin(timestamp, 1h)
| render barchart
Felhasználók (felhasználók/darabszám)
Az alkalmazáshoz hozzáférő különböző felhasználók száma. A metrika pontosságát a telemetriai mintavételezés és szűrés jelentősen befolyásolhatja.
union traces, requests, pageViews, dependencies, customEvents, availabilityResults, exceptions, customMetrics, browserTimings
| where notempty(user_Id)
| summarize dcount(user_Id) by bin(timestamp, 1h)
| render barchart
Felhasználók, Hitelesített (felhasználók/hitelesített)
Az alkalmazásba hitelesítést végző különböző felhasználók száma.
union traces, requests, pageViews, dependencies, customEvents, availabilityResults, exceptions, customMetrics, browserTimings
| where notempty(user_AuthenticatedId)
| summarize dcount(user_AuthenticatedId) by bin(timestamp, 1h)
| render barchart