A monitorozás konfigurálása Azure Functions

Azure Functions Application Elemzések integrálható, így jobban figyelheti a függvényalkalmazásokat. Az application Elemzések az Azure Monitor egyik szolgáltatása, a Azure Monitor által létrehozott adatokat gyűjtő, extensible Application Performance Management (APM) szolgáltatás, amely a függvényalkalmazás által létrehozott adatokat gyűjti, 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 az alkalmazáshoz nincs beállítva a rendszerindítókulcs, először engedélyeznie kell az Application Elemzések integrációt.

Az Application Elemzések egyéni konfiguráció nélkül is használható. Az alapértelmezett konfiguráció nagy mennyiségű adatot eredményezhet. Ha azure-előfizetést Visual Studio, előfordulhat, hogy az Application Elemzések. További információ az Application Elemzések költségeiről: Az Application Elemzések. További információ: Nagy mennyiségű telemetriát tartalmazó megoldások.

A cikk későbbi útmutatója azt is bemutatja, hogyan konfigurálhatja és szabhatja testre a függvények által az Application Elemzések. Függvényalkalmazások esetén a naplózás a [host.json fájlban van konfigurálva.]

Megjegyzés

A speciálisan konfigurált alkalmazásbeállítások használatával meghatározott beállításokat ábrázolhat egy adott környezet host.json fájljában. Ez lehetővé teszi a host.json beállítások hatékony módosítását anélkül, hogy újra közzétenné a host.json fájlt a projektben. További információ: Host.json értékek felülbírálása.

Kategóriák konfigurálása

A Azure Functions naplózó minden naplóhoz tartalmaz egy kategóriát. A kategória azt jelzi, hogy a futásidejű kód vagy a függvénykód melyik része írta a naplót. A kategóriák az 1.x és újabb verziók között különböznek. Az alábbi diagram a futtatás által létrehozott naplók fő kategóriáit ismerteti.

Kategória Táblázat Leírás
Function.<YOUR_FUNCTION_NAME> Függőségek Bizonyos szolgáltatások függőségi adatait a rendszer automatikusan gyűjti. Sikeres futtatás esetén ezek a naplók a szinten Information vannak. További információ: Függőségek. A kivételek naplózása a szinten Error történt. A futtatás szintszintű naplókat is létrehoz, például amikor az üzenetsor üzenetei az Warning üzenetsorba kerülnek.
Function.<YOUR_FUNCTION_NAME> customMetrics (egyénimetriák)
Customevents
A C# és JavaScript SDK-k segítségével egyéni metrikákat gyűjthet, és egyéni eseményeket naplózhet. További információ: Egyéni telemetriai adatok.
Function.<YOUR_FUNCTION_NAME> Nyomok Adott függvényfuttatókhoz tartalmazza az elindított függvényeket és a befejezett naplókat. Sikeres futtatás esetén ezek a naplók a szinten Information vannak. A kivételek naplózása a szinten Error történt. A futtatás szintszintű naplókat is létrehoz, például amikor az üzenetsor üzenetei az Warning üzenetsorba kerülnek.
Function.<YOUR_FUNCTION_NAME>.User Nyomok Felhasználó által létrehozott naplók, amelyek bármilyen naplózási szint lehet. További információ a függvények naplóiba való írásról: Írás naplókba.
Host.Aggregator customMetrics (egyénimetriák) Ezek a futásidejű naplók a függvényhívások számát és átlagát biztosítanak egy konfigurálható időtartamra vonatkozóan. Az alapértelmezett időszak 30 másodperc vagy 1000 eredmény, amelyik előbb következik be. Ilyen például a futtatás száma, a sikeresség aránya és az időtartam. Ezek a naplók mind szinten vannak Information megírva. Ha a szűrést a vagy a fölé szűri, ezek közül az adatok közül egyik sem Warning fog látni.
Host.Results kérések Ezek a futásidejű naplók egy függvény sikeres vagy sikertelen működését jelzik. Ezek a naplók mind szinten vannak Information megírva. Ha a szűrést a vagy a fölé szűri, ezek közül az adatok közül egyik sem Warning fog látni.
Microsoft Nyomok A gazdagép által meghívott .NET-futásidejű összetevőt tükröző teljes naplózási kategória.
Worker Nyomok A nyelv munkavégző folyamata által létrehozott naplók non-.NET nyelvekhez. A nyelvi munkavégző naplók egy kategóriában is Microsoft.* naplózhatóak, Microsoft.Azure.WebJobs.Script.Workers.Rpc.RpcFunctionInvocationDispatcher például: . Ezek a naplók a szinten vannak Information megírva.

Megjegyzés

A .NET-osztálytári függvények esetében ezek a kategóriák azt feltételezik, hogy a -t használja, ILogger és nem ILogger<T> a-t. További tudnivalókért lásd a Functions ILogger dokumentációját.

A Tábla oszlop azt jelzi, hogy az Application Elemzések melyik táblába írja a rendszer a naplót.

Naplószintek konfigurálása

A naplózási szint minden naplóhoz hozzá van rendelve. Az érték egy egész szám, amely a relatív fontosságot jelzi:

Naplózási szint Code Leírás
Nyomkövetés 0 A legrészletesebb üzeneteket tartalmazó naplók. Ezek az üzenetek bizalmas alkalmazási adatokat is tartalmazhatnak. Ezek az üzenetek alapértelmezés szerint le vannak tiltva, és soha nem lehet engedélyezni éles környezetben.
Hibakeresés 1 A fejlesztés során az interaktív vizsgálathoz használt naplók. Ezeknek a naplóknak elsősorban a hibakereséshez hasznos információkkal kell rendelkezniük, és nem tartalmazhatnak hosszú távú értéket.
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 A rendellenes vagy váratlan eseményt kiemelő naplók az alkalmazás folyamatában, de egyébként nem okozzák az alkalmazás futtatásának leállását.
Hiba 4 Azokat a naplókat jeleníti meg, amelyek akkor jelennek meg, ha egy hiba miatt leáll a jelenlegi végrehajtás folyamata. Ezeknek a hibáknak az aktuális tevékenység hibáját kell jelezniük, nem pedig az egész alkalmazásra vonatkozó hibát.
Kritikus 5 A helyreállíthatatlan alkalmazások vagy rendszerösszeomlások leírását vagy az azonnali beavatkozást igénylő katasztrofális hibát jelző naplók.
Nincsenek 6 Letiltja a naplózást a megadott kategóriához.

A host.jsa fájl konfigurációjában meghatározza, hogy Mennyibe kerül a functions alkalmazás a Application Insights.

Minden kategóriához meg kell a küldenünk szükséges minimális naplózási szintet. A host.json beállításai a Functions-futtatás verziójától függően változnak.

Az alábbi példa az alábbi szabályok alapján határozza meg a naplózást:

  • Vagy naplói esetén csak a vagy magasabb szintű Host.Results Function Error eseményeket naplózza.
  • A Host.Aggregator naplóihoz naplózza az összes létrehozott metrikát ( Trace ).
  • Minden más naplóhoz, beleértve a felhasználói naplókat is, a csak naplózási szint és Information a magasabb szintű események esetén.
{
  "logging": {
    "fileLoggingMode": "always",
    "logLevel": {
      "default": "Information",
      "Host.Results": "Error",
      "Function": "Error",
      "Host.Aggregator": "Trace"
    }
  }
}

Ha [a host.json] több naplót is tartalmaz, amelyek ugyanazokkal a sztringekkel kezdődnek, a rendszer először a definiált naplókat egyezik meg. Tekintsük a következő példát, amely mindent naplózza a futásidőben, kivéve a Host.Aggregator Error szintet:

{
  "logging": {
    "fileLoggingMode": "always",
    "logLevel": {
      "default": "Information",
      "Host": "Error",
      "Function": "Error",
      "Host.Aggregator": "Information"
    }
  }
}

A naplózási szintű beállítással megakadályozhatja, hogy a rendszer None naplókat írjanak egy kategóriához.

Figyelemfelhívás

Azure Functions integrálható az Application Elemzések-val azáltal, hogy az Application Elemzések tábláiban tárolja a telemetriai eseményeket, és a kategória naplózási szintjét bármely más értékhez adja meg, azzal megakadályozza, hogy a telemetria ezekhez a táblákhoz érkezni fog. Eredményként nem fogja látni a kapcsolódó adatokat az Application Elemzések vagy a Information Függvényfigyelő lapon.

A fenti mintákból:

  • Ha a kategória naplózási szintre van állítva, akkor csak a sikertelen függvényvégrehajtások esetén gyűjti össze a táblában a gazdagép végrehajtási telemetriai eseményeit, így az Application Elemzések és a Függvényfigyelő lapon sem jeleníti meg a sikeres végrehajtások Host.Results Error requests gazdagép-végrehajtási részleteit.
  • Ha a kategória naplózási szintre van állítva, akkor nem gyűjti a ( és ) és az összes függvényhez kapcsolódó Function függvény-telemetriai adatokat, és nem látja ezen adatokat az Error dependencies Application customMetrics customEvents Elemzések. Csak a traces szinttel naplózott Error adatokat gyűjti.

Mindkét esetben továbbra is hibákat és kivételeket gyűjt az Application Elemzések és a Function Monitor (Függvényfigyelő) lapon. További információ: Nagy mennyiségű telemetriát tartalmazó megoldások.

Az összesítő konfigurálása

Ahogy az előző szakaszban is említettük, a futásidő a függvényvégrehajtások adatait összesíti egy adott időszakra vonatkozóan. Az alapértelmezett időszak 30 másodperc vagy 1000 futtatás, amelyik előbb következik. Ezt a beállítást a [host.json fájlban konfigurálhatja.] Bemutatunk egy példát:

{
    "aggregator": {
      "batchSize": 1000,
      "flushTimeout": "00:00:30"
    }
}

Mintavételezés konfigurálása

Az Elemzések rendelkezik egy mintavételezési funkcióval, amely megvédi a túl sok telemetriai adat előállításától a befejezett végrehajtások során a csúcsterhelések során. Ha a bejövő végrehajtások sebessége meghaladja a megadott küszöbértéket, az Application Elemzések elkezd véletlenszerűen figyelmen kívül hagyni néhány bejövő végrehajtást. A másodpercenkénti végrehajtások maximális számának alapértelmezett beállítása 20 (az 1.x verzióban öt). A mintavételezést a host.json segítségével konfigurálhatja. Bemutatunk egy példát:

{
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "maxTelemetryItemsPerSecond" : 20,
        "excludedTypes": "Request;Exception"
      }
    }
  }
}

Bizonyos típusú telemetriai adatokat kizárhat a mintavételezésből. Ebben a példában a és típusú adatok Request ki vannak zárva a Exception mintavételből. Ez lehetővé teszi, hogy a rendszer az összes függvényvégrehajtást (kérést) és kivételt naplózza, míg más típusú telemetria továbbra is mintavételezésnek van kitéve.

További információ: Mintavételezés az alkalmazás-Elemzések.

A méretezési vezérlő naplóinak konfigurálása

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

A méretezési Azure Functions az Application Elemzések vagy a Blob Storage számára is kibocsáthat naplókat, hogy jobban megértse a méretezési vezérlő által a függvényalkalmazással kapcsolatos döntéseket.

A funkció engedélyezéséhez adjon hozzá egy nevű alkalmazásbeállítást a SCALE_CONTROLLER_LOGGING_ENABLED függvényalkalmazás beállításaihoz. A beállítás értékének a következő formátumban kell <DESTINATION>:<VERBOSITY> lennie:

Tulajdonság Leírás
<DESTINATION> Az a cél, ahová a rendszer elküldi a naplókat. Az érvényes értékek: AppInsights és Blob .
A használatakor AppInsights Győződjön meg arról, hogy a Application Insights engedélyezve van a Function alkalmazásban.
A célhely beállításakor a Blob rendszer a naplókat az azure-functions-scale-controller Alkalmazásbeállítások alapértelmezett Storage-fiókjában nevű blob-tárolóban hozza létre AzureWebJobsStorage .
<VERBOSITY> Meghatározza a naplózási szintet. A támogatott értékek:, None Warning és Verbose .
Ha a értékre Verbose van állítva, a skálázási vezérlő a munkavégzők számának minden változása miatt naplózza az okot, valamint az ezekkel a döntésekkel kapcsolatos eseményindítókat is. A részletes naplók közé tartoznak az eseményindító-figyelmeztetések és az eseményindítók által a skálázási vezérlő futtatása előtt és után használt kivonatok.

Tipp

Ne feledje, hogy amíg a méretezési vezérlő naplózása engedélyezve van, az hatással van a Function alkalmazás figyelésének lehetséges költségeire. Érdemes lehet engedélyezni a naplózást, amíg nem gyűjtött elég adatokat a méretezési vezérlő működésének megismeréséhez, majd letiltásához.

A következő Azure CLI-parancs például bekapcsolja a részletes naplózást a skálázási vezérlőről az Application Elemzések:

az functionapp config appsettings set --name <FUNCTION_APP_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--settings SCALE_CONTROLLER_LOGGING_ENABLED=AppInsights:Verbose

Ebben a példában cserélje le a és a helyére a függvényalkalmazás, illetve az <FUNCTION_APP_NAME> <RESOURCE_GROUP_NAME> erőforráscsoport nevét.

A következő Azure CLI-parancs letiltja a naplózást a részletesség None beállításával:

az functionapp config appsettings set --name <FUNCTION_APP_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--settings SCALE_CONTROLLER_LOGGING_ENABLED=AppInsights:None

A naplózást az alábbi Azure CLI-paranccsal is letilthatja, ha eltávolítja a SCALE_CONTROLLER_LOGGING_ENABLED beállítást:

az functionapp config appsettings delete --name <FUNCTION_APP_NAME> \
--resource-group <RESOURCE_GROUP_NAME> \
--setting-names SCALE_CONTROLLER_LOGGING_ENABLED

Ha engedélyezve van a méretezési vezérlő naplózása, lekérdezheti a méretezési vezérlő naplóit.

Application Insights-integráció engedélyezése

Ahhoz, hogy egy függvényalkalmazás adatokat küldjön az Application Elemzések, tudnia kell az Application Elemzések eszközkulcsát. A kulcsnak egy nevű alkalmazásbeállításban kell lennie, APPINSIGHTS_INSTRUMENTATIONKEY.

Amikor a függvényalkalmazást a Azure Portalalkalmazásban hozza létre a parancssorból a Azure Functions Core Toolshasználatával, vagy a Visual Studio Codehasználatával, az Application Elemzések-integráció alapértelmezés szerint engedélyezve van. Az Application Elemzések erőforrás neve megegyezik a függvényalkalmazás nevével, és vagy ugyanabban a régióban, vagy a legközelebbi régióban lett létrehozva.

Új függvényalkalmazás a portálon

A létrehozott Application Elemzések erőforrás áttekintését az Application Elemzések kiválasztásával nyithatja meg. Módosíthatja az Új erőforrás nevét, vagy választhat egy másik helyet egy olyan Azure-beli földrajzi helyen, ahol tárolni szeretné az adatait.

Application Elemzések engedélyezése függvényalkalmazás létrehozásakor

Ha a Létrehozás lehetőséget választja, Elemzések létrejön egy Application Elemzések erőforrás a függvényalkalmazással, amely az alkalmazásbeállításokban APPINSIGHTS_INSTRUMENTATIONKEY van megállítva. Minden készen áll.

Hozzáadás meglévő függvényalkalmazáshoz

Ha egy Application Elemzések erőforrás nem lett létrehozva a függvényalkalmazással, a következő lépésekkel hozhatja létre az erőforrást. Ezután hozzáadhatja a rendszerindító kulcsot az adott erőforrásból alkalmazásbeállításként a függvényalkalmazásban.

  1. A Azure Portalkeresse meg és válassza ki a függvényalkalmazást, majd válassza ki a függvényalkalmazást.

  2. Válassza ki az ablak tetején található Az Application Insights nincs konfigurálva szalagot. Ha nem látja ezt a szalagcímet, akkor előfordulhat, hogy az alkalmazáson már engedélyezve van Elemzések alkalmazás.

    Az Application Insights engedélyezése a portálon

  3. Bontsa ki az Erőforrás módosítása gombra, és hozzon létre egy Application Elemzések-erőforrást az alábbi táblázatban megadott beállításokkal.

    Beállítás Ajánlott érték Leírás
    Új erőforrásnév Egyedi alkalmazásnév A legegyszerűbb, ha a függvényalkalmazás nevét használja, amelynek egyedinek kell lennie az előfizetésben.
    Hely Nyugat-Európa Ha lehetséges, használja a függvényalkalmazás régióját vagy egy ahhoz közeli régiót.

    Application Insights-erőforrás létrehozása

  4. Kattintson az Alkalmaz gombra.

    Az Application Insights-erőforrás ugyanabban az erőforráscsoportban és előfizetésben jön létre, ahol a függvényalkalmazás található. Az erőforrás létrehozása utána zárja be az Application Insights ablakát.

  5. A függvényalkalmazásban válassza a Konfiguráció lehetőséget a Gépház alatt, majd válassza az Alkalmazásbeállítások lehetőséget. Ha az APPINSIGHTS_INSTRUMENTATIONKEY nevű beállítás megjelenik, akkor engedélyezve van az Application Insights-integráció az Azure-ban futó függvényalkalmazáshoz. Ha valamilyen okból ez a beállítás nem létezik, adja hozzá az Application Elemzések eszközkulcsot használva értékként.

Megjegyzés

A Functions korai verziói beépített monitorozást használtak, amely már nem ajánlott. Ha engedélyezi az Elemzések integrálását egy ilyen függvényalkalmazáshoz, le kell tiltania a beépített naplózást is.

A beépített naplózás letiltása

Ha engedélyezi az Application Elemzések, tiltsa le az Azure-t használó beépített Storage. A beépített naplózás hasznos a kis számítási feladatokkal végzett teszteléshez, de nem nagy terhelésű éles használatra készült. Az éles monitorozáshoz az Application Elemzések. Ha az éles környezetben beépített naplózást használ, előfordulhat, hogy a naplózási rekord hiányos az Azure-beli Storage.

A beépített naplózás letiltásához törölje az AzureWebJobsDashboard alkalmazásbeállítást. Az alkalmazásbeállítások az alkalmazásbeállítások Azure Portal lásd: Függvényalkalmazás kezelése című szakasz Alkalmazásbeállítások szakasza. Az alkalmazásbeállítás törlése előtt győződjön meg arról, hogy egy függvényalkalmazás egyetlen meglévő függvénye sem használja az Azure Storage eseményindítók vagy kötések beállítását.

Nagy mennyiségű telemetriát tartalmazó megoldások

A függvényalkalmazások nélkülözhetetlenek a megoldásoknak, amelyek természetüknél fogva nagy mennyiségű telemetriát okoznak (IoT-megoldások, eseményvezérelt megoldások, nagy terhelésű pénzügyi rendszerek, integrációs rendszerek...). Ebben az esetben érdemes megfontolni a további konfigurálást a költségek csökkentése és a megfigyelhetőség fenntartása érdekében.

Attól függően, hogy a létrehozott telemetria hogyan lesz felhasználva, valós idejű irányítópultokat, riasztásokat, részletes diagnosztikát stb., meg kell határoznia egy stratégiát, amely csökkenti a létrehozott adatok mennyiségét. Ez a stratégia lehetővé teszi a függvényalkalmazások megfelelő figyelése, működtetése és diagnosztizálása éles környezetben. A következő lehetőségek közül választhat:

  • Mintavételezés használata: ahogy azt korábban említettük, a statisztikailag helyes elemzés fenntartása közben jelentősen csökkenthető a betöltött telemetriaesemények mennyisége. Előfordulhat, hogy még mintavételezéssel is nagy mennyiségű telemetriát kap. Vizsgálja meg az adaptív mintavételezési lehetőségeket, például állítsa a értékét egy olyan értékre, amely kiegyensúlyozza a monitorozási maxTelemetryItemsPerSecond igényeinek megfelelő kötetet. Ne feledje, hogy a telemetria mintavételezése a függvényalkalmazást végrehajtó gazdagépenként lesz alkalmazva.

  • Alapértelmezett naplózási szint: minden telemetriakategóriához használja a vagy a Warning Error értéket. Most már eldöntheti, hogy mely kategóriákat szeretné beállítani a függvények megfelelő figyelése és Information diagnosztizálása érdekében.

  • Hangolja a függvények telemetriai adatait: ha az alapértelmezett naplózási szint vagy , nem gyűjt részletes információkat az egyes függvényekről (függőségek, egyéni metrikák, egyéni események és Error Warning nyomkövetések). Az éles monitorozáshoz kulcsfontosságú függvények esetében határozzon meg egy explicit bejegyzést a kategóriához, és állítsa a (beállítás) beállításra, hogy részletes információkat Function.<YOUR_FUNCTION_NAME> Information gyűjthet. Ezen a ponton a felhasználó által létrehozott naplók szinten való gyűjtésének elkerülése érdekében állítsa a kategóriát vagy Information Function.<YOUR_FUNCTION_NAME>.User Error Warning naplózási szintre.

  • Host.Aggregator kategória: a Kategóriák konfigurálása témakörben leírtak szerint eza kategória a függvényhívások összesített információit biztosítja. Az ebből a kategóriából származó információk az Application Elemzések táblázatban jelennek meg, és a függvény Áttekintés lapján jelennek meg a customMetrics Azure Portal. Attól függően, hogy hogyan konfigurálja a gyűjtőt, vegye figyelembe, hogy a begyűjtött telemetriában a által meghatározott késés flushTimeout lesz. Ha a kategóriát a értéktől eltérő értékre adja meg, akkor nem gyűjti össze a táblában található adatokat, és nem jelenít meg metrikákat a függvény Information customMetrics Áttekintés lapján.

    Az alábbi képernyőképen a Host.Aggregator telemetriaadatok jelennek meg a függvény Áttekintés lapján. Képernyőkép a függvény Áttekintés lapján megjelenített Host.Aggregator telemetriról.

    Az alábbi képernyőképen a Host.Aggregator telemetriai adatai láthatóak az Application Elemzések Metrics táblában. Képernyőkép a Host.Aggregator telemetriával a customMetrics Application Elemzések táblában.

  • Host.Results kategória: a Kategóriák konfigurálása témakörben leírtak szerint eza kategória a futásidő által generált naplókat biztosítja, amelyek jelzik egy függvény meghívásának sikerességét vagy sikertelenségét. Az ebből a kategóriából származó információk az Application Elemzések táblában vannak összegyűjtve, és a függvényFigyelő lapon és különböző Application Elemzések irányítópultokon requests (Teljesítmény, Hibák...) jelennek meg. Ha ezt a kategóriát a értéktől eltérő értékre adja meg, csak a megadott (vagy magasabb) naplózási szinten létrehozott telemetriai adatokat gyűjti, például úgy, hogy csak a sikertelen végrehajtások kérési adatainak nyomon követését adja Information error vissza.

    Az alábbi képernyőképen a Host.Results telemetriai adatok jelennek meg a függvényFigyelő lapon. Képernyőkép a Host.Results telemetriról a függvényFigyelő lapon.

    Az alábbi képernyőképen a Host.Results telemetriai adatok jelennek meg az Application Elemzések Performance (Teljesítmény) irányítópulton. Képernyőkép a Host.Results telemetrijáról az Application Elemzések Performance (Teljesítmény) irányítópulton.

  • Host.Aggregator és Host.Results: mindkét kategória jó elemzéseket biztosít a függvényvégrehajtásokkal kapcsolatban, ha szükséges, eltávolíthatja a részletes információkat az egyik kategóriából, így a másikat monitorozásra és riasztásra használhatja. Íme egy példa:

{
  "version": "2.0",  
  "logging": {
    "logLevel": {
      "default": "Warning",
      "Function": "Error",
      "Host.Aggregator": "Error",
      "Host.Results": "Information", 
      "Function.Function1": "Information",
      "Function.Function1.User": "Error"
    },
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "maxTelemetryItemsPerSecond": 1,
        "excludedTypes": "Exception"
      }
    }
  }
} 

Ezzel a konfigurációval a következőre lesz szükség:

  • Az összes függvény és telemetria kategória alapértelmezett értéke (beleértve a Microsoftot és a feldolgozói kategóriákat is), így alapértelmezés szerint a rendszer a futtatás és az egyéni naplózás által létrehozott összes hibát és figyelmeztetést Warning gyűjti.

  • A kategórianapló szintje , így alapértelmezés szerint minden függvényhez csak kivételek és hibanaplók lesznek Function összegyűjtve (függőségek, felhasználó által létrehozott metrikák és a felhasználó által létrehozott események ki lesznek Error hagyva).

  • A kategória esetében, mivel naplózási szintre van állítva, a függvényhívások összesített információi nem lesznek összegyűjtve az Application Elemzések táblában, és a végrehajtások számával Host.Aggregator Error (összes, sikeres, sikertelen...) kapcsolatos információk nem jelennek meg a függvényáttekintő customMetrics irányítópulton.

  • A kategória Host.Results esetében a gazdagép végrehajtási információit az Application Elemzések requests gyűjti. A meghívások összes eredménye megjelenik a függvény Figyelés irányítópultján és az Alkalmazás-irányítópultok Elemzések irányítópultokon.

  • A nevű függvényhez beállítottuk a naplózási szintet, így ehhez a konkrét függvényhez az összes telemetria (függőség, egyéni metrikák, egyéni Function1 Information események) gyűjtése meg lesz állítva. Ugyanennek a függvénynek a kategóriája (a felhasználó által létrehozott nyomkövetések) beállítása , így csak az egyéni Function1.User Error hibanaplózás lesz összegyűjtve. Vegye figyelembe, hogy függvénykonfigurációnként az 1.x verzió nem támogatja.

  • A mintavételezés úgy van konfigurálva, hogy típusonként egy telemetriai elemet küldjön, kivéve a kivételeket. Ez a mintavételezés minden, a függvényalkalmazást futtató kiszolgáló gazdagépen megtörténik, így ha négy példányunk van, ez a konfiguráció típusonként másodpercenként négy telemetriai elemet bocsát ki, és minden kivételt, amely előfordulhat. Vegye figyelembe, hogy az olyan metrikák száma, mint a kérelmek és a kivételek száma, a mintavételezési arány kompenzálására van beállítja, hogy a Metrikakezelőben körülbelül megfelelő értékeket mutassanak.

Tipp

Kísérletezzen különböző konfigurációk alkalmazásával, hogy a naplózásra, a figyelésre és a riasztásra vonatkozó követelményeket is megfeleltetje. Váratlan hibák vagy meghibásodások esetén győződjön meg arról, hogy részletes diagnosztikát futtat.

A monitorozási konfiguráció felülbírálása futásidőben

Végezetül olyan helyzetek is előfordulhatnak, amikor gyorsan módosítania kell egy adott kategória naplózási viselkedését az éles környezetben, és nem szeretne egy teljes üzembe helyezést csak a fájl módosítása host.json érdekében. Ilyen esetekben felülbírálhatja a gazdagép JSON-értékeit.

Ha ezeket az értékeket az Alkalmazásbeállítások szintjén szeretné konfigurálni (és nem szeretné, hogy az újratelepítés csak a host.json módosításaira vonatkozzon), felül kell bírálnia bizonyos értékeket egy egyenértékű érték alkalmazásbeállításként host.json való létrehozásával. Amikor a futtatás talál egy alkalmazásbeállítást formátumban, felülírja a JSON-fájlban található ezzel AzureFunctionsJobHost__path__to__setting host.json egyenértékű path.to.setting beállítást. Alkalmazásbeállításként kifejezve a JSON-hierarchia jelzésére használt pont ( ) helyére . kettős aláhúzásjel () __ áll. Az alábbi alkalmazásbeállítások segítségével például konfigurálhatja az egyes függvénynapló-szinteket a fenti host.json módon.

Host.json elérési út Alkalmazásbeállítás
logging.logLevel.default AzureFunctionsJobHost__logging__logLevel__default
logging.logLeve.Host.Aggregator AzureFunctionsJobHost__logging__logLevel__Host__Aggregator
logging.logLevel.Function AzureFunctionsJobHost__logging__logLevel__Function
logging.logLevel.Function.Function1 AzureFunctionsJobHost__logging__logLevel__Function1
logging.logLevel.Function.Function1.User AzureFunctionsJobHost__logging__logLevel__Function1.User

A beállításokat felülbírálhatja közvetlenül a Azure Portal Függvény App Configuration panelen, vagy egy Azure CLI- vagy PowerShell-szkript használatával.

az functionapp config appsettings set --name MyFunctionApp --resource-group MyResourceGroup --settings "AzureFunctionsJobHost__logging__logLevel__Host__Aggregator=Information"

Megjegyzés

Ha felülírja host.json az et az alkalmazásbeállítások módosításával, az újraindítja a függvényalkalmazást.

Következő lépések

További információ a monitorozásról: