Share via


A végrehajtások monitorozása az Azure Functionsban

Az Azure Functions beépített integrációt kínál a Azure-alkalmazás Elemzések a függvények végrehajtásának monitorozásához. Ez a cikk áttekintést nyújt az Azure által az Azure Functions monitorozásához biztosított monitorozási képességekről.

Az Application Insights napló-, teljesítmény- és hibaadatokat gyűjt. A teljesítmény anomáliáinak automatikus észlelésével és hatékony elemzési eszközökkel egyszerűbben diagnosztizálhatja a problémákat, és jobban megértheti a függvények használatát. Ezeket az eszközöket úgy tervezték, hogy folyamatosan javítsák a teljesítményt és a funkciók használhatóságát. Az alkalmazás Elemzések is használhatja a helyi függvényalkalmazás-projektfejlesztés során. További információ: Mi az alkalmazás Elemzések?

Mivel az Alkalmazás Elemzések rendszerállapot az Azure Functionsbe van beépítve, érvényes rendszerállapot-kulcsra van szüksége a függvényalkalmazás alkalmazáshoz Elemzések erőforráshoz való csatlakoztatásához. A rendszerállapot-kulcs hozzáadódik az alkalmazásbeállításokhoz, amikor létrehozza a függvényalkalmazás-erőforrást az Azure-ban. Ha a függvényalkalmazás még nem rendelkezik ezzel a kulccsal, manuálisan is beállíthatja.

A függvényalkalmazást az Azure Monitor használatával is figyelheti. További információ: Az Azure Functions monitorozása az Azure Monitorral.

Az alkalmazás Elemzések díjszabása és korlátai

Ingyenesen kipróbálhatja az Alkalmazás Elemzések integrációt az Azure Functions szolgáltatással, amely napi korlátot tartalmaz arra vonatkozóan, hogy mennyi adatot dolgoznak fel ingyenesen.

Ha a fejlesztés során engedélyezi az alkalmazások Elemzések, a tesztelés során ezt a korlátot érheti el. Az Azure portál- és e-mail-értesítéseket biztosít, amikor eléri a napi korlátot. Ha elmulasztja ezeket a riasztásokat, és eléri a korlátot, az új naplók nem jelennek meg az Alkalmazás Elemzések lekérdezésekben. A szükségtelen hibaelhárítási idő elkerülése érdekében vegye figyelembe a korlátot. További információ: Alkalmazás Elemzések számlázás.

Fontos

Az alkalmazás Elemzések olyan mintavételezési funkcióval rendelkezik, amely megvédheti Önt attól, hogy túl sok telemetriai adatot állítsunk elő a befejezett végrehajtások során a csúcsterhelés idején. A mintavételezés alapértelmezés szerint engedélyezve van. Ha úgy tűnik, hogy hiányoznak az adatok, előfordulhat, hogy módosítania kell a mintavételezési beállításokat az adott monitorozási forgatókönyvnek megfelelően. További információ: Mintavételezés konfigurálása.

A függvényalkalmazáshoz elérhető alkalmazás-Elemzések funkciók teljes listáját az Azure Functions által támogatott Alkalmazások Elemzések tartalmazza.

Az Application Insights integrációja

A függvényalkalmazás létrehozásakor általában Elemzések alkalmazáspéldányt hoz létre. Ebben az esetben az integrációhoz szükséges rendszerállapotkulcs már be van állítva egy alkalmazásbeállításként.APPINSIGHTS_INSTRUMENTATIONKEY Ha valamilyen okból a függvényalkalmazás nem rendelkezik a rendszerállapot-kulcskészlettel, engedélyeznie kell az alkalmazás Elemzések integrációját.

Fontos

Az olyan szuverén felhők, mint például az Azure Government, az alkalmazás Elemzések kapcsolati sztring (APPLICATIONINSIGHTS_CONNECTION_STRING) használatát igénylik a rendszerállapot-kulcs helyett. További információ: APPLICATIONINSIGHTS_CONNECTION_STRING hivatkozás.

Az alábbi táblázat az Alkalmazás Elemzések támogatott funkcióit ismerteti, amelyek a függvényalkalmazások monitorozásához érhetők el:

Az Azure Functions futtatókörnyezetének verziója 1.x 2.x+
Automatikus gyűjtemény
•Kérelmek
•Kivételek
• Teljesítményszámlálók
•Függőségek
   — HTTP
   — Service Bus
   — Event Hubs
   — SQL*
Támogatott funkciók
• QuickPulse/LiveMetrics Igen Igen
   — Biztonságos vezérlési csatorna Igen
•Mintavételi Igen Igen
•Szívdobbanás Igen
Korrelációs
• Service Bus Igen
• Event Hubs Igen
Konfigurálható
Teljes mértékben konfigurálható Igen

* Ha engedélyezni szeretné az SQL-lekérdezési sztring szöveggyűjteményét, olvassa el az SQL-lekérdezésgyűjtemény engedélyezése című témakört.

Telemetriai adatok gyűjtése

Ha engedélyezve van az alkalmazás Elemzések integrációja, a rendszer telemetriai adatokat küld a csatlakoztatott alkalmazás Elemzések-példánynak. Ezek az adatok közé tartoznak a Functions-gazdagép által létrehozott naplók, a függvénykódból írt nyomkövetések és a teljesítményadatok.

Feljegyzés

A függvények és a Functions-gazdagép adatai mellett adatokat is gyűjthet a Functions-méretezési vezérlőből.

Naplószintek és kategóriák

Amikor nyomkövetéseket ír az alkalmazáskódból, naplószintet kell hozzárendelnie a nyomkövetésekhez. A naplószintek lehetővé teszik a nyomkövetésekből gyűjtött adatok mennyiségének korlátozását.

Minden naplóhoz naplószint van hozzárendelve. Az érték egy egész szám, amely relatív fontosságot jelez:

Naplózási szint Kód Leírás
Trace 0 A legrészletesebb üzeneteket tartalmazó naplók. Ezek az üzenetek bizalmas alkalmazásadatokat tartalmazhatnak. Ezek az üzenetek alapértelmezés szerint le vannak tiltva, és soha nem engedélyezettek éles környezetben.
Hibakeresés 0 A fejlesztés során interaktív vizsgálathoz használt naplók. Ezeknek a naplóknak elsősorban a hibakereséshez hasznos információkat kell tartalmazniuk, és nincs hosszú távú értékük.
Tájékoztatás 2 Az alkalmazás általános folyamatát nyomon követő naplók. Ezeknek a naplóknak hosszú távú értékkel kell rendelkezniük.
Figyelmeztetés 3 Naplók, amelyek az alkalmazásfolyamat rendellenes vagy váratlan eseményét emelik ki, de máskülönben nem okozzák az alkalmazás végrehajtásának leállását.
Hiba 4 Naplók, amelyek akkor jelennek meg, ha a végrehajtás aktuális folyamata leáll egy hiba miatt. Ezeknek a hibáknak nem az alkalmazásszintű, hanem az aktuális tevékenység hibáját kell jelezniük.
Kritikus 5 Helyreállíthatatlan alkalmazást vagy rendszerösszeomlást vagy azonnali figyelmet igénylő katasztrofális hibát leíró naplók.
Egyik sem 6 Letiltja a megadott kategória naplózását.

A host.json fájlkonfiguráció határozza meg, hogy egy függvényalkalmazás mennyi naplózást küldjön az Alkalmazás Elemzések.

A naplószintekről további információt a naplószintek konfigurálása című témakörben talál.

Ha naplózott elemeket rendel hozzá egy kategóriához, nagyobb mértékben szabályozhatja a függvényalkalmazás adott forrásaiból generált telemetriát. A kategóriák megkönnyítik az elemzések futtatását az összegyűjtött adatokon. A függvénykódból írt nyomkövetések a függvény neve alapján vannak hozzárendelve az egyes kategóriákhoz. A kategóriákról további információt a Kategóriák konfigurálása című témakörben talál.

Egyéni telemetriai adatok

A C#, a JavaScript és a Python alkalmazásban az alkalmazás Elemzések SDK használatával egyéni telemetriai adatokat írhat.

Függőségek

A Functions 2.x verziójától kezdve az alkalmazás Elemzések automatikusan gyűjt adatokat az egyes ügyféloldali SDK-kat használó kötések függőségeiről. Az alkalmazás Elemzések elosztott nyomkövetés és függőségkövetés jelenleg nem támogatott az izolált feldolgozói folyamatban futó C#-alkalmazások esetében. Az alkalmazás Elemzések a következő függőségekről gyűjt adatokat:

  • Azure Cosmos DB
  • Azure-eseményközpontok
  • Azure Service Bus
  • Azure Storage-szolgáltatások (Blob, Queue és Table)

A HTTP-kérések és az adatbázis-hívások is SqlClient rögzítve vannak. Az Alkalmazás Elemzések által támogatott függőségek teljes listájáért tekintse meg az automatikusan nyomon követett függőségeket.

Az alkalmazás Elemzések létrehoz egy alkalmazástérképet az összegyűjtött függőségi adatokról. Az alábbi példa egy HTTP-triggerfüggvény alkalmazástérképére egy Queue Storage kimeneti kötéssel.

Alkalmazástérkép függőségekkel

A függőségek a szinten vannak megírva Information . Ha a fenti vagy újabb szűrést Warning használja, a függőségi adatok nem fognak megjelenni. Emellett a függőségek automatikus gyűjtése nem felhasználói hatókörben történik. A függőségi adatok rögzítéséhez győződjön meg arról, hogy a szint legalább Information a gazdagép felhasználói hatókörén (Function.<YOUR_FUNCTION_NAME>.User) kívülre van állítva.

Az automatikus függőségi adatgyűjtés mellett a nyelvspecifikus alkalmazás Elemzések SDK-k egyikével egyéni függőségi adatokat is írhat a naplókba. Egyéni függőségek írására az alábbi nyelvspecifikus példák egyikében talál példát:

Teljesítményszámlálók

A Teljesítményszámlálók automatikus gyűjtése linuxos futtatáskor nem támogatott.

Írás naplókba

A naplókba és a használt API-kba való írás módja a függvényalkalmazás-projekt nyelvétől függ.
A naplók függvényekből való írásáról a nyelv fejlesztői útmutatójában olvashat bővebben.

Adatok elemzése

A függvényalkalmazásból gyűjtött adatokat alapértelmezés szerint az Alkalmazás Elemzések tárolja. Az Azure Portalon az Application Elemzések számos vizualizációt biztosít a telemetriai adatokról. Részletezheti a hibanaplókat, valamint lekérdezheti az eseményeket és metrikákat. További információkért, beleértve az összegyűjtött adatok megtekintésére és lekérdezésére vonatkozó alapvető példákat, olvassa el az Azure Functions telemetriájának elemzése az Application Elemzések-ban című témakört.

Streamelési naplók

Egy alkalmazás fejlesztése során gyakran szeretné látni, hogy mit írnak a naplókba közel valós időben, amikor az Azure-ban fut.

Kétféleképpen tekintheti meg a függvényvégrehajtások által generált naplóadatok adatfolyamát.

  • Beépített naplóstreamelés: az App Service platform lehetővé teszi az alkalmazás naplófájljainak streamjének megtekintését. Ez a stream megegyezik azzal a kimenettel, amelyet a függvények helyi fejlesztéskor és a portál Teszt lapján történő hibakereséskor láthat. Minden naplóalapú információ megjelenik. További információ: Streamnaplók. Ez a streamelési módszer csak egyetlen példányt támogat, és nem használható a Használat csomagban Linuxon futó alkalmazásokkal.

  • Élő metrikák streamje: ha a függvényalkalmazás csatlakozik az Alkalmazás Elemzések, közel valós időben tekintheti meg a naplóadatokat és más metrikákat az Azure Portalon az Élő metrikák stream használatával. Ezt a módszert akkor használja, ha több példányon vagy Linuxon futó függvényeket figyel egy használatalapú csomagban. Ez a módszer mintavételezett adatokat használ.

A naplóstreamek a portálon és a legtöbb helyi fejlesztési környezetben is megtekinthetők. A naplóstreamek engedélyezéséről további információt az Azure Functions streamelési végrehajtási naplóinak engedélyezése című témakörben talál.

Diagnosztikai naplók

Az alkalmazás Elemzések lehetővé teszi a telemetriai adatok hosszú távú tárolóba vagy más elemzési szolgáltatásokba való exportálását.

Mivel a Functions az Azure Monitorral is integrálható, diagnosztikai beállításokkal telemetriai adatokat küldhet különböző helyekre, például az Azure Monitor-naplókba. További információ: Az Azure Functions monitorozása az Azure Monitor-naplókkal.

Skálázási vezérlő naplói

Az Azure Functions skálázási vezérlője figyeli annak az Azure Functions-gazdagépnek a példányait, amelyen az alkalmazás fut. Ez a vezérlő az aktuális teljesítmény alapján dönt arról, hogy mikor kell példányokat hozzáadni vagy eltávolítani. A skálázási vezérlő naplókat bocsáthat ki az Application Elemzések számára, hogy jobban megértse a skálázásvezérlő által a függvényalkalmazáshoz hozott döntéseket. A létrehozott naplókat a Blob Storage-ban is tárolhatja elemzés céljából egy másik szolgáltatás számára.

A funkció engedélyezéséhez egy alkalmazásbeállítást SCALE_CONTROLLER_LOGGING_ENABLED kell hozzáadnia a függvényalkalmazás beállításaihoz. A skálázási vezérlő naplóinak konfigurálásáról további információt a skálázási vezérlő naplóinak konfigurálásáról olvashat.

Azure Monitor-metrikák

Az Alkalmazás Elemzések által gyűjtött naplóalapú telemetriai adatok mellett adatokat is lekérhet arról, hogy a függvényalkalmazás hogyan fut az Azure Monitor-metrikákból. További információ: Monitorozás az Azure Monitorral.

Problémák bejelentése

Ha az Alkalmazás Elemzések a Functions integrációjával kapcsolatos problémát szeretne jelenteni, vagy javaslatot vagy kérést szeretne tenni, hozzon létre egy problémát a GitHubon.

Következő lépések

További információkat találhat az alábbi forrásokban: