Monitorování spuštění v Azure Functions

Azure Functions nabízí integrovanou integraci s Aplikace Azure Přehledy pro monitorování provádění funkcí. Tento článek obsahuje přehled možností monitorování, které poskytuje Azure pro monitorování azure Functions.

Application Insights shromažďuje data protokolů, výkonu a chyb. Díky automatickému zjišťování anomálií výkonu a použití výkonných analytických nástrojů můžete snadněji diagnostikovat problémy a lépe pochopit, jak se vaše funkce používají. Tyto nástroje jsou navržené tak, aby vám pomohly průběžně zlepšovat výkon a použitelnost vašich funkcí. Aplikaci můžete dokonce použít Přehledy během vývoje projektu místní aplikace funkcí. Další informace naleznete v tématu Co je aplikace Přehledy?.

Vzhledem k tomu, že instrumentace Přehledy aplikací je integrovaná do Azure Functions, potřebujete platný instrumentační klíč pro připojení aplikace k prostředku Přehledy aplikace. Instrumentační klíč se přidá do nastavení aplikace při vytváření prostředku aplikace funkcí v Azure. Pokud vaše aplikace funkcí tento klíč ještě nemá, můžete ho nastavit ručně.

Samotnou aplikaci funkcí můžete také monitorovat pomocí služby Azure Monitor. Další informace najdete v tématu Monitorování služby Azure Functions pomocí služby Azure Monitor.

Ceny a limity Přehledy aplikací

Aplikaci Přehledy integraci se službou Azure Functions si můžete zdarma vyzkoušet s denním limitem počtu zpracovávaných dat zdarma.

Pokud povolíte aplikace Přehledy během vývoje, můžete tento limit během testování udeřili. Azure poskytuje portál a e-mailová oznámení, když se blížíte dennímu limitu. Pokud tyto výstrahy zmeškáte a dosáhnete limitu, nové protokoly se v dotazech aplikace Přehledy nezobrazí. Mějte na paměti limit, abyste se vyhnuli zbytečnému řešení potíží. Další informace najdete v tématu Fakturace Přehledy aplikací.

Důležité

Aplikace Přehledy má funkci vzorkování, která vás může chránit před vytvářením příliš velkého množství telemetrických dat při dokončených spuštěních v době špičky zatížení. Vzorkování je ve výchozím nastavení povolené. Pokud se zdá, že vám chybí data, možná budete muset upravit nastavení vzorkování tak, aby odpovídalo vašemu konkrétnímu scénáři monitorování. Další informace najdete v tématu Konfigurace vzorkování.

Úplný seznam funkcí Přehledy aplikací dostupných pro vaši aplikaci funkcí je podrobně popsaný v Přehledy aplikací pro podporované funkce Azure Functions.

Integrace Application Insights

Při vytváření aplikace funkcí obvykle vytvoříte instanci aplikace Přehledy. V tomto případě je instrumentační klíč vyžadovaný pro integraci již nastaven jako nastavení aplikace s názvem APPINSIGHTS_INSTRUMENTATIONKEY. Pokud vaše aplikace funkcí z nějakého důvodu nemá nastavený instrumentační klíč, musíte povolit integraci Přehledy aplikace.

Důležité

Suverénní cloudy, jako je Azure Government, vyžadují použití aplikačního Přehledy připojovací řetězec (APPLICATIONINSIGHTS_CONNECTION_STRING) místo instrumentačního klíče. Další informace najdete v APPLICATIONINSIGHTS_CONNECTION_STRING referenčních informacích.

Následující tabulka obsahuje podrobnosti o podporovaných funkcích aplikace Přehledy dostupné pro monitorování aplikací funkcí:

Verze modulu runtime Azure Functions 1.x 2.x+
Automatická kolekce
•Požadavky
•Výjimky
• Čítače výkonu
•Závislosti
   — HTTP
   — Service Bus
   — Event Hubs
   — SQL*
Podporované funkce
• QuickPulse/LiveMetrics Ano Yes
   — Zabezpečený řídicí kanál Ano
•Odběru vzorků Ano Yes
• Prezenčních signálů Ano
Korelace
• Service Bus Ano
• Event Hubs Ano
Konfigurovatelné
Plně konfigurovatelné Ano

* Pokud chcete povolit kolekci textu řetězce dotazu SQL, přečtěte si téma Povolení kolekce dotazů SQL.

Shromažďování telemetrických dat

S povolenou integrací Přehledy aplikace se telemetrická data odesílají do připojené instance Přehledy aplikace. Tato data zahrnují protokoly vygenerované hostitelem služby Functions, trasování zapsaná z kódu funkcí a údaje o výkonu.

Poznámka:

Kromě dat z vašich funkcí a hostitele Functions můžete také shromažďovat data z kontroleru škálování služby Functions.

Úrovně protokolů a kategorie

Když píšete trasování z kódu aplikace, měli byste trasování přiřadit úroveň protokolu. Úrovně protokolů poskytují způsob, jak omezit množství dat shromážděných z trasování.

Ke každému protokolu se přiřadí úroveň protokolu. Hodnota je celé číslo, které označuje relativní důležitost:

ÚroveňProtokolu Kód Popis
Trasování 0 Protokoly, které obsahují nejpodrobnější zprávy. Tyto zprávy můžou obsahovat citlivá data aplikace. Tyto zprávy jsou ve výchozím nastavení zakázané a nikdy by neměly být povolené v produkčním prostředí.
Ladění 0 Protokoly, které se používají k interaktivnímu šetření během vývoje. Tyto protokoly by měly obsahovat především informace užitečné pro ladění a nemají dlouhodobou hodnotu.
Informační 2 Protokoly, které sledují obecný tok aplikace. Tyto protokoly by měly mít dlouhodobou hodnotu.
Upozorňující 3 Protokoly, které zvýrazňují neobvyklou nebo neočekávanou událost v toku aplikace, ale jinak nezpůsobí zastavení spuštění aplikace.
Chyba 4 Protokoly, které zvýrazňují, když je aktuální tok spuštění zastaven kvůli selhání. Tyto chyby by měly značí selhání v aktuální aktivitě, nikoli selhání na úrovni aplikace.
Kritické 5 Protokoly, které popisují neopravitelnou aplikaci nebo systémovou chybu nebo katastrofické selhání, které vyžaduje okamžitou pozornost.
Nic 6 Zakáže protokolování pro zadanou kategorii.

Konfigurace souboru host.json určuje, kolik protokolování aplikace funkcí odesílá do aplikačního Přehledy.

Další informace o úrovních protokolů najdete v tématu Konfigurace úrovní protokolu.

Přiřazením zaprotokolovaných položek do kategorie máte větší kontrolu nad telemetrií vygenerovanou z konkrétních zdrojů ve vaší aplikaci funkcí. Kategorie usnadňují spouštění analýz shromážděných dat. Trasování napsaná z kódu funkce se přiřazují k jednotlivým kategoriím na základě názvu funkce. Další informace o kategoriích najdete v tématu Konfigurace kategorií.

Vlastní telemetrická data

V jazyce C#, JavaScript a Python můžete k zápisu vlastních telemetrických dat použít sadu Application Přehledy SDK.

Závislosti

Počínaje verzí 2.x funkcí aplikace Přehledy automaticky shromažďuje data o závislostech pro vazby, které používají určité klientské sady SDK. Aplikace Přehledy distribuované trasování a sledování závislostí se v současné době nepodporují pro aplikace c# spuštěné v izolovaném pracovním procesu. Aplikace Přehledy shromažďuje data o následujících závislostech:

  • Azure Cosmos DB
  • Azure Event Hubs
  • Azure Service Bus
  • Služby Azure Storage (objekty blob, fronta a tabulka)

Zachytávají se také požadavky HTTP a volání databáze.SqlClient Úplný seznam závislostí podporovaných aplikací Přehledy najdete v tématu automaticky sledované závislosti.

Aplikace Přehledy generuje mapu aplikace shromážděných dat závislostí. Následuje příklad mapy aplikace funkce triggeru HTTP s výstupní vazbou Queue Storage.

Mapa aplikace se závislostí

Závislosti se zapisují na Information úrovni. Pokud filtrujete podle Warning nebo výše, neuvidíte data závislostí. Automatické shromažďování závislostí se také děje v oboru bez uživatele. Pokud chcete zachytit data závislostí, ujistěte se, že je úroveň nastavená alespoň Information mimo obor uživatele (Function.<YOUR_FUNCTION_NAME>.User) ve vašem hostiteli.

Kromě automatického shromažďování dat závislostí můžete k zápisu vlastních informací o závislostech do protokolů použít také jednu ze sad Application Přehledy SDK specifická pro konkrétní jazyk. Příklad, jak psát vlastní závislosti, najdete v jednom z následujících příkladů specifických pro jazyk:

Čítače výkonu

Automatické shromažďování čítačů výkonu se nepodporuje při spouštění v Linuxu.

Zápis do protokolů

Způsob zápisu do protokolů a rozhraní API, která používáte, závisí na jazyce projektu aplikace funkcí.
Další informace o psaní protokolů z funkcí najdete v příručce pro vývojáře pro váš jazyk.

Analýza dat

Ve výchozím nastavení se data shromážděná z vaší aplikace funkcí ukládají v Přehledy aplikace. Na webu Azure Portal poskytuje aplikace Přehledy rozsáhlou sadu vizualizací vašich telemetrických dat. Můžete přejít k podrobnostem protokolů chyb a dotazování událostí a metrik. Další informace, včetně základních příkladů zobrazení a dotazování shromážděných dat, najdete v tématu Analýza telemetrie Azure Functions v Přehledy aplikace.

Protokoly streamování

Při vývoji aplikace často chcete zjistit, co se zapisuje do protokolů téměř v reálném čase při spuštění v Azure.

Existují dva způsoby zobrazení datového proudu dat protokolu generovaných spuštěními funkce.

  • Integrované streamování protokolů: Platforma App Service umožňuje zobrazit datový proud souborů protokolu vaší aplikace. Tento datový proud je ekvivalentem výstupu při ladění funkcí během místního vývoje a při použití karty Test na portálu. Zobrazí se všechny informace založené na protokolu. Další informace najdete v tématu Protokoly streamu. Tato metoda streamování podporuje pouze jednu instanci a nejde ji použít s aplikací spuštěnou v Linuxu v plánu Consumption.

  • Stream živé metriky: Když je vaše aplikace funkcí připojená k Přehledy aplikace, můžete zobrazit data protokolů a další metriky téměř v reálném čase na webu Azure Portal pomocí živého streamu metrik. Tuto metodu použijte při monitorování funkcí spuštěných v několika instancích nebo v Linuxu v plánu Consumption. Tato metoda používá vzorkovaná data.

Streamy protokolů se dají zobrazit na portálu i ve většině místních vývojových prostředí. Informace o povolení streamů protokolů najdete v tématu Povolení protokolů spouštění streamování ve službě Azure Functions.

Diagnostické protokoly

Aplikační Přehledy umožňuje exportovat telemetrická data do dlouhodobého úložiště nebo do jiných analytických služeb.

Vzhledem k tomu, že se služba Functions také integruje se službou Azure Monitor, můžete pomocí nastavení diagnostiky odesílat telemetrická data do různých cílů, včetně protokolů služby Azure Monitor. Další informace najdete v tématu Monitorování služby Azure Functions pomocí protokolů služby Azure Monitor.

Protokoly kontroleru škálování

Kontroler škálování Azure Functions monitoruje instance hostitele Azure Functions, na kterém běží vaše aplikace. Tento kontroler rozhoduje o tom, kdy přidat nebo odebrat instance na základě aktuálního výkonu. Řadič škálování může generovat protokoly do aplikace Přehledy, abyste lépe pochopili rozhodnutí, která kontroler škálování provádí pro vaši aplikaci funkcí. Vygenerované protokoly můžete také uložit do úložiště objektů blob pro účely analýzy jinou službou.

Tuto funkci povolíte tak, že do nastavení aplikace funkcí přidáte nastavení aplikace s názvem SCALE_CONTROLLER_LOGGING_ENABLED . Postup najdete v tématu Konfigurace protokolů kontroleru škálování.

Metriky služby Azure Monitor

Kromě telemetrických dat založených na protokolech shromážděných aplikací Přehledy můžete také získat data o tom, jak aplikace funkcí běží z metrik služby Azure Monitor. Další informace najdete v tématu Monitorování pomocí služby Azure Monitor.

Nahlášení potíží

Pokud chcete nahlásit problém s integrací aplikace Přehledy ve službě Functions nebo vytvořit návrh nebo žádost, vytvořte problém na GitHubu.

Další kroky

Další informace naleznete v následujících zdrojích: