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:

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