A Azure Functions elemzése az Application Elemzések

Azure Functions Application Elemzések integrálható, így jobban figyelheti a függvényalkalmazásokat. Az Elemzések gyűjti a függvényalkalmazás által létrehozott telemetriai adatokat, beleértve az alkalmazás naplókba írt adatait. Az Elemzések általában engedélyezve van a függvényalkalmazás létrehozásakor. Ha a függvényalkalmazás nem rendelkezik beállított eszközkulcsokkal, először engedélyeznie kell az Application Elemzések integrációt.

Alapértelmezés szerint a függvényalkalmazásból gyűjtött adatok az Application Elemzések. A Azure PortalApplication Elemzések számos vizualizációt biztosít a telemetriai adatokról. Részletezheti a hibanaplókat, a lekérdezési eseményeket és a metrikákat. Ez a cikk az összegyűjtött adatok megtekintésére és lekérdezésére vonatkozó alapvető példákat tartalmaz. A függvényalkalmazás-adatok Application Elemzések való feltárásával kapcsolatos további információkért lásd: Mi az az Application Elemzések?.

Az adatmegőrzésről és a lehetséges tárolási költségekről az Adatgyűjtés, -megőrzés és -tárolás az Application Elemzések.

Telemetria megtekintése a Monitor lapon

Ha az Alkalmazás Elemzések integráció engedélyezvevan, a telemetriai adatokat a Figyelás lapon tudja megtekinteni.

  1. A függvényalkalmazás oldalán válasszon ki egy olyan függvényt, amely legalább egyszer lefutott az Application Elemzések konfigurálása után. Ezután a bal oldali panelen válassza a Monitor lehetőséget. Rendszeres időközönként válassza a Frissítés lehetőséget, amíg meg nem jelenik a függvényhívások listája.

    Meghívások listája

    Megjegyzés

    Akár öt percig is eltarthat, amíg a lista megjelenik, amíg a telemetriai ügyfél kötegekbe kötegi az adatokat a kiszolgálónak való átvitelhez. A késleltetés nem vonatkozik a következőre: Élő metrikastream. Ez a szolgáltatás az oldal betöltésekor csatlakozik a Functions-gazdagéphez, így a naplók közvetlenül az oldalra streamelnek.

  2. Egy adott függvényhívás naplóinak megtekintéséhez válassza ki a Meghívás Dátum (UTC) oszlophivatkozását. A meghívás naplózási kimenete egy új lapon jelenik meg.

    Meghívás részletei

  3. A Run in Application Elemzések (Futtatás az alkalmazásnaplóban) lehetőséget választva megtekintheti annak a lekérdezésnek a forrását, amely Azure Monitor naplóadatokat az Azure Logban. Ha most használja először az Azure Log Analyticset az előfizetésében, a rendszer megkéri, hogy engedélyezze.

  4. A Log Analytics engedélyezése után a következő lekérdezés jelenik meg. Látható, hogy a lekérdezési eredmények az elmúlt 30 napra ( ) korlátozódnak, és az eredmények legfeljebb where timestamp > ago(30d) 20 sort ( ) take 20 mutatnak. Ezzel szemben a függvény meghívási részleteinek listája az elmúlt 30 napra van korlátozva.

    Application Elemzések Analytics meghívási listája

További információt a cikk későbbi, Telemetriai adatok lekérdezése cikkében talál.

Telemetria megtekintése az Application Elemzések

Az Application Elemzések megnyitása a függvényalkalmazásból a Azure Portal:

  1. Keresse meg a függvényalkalmazást a portálon.

  2. A bal oldali Elemzések válassza Gépház alatti Alkalmazás vagy alkalmazás lehetőséget.

  3. Ha most használja először az Application Elemzések az előfizetésével, a rendszer kérni fogja annak engedélyezését. Ehhez válassza az Alkalmazás Elemzések lehetőséget, majd a következő oldalon válassza az Alkalmaz lehetőséget.

Nyissa meg Elemzések alkalmazásokat a függvényalkalmazás Áttekintés lapján

Az Application Elemzések használatával kapcsolatos információkért lásd az Application Elemzések dokumentációját. Ez a szakasz néhány példát mutat be az adatok Application Elemzések. Ha már ismeri az Application Elemzések, közvetlenül a telemetriai adatok konfigurálásával és testreszabásával kapcsolatos szakaszokat használhatja.

Alkalmazás Elemzések áttekintés lap

Az Application Elemzések hasznos lehet a függvények viselkedésének, teljesítményének és hibáinak kiértékelése során:

Vizsgálat Description
Hibák Diagramok és riasztások létrehozása függvényhibák és kiszolgálói kivételek alapján. A művelet neve a függvény neve. A függőségek meghibásodásai csak akkor jelennek meg, ha egyéni telemetriát implementálja a függőségek számára.
Teljesítmény Elemezze a teljesítménybeli problémákat az erőforrás-használat és az átviteli sebesség felhőbeli szerepkörpéldányonkénti megtekintésével. Ezek a teljesítményadatok hasznosak lehetnek olyan hibakeresési forgatókönyvekben, ahol a függvények a mögöttes erőforrásokat tölcsértik.
Mérőszámok Metrikákon alapuló diagramok és riasztások létrehozása. A metrikák közé tartozik a függvényhívások száma, a végrehajtási idő és a sikeresség aránya.
Élő metrikák Közel valós időben létrehozott metrikaadatok megtekintése.

Telemetriai adatok lekérdezése

Az Application Elemzések Analytics minden telemetriai adathoz hozzáférést biztosít egy adatbázis táblái formájában. Az Elemzés lekérdezési nyelvet biztosít az adatok kinyeréséhez, manipulálására és megjelenítéséhez.

Válassza a Naplók lehetőséget a naplózott események megtekintéséhez vagy lekérdezéséhez.

Elemzési példa

Az alábbi lekérdezési példa a kérelmek feldolgozónkénti eloszlását mutatja be az elmúlt 30 percben.

requests
| where timestamp > ago(30m) 
| summarize count() by cloud_RoleInstance, bin(timestamp, 1m)
| render timechart

Az elérhető táblák a bal oldali Séma lapon jelennek meg. A függvényhívások által létrehozott adatokat az alábbi táblázatokban találja:

Táblázat Leírás
Nyomok A futtatás, a skálázható vezérlő és a függvénykód nyomkövetései által létrehozott naplók.
kérések Egy kérés minden egyes függvényhíváshoz.
Kivételek A futásidő által okozott kivételek.
customMetrics (egyénimetriák) A sikeres és sikertelen meghívások száma, a sikeresség aránya és az időtartam.
Customevents A futásidő által nyomon követhető események, például: függvényt aktiváló HTTP-kérések.
performanceCounters Információk a kiszolgálók teljesítményéről, amelyeken a függvények futnak.

A többi táblázat a rendelkezésre állási tesztekhez, valamint az ügyfél- és böngésző-telemetrihoz való. Egyéni telemetriát valósíthat meg, hogy adatokat adjon hozzájuk.

Az egyes táblán belül a Függvényspecifikus adatok egy része egy mezőben customDimensions található. A következő lekérdezés például lekéri az összes olyan nyomkövetést, amely Error naplószintű.

traces 
| where customDimensions.LogLevel == "Error"

A és a mezőket a runtime customDimensions.LogLevel customDimensions.Category biztosítja. A függvény kódba írt naplókban további mezőket is meg lehet adni. A C#-ban egy példát a .NET-osztálytár fejlesztői útmutatója strukturált naplózással kapcsolatos dokumentumában láthat.

Méretezésvezérlő-naplók lekérdezése

Ez a funkció előzetes verzióban érhető el.

A méretezési vezérlő naplózásának és az Application Elemzésekintegrációjának engedélyezése után az Application Elemzések naplókereséssel lekérdezheti a kibocsátott méretezésivezérlő-naplókat. A méretezési vezérlő naplóit a traces rendszer a ScaleControllerLogs kategória gyűjteményében menti.

A következő lekérdezéssel keresheti meg az aktuális függvényalkalmazás méretezésvezérlő-naplóit a megadott időtartamon belül:

traces 
| extend CustomDimensions = todynamic(tostring(customDimensions))
| where CustomDimensions.Category == "ScaleControllerLogs"

A következő lekérdezés az előző lekérdezésre bontva mutatja be, hogyan lehet lekérdezni csak a skálázás változását jelző naplókat:

traces 
| extend CustomDimensions = todynamic(tostring(customDimensions))
| where CustomDimensions.Category == "ScaleControllerLogs"
| where message == "Instance count changed"
| extend Reason = CustomDimensions.Reason
| extend PreviousInstanceCount = CustomDimensions.PreviousInstanceCount
| extend NewInstanceCount = CustomDimensions.CurrentInstanceCount

Használat csomagspecifikus metrikák

Használat alapján való futtatáskora rendszer egyetlen függvény végrehajtásának végrehajtási költségét GB-másodpercben méri. A végrehajtási költségek kiszámítása a memóriahasználat és a végrehajtási idő kombinálásával történik. További tudnivalókért lásd: A használaton áteső csomag költségeinek becslése.

A következő telemetriai lekérdezések olyan metrikákra vonatkoznak, amelyek hatással vannak a használat alapján futtatott függvények költségeire.

Memóriahasználat meghatározása

A figyelés területen válassza a naplók (Analitika) lehetőséget, majd másolja a következő telemetria-lekérdezést, és illessze be a lekérdezési ablakba, majd válassza a Futtatás lehetőséget. Ez a lekérdezés a teljes memóriahasználat értékét adja vissza az egyes mintavételi időpontokban.

performanceCounters
| where name == "Private Bytes"
| project timestamp, name, value

Az eredmények a következő példához hasonlóan jelennek meg:

időbélyeg [ UTC] name érték
9/12/2019, 1:05:14 . 947 am Saját bájtok 209 932 288
9/12/2019, 1:06:14 . 994 am Saját bájtok 212 189 184
9/12/2019, 1:06:30 . 010 am Saját bájtok 231 714 816
9/12/2019, 1:07:15 . 040 am Saját bájtok 210 591 744
9/12/2019, 1:12:16 . 285 am Saját bájtok 216 285 184
9/12/2019, 1:12:31 . 376 am Saját bájtok 235 806 720

Időtartam meghatározása

Azure Monitor nyomon követi a metrikákat az erőforrás szintjén, amely a functions alkalmazás. Application Insights integrációja a metrikákat a függvények alapján bocsátja ki. Íme egy példa az elemzési lekérdezésre egy függvény átlagos időtartamának lekéréséhez:

customMetrics
| where name contains "Duration"
| extend averageDuration = valueSum / valueCount
| summarize averageDurationMilliseconds=avg(averageDuration) by name
name averageDurationMilliseconds
QueueTrigger AvgDurationMs 16 . 087
QueueTrigger MaxDurationMs 90 . 249
QueueTrigger MinDurationMs 8 . 522

Következő lépések

További információ a monitorozási Azure Functions: