Monitorování Azure Functions

Tento článek popisuje:

  • Typy dat monitorování, které můžete pro tuto službu shromažďovat.
  • Způsoby analýzy dat

Poznámka:

Pokud už tuto službu nebo Azure Monitor znáte a chcete jenom vědět, jak analyzovat data monitorování, přečtěte si část Analyzovat na konci tohoto článku.

Pokud máte důležité aplikace a obchodní procesy, které spoléhají na prostředky Azure, musíte monitorovat a dostávat výstrahy pro váš systém. Služba Azure Monitor shromažďuje a agreguje metriky a protokoly ze všech komponent systému. Azure Monitor poskytuje přehled o dostupnosti, výkonu a odolnosti a upozorní vás na problémy. K nastavení a zobrazení dat monitorování můžete použít Azure Portal, PowerShell, Azure CLI, ROZHRANÍ REST API nebo klientské knihovny.

Přehledy

Některé služby v Azure mají integrovaný řídicí panel monitorování na webu Azure Portal, který poskytuje výchozí bod pro monitorování vaší služby. Tyto řídicí panely se nazývají přehledy a najdete je v Centru přehledů služby Azure Monitor na webu Azure Portal.

Application Insights

Azure Functions nabízí integrovanou integraci s Application Insights pro monitorování provádění funkcí. Podrobné informace o integraci, konfiguraci a používání Application Insights k monitorování Azure Functions najdete v následujících článcích:

Typy zdrojů

Azure používá koncept typů prostředků a ID k identifikaci všeho v předplatném. Typy prostředků jsou také součástí ID prostředků pro každý prostředek spuštěný v Azure. Například jeden typ prostředku pro virtuální počítač je Microsoft.Compute/virtualMachines. Seznam služeb a jejich přidružených typů prostředků najdete v tématu Poskytovatelé prostředků.

Azure Monitor podobně organizuje základní data monitorování do metrik a protokolů na základě typů prostředků, označovaných také jako obory názvů. Různé metriky a protokoly jsou k dispozici pro různé typy prostředků. Vaše služba může být přidružená k více než jednomu typu prostředku.

Další informace o typech prostředků pro Azure Functions najdete v referenčních informacích k datům monitorování služby Azure Functions.

Úložiště dat

Pro Azure Monitor:

  • Data metrik se ukládají v databázi metrik služby Azure Monitor.
  • Data protokolů se ukládají v úložišti protokolů služby Azure Monitor. Log Analytics je nástroj na webu Azure Portal, který se může dotazovat na toto úložiště.
  • Protokol aktivit Azure je samostatné úložiště s vlastním rozhraním na webu Azure Portal.

Volitelně můžete směrovat data metriky a protokolu aktivit do úložiště protokolů služby Azure Monitor. Log Analytics pak můžete použít k dotazování na data a jejich korelaci s jinými daty protokolů.

Mnoho služeb může použít nastavení diagnostiky k odesílání metrik a dat protokolů do jiných umístění úložiště mimo Azure Monitor. Mezi příklady patří Azure Storage, hostované partnerské systémy a partnerské systémy mimo Azure pomocí služby Event Hubs.

Podrobné informace o tom, jak Azure Monitor ukládá data, najdete na datové platformě Azure Monitoru.

Metriky platformy Azure Monitoru

Azure Monitor poskytuje metriky platformy pro většinu služeb. Tady jsou:

  • Individuálně definované pro každý obor názvů.
  • Uložená v databázi metrik časových řad služby Azure Monitor.
  • Zjednodušené a schopné podporovat upozorňování téměř v reálném čase.
  • Používá se ke sledování výkonu prostředku v průběhu času.

Kolekce: Azure Monitor shromažďuje metriky platformy automaticky. Není nutná žádná konfigurace.

Směrování: Některé metriky platformy můžete také směrovat do protokolů služby Azure Monitor / Log Analytics, abyste je mohli dotazovat pomocí jiných dat protokolů. Zkontrolujte nastavení exportu DS pro každou metriku a zjistěte, jestli můžete pomocí nastavení diagnostiky směrovat metriku do protokolů služby Azure Monitor nebo Log Analytics.

Seznam všech metrik, které je možné shromáždit pro všechny prostředky ve službě Azure Monitor, najdete v tématu Podporované metriky ve službě Azure Monitor.

Seznam dostupných metrik pro Azure Functions najdete v referenčních informacích k datům monitorování služby Azure Functions.

Poznámka:

Metriky služby App Service (Microsoft.Web/sites) nejsou dostupné, když vaše aplikace funkcí běží v Linuxu v plánu Consumption.

Protokoly prostředků služby Azure Monitor

Protokoly prostředků poskytují přehled o operacích, které provedl prostředek Azure. Protokoly se generují automaticky, ale pokud je chcete uložit nebo dotazovat, musíte je směrovat do protokolů služby Azure Monitor. Protokoly jsou uspořádané do kategorií. Daný obor názvů může mít více kategorií protokolu prostředků.

Kolekce: Protokoly prostředků se neshromažďují a neukládají, dokud nevytvoříte nastavení diagnostiky a nenasměrujete protokoly do jednoho nebo více umístění. Při vytváření nastavení diagnostiky určíte, které kategorie protokolů se mají shromažďovat. Existuje několik způsobů, jak vytvořit a udržovat nastavení diagnostiky, včetně webu Azure Portal, prostřednictvím kódu programu a služby Azure Policy.

Směrování: Navrhované výchozí nastavení je směrovat protokoly prostředků do protokolů služby Azure Monitor, abyste je mohli dotazovat pomocí jiných dat protokolu. K dispozici jsou také jiná umístění, jako je Azure Storage, Azure Event Hubs a někteří monitorovací partneři Microsoftu. Další informace najdete v protokolech prostředků Azure a cílech protokolů prostředků.

Podrobné informace o shromažďování, ukládání a směrování protokolů prostředků najdete v tématu Nastavení diagnostiky ve službě Azure Monitor.

Seznam všech dostupných kategorií protokolů prostředků ve službě Azure Monitor najdete v tématu Podporované protokoly prostředků ve službě Azure Monitor.

Všechny protokoly prostředků ve službě Azure Monitor mají stejná pole hlaviček, za kterými následují pole specifická pro službu. Běžné schéma je popsané ve schématu protokolu prostředků služby Azure Monitor.

Azure Functions se integruje s protokoly služby Azure Monitor pro monitorování funkcí. Podrobné pokyny k nastavení diagnostiky pro konfiguraci a směrování protokolů prostředků najdete v tématu Vytvoření nastavení diagnostiky ve službě Azure Monitor.

Snímek obrazovky s přidáním nastavení diagnostiky pro Azure Functions

Dostupné kategorie protokolů prostředků, přidružené tabulky Log Analytics a schémata protokolů pro Azure Functions najdete v referenčních informacích k datům monitorování služby Azure Functions.

Protokol aktivit Azure

Protokol aktivit obsahuje události na úrovni předplatného, které sledují operace pro každý prostředek Azure, jak je vidět mimo tento prostředek; Například vytvoření nového prostředku nebo spuštění virtuálního počítače.

Shromažďování: Události protokolu aktivit se automaticky generují a shromažďují v samostatném úložišti pro zobrazení na webu Azure Portal.

Směrování: Data protokolu aktivit můžete odesílat do protokolů služby Azure Monitor, abyste je mohli analyzovat společně s dalšími daty protokolů. K dispozici jsou také jiná umístění, jako je Azure Storage, Azure Event Hubs a někteří monitorovací partneři Microsoftu. Další informace o směrování protokolu aktivit najdete v tématu Přehled protokolu aktivit Azure.

Další protokoly

Azure Functions také nabízí možnost shromažďovat více než protokoly prostředků služby Azure Monitor. Pokud chcete zobrazit stream protokolů aplikací v téměř reálném čase vygenerovaný vaší funkcí spuštěnou v Azure, můžete se připojit k Application Insights a použít Live Metrics Stream. Nebo můžete použít integrované streamování protokolů platformy App Service k zobrazení datového proudu souborů protokolu aplikací. Další informace najdete v tématu Povolení protokolů spouštění streamování ve službě Azure Functions.

Analýza dat monitorování

Existuje mnoho nástrojů pro analýzu dat monitorování.

Nástroje služby Azure Monitor

Azure Monitor podporuje následující základní nástroje:

Mezi nástroje, které umožňují složitější vizualizaci, patří:

  • Řídicí panely , které umožňují kombinovat různé druhy dat do jednoho podokna na webu Azure Portal.
  • Sešity, přizpůsobitelné sestavy, které můžete vytvořit na webu Azure Portal. Sešity můžou obsahovat dotazy na text, metriky a protokoly.
  • Grafana, otevřený nástroj platformy, který exceluje v provozních řídicích panelech Grafana umožňuje vytvářet řídicí panely, které obsahují data z více zdrojů, než je Azure Monitor.
  • Power BI, služba obchodní analýzy, která poskytuje interaktivní vizualizace napříč různými zdroji dat. Power BI můžete nakonfigurovat tak, aby automaticky naimportovali data protokolů ze služby Azure Monitor, abyste mohli tyto vizualizace využívat.

Nástroje pro export ve službě Azure Monitor

Data ze služby Azure Monitor můžete získat do jiných nástrojů pomocí následujících metod:

Pokud chcete začít s rozhraním REST API pro Azure Monitor, přečtěte si průvodce rozhraním REST API pro monitorování Azure.

Analýza metrik pro Azure Functions

Následující příklady používají metriky služby Azure Monitor k odhadu nákladů na provoz vaší aplikace funkcí v plánu Consumption. Další informace o odhadu nákladů na plán Consumption najdete v tématu Odhad nákladů na plán Consumption.

Pomocí Průzkumníka metrik Služby Azure Monitor můžete zobrazit data související s náklady pro aplikace funkcí plánu Consumption v grafickém formátu.

  1. Na webu Azure Portal přejděte do aplikace funkcí.

  2. Na levém panelu se posuňte dolů na Monitorování a zvolte Metriky.

  3. V metrikě zvolte Počet spuštění funkce a součet pro agregaci. Tím se do grafu přičte součet počtů spuštění během vybraného období.

    Definování metriky aplikace funkcí pro přidání do grafu

  4. Vyberte Přidat metriku a opakujte kroky 2 až 4 a přidejte do grafu jednotky provádění funkcí.

Výsledný graf obsahuje součty pro obě metriky spuštění ve zvoleném časovém rozsahu, což je v tomto případě dvě hodiny.

Graf počtů provádění funkcí a jednotek provádění

Vzhledem k tomu, že počet jednotek provádění je mnohem větší než počet spuštění, graf zobrazuje pouze jednotky provádění.

Tento graf zobrazuje celkem 1,11 miliardy Function Execution Units spotřebovaných v dvouhodinovém období měřeném v MB-milisekundách. Pokud chcete převést na GB sekund, vydělte 1024000. V tomto příkladu aplikace funkcí spotřebovala 1110000000 / 1024000 = 1083.98 GB sekund. Tuto hodnotu můžete vzít a vynásobit aktuální cenou doby provádění na stránce s cenami služby Functions, která poskytuje náklady na tyto dvě hodiny za předpokladu, že jste už využili jakékoli bezplatné granty doby provádění.

Analýza protokolů pro Azure Functions

Azure Functions zapisuje všechny protokoly do tabulky FunctionAppLogs v části LogManagement v pracovním prostoru služby Log Analytics, kam odesíláte data. K dotazování dat můžete použít dotazy Kusto.

Snímek obrazovky s oknem Dotazu pro Azure Functions v pracovním prostoru služby Log Analytics

Dotazy Kusto

Data monitorování můžete analyzovat v protokolech služby Azure Monitor nebo v úložišti Log Analytics pomocí dotazovacího jazyka Kusto (KQL).

Důležité

Když na portálu vyberete protokoly z nabídky služby, otevře se Log Analytics s oborem dotazu nastaveným na aktuální službu. Tento obor znamená, že dotazy protokolu budou obsahovat pouze data z tohoto typu prostředku. Pokud chcete spustit dotaz, který obsahuje data z jiných služeb Azure, vyberte v nabídce Azure Monitor protokoly. Podrobnosti najdete v tématu Rozsah dotazů protokolu a časový rozsah ve službě Azure Monitor Log Analytics .

Seznam běžných dotazů pro libovolnou službu najdete v rozhraní dotazů Log Analytics.

Následující ukázkové dotazy vám můžou pomoct monitorovat všechny protokoly aplikace funkcí:


FunctionAppLogs
| order by TimeGenerated desc

FunctionAppLogs
| project TimeGenerated, HostInstanceId, Message, _ResourceId
| order by TimeGenerated desc

Následující ukázkový dotaz vám může pomoct monitorovat protokoly konkrétní aplikace funkcí:

FunctionAppLogs
| where FunctionName == "<Function name>" 
| order by TimeGenerated desc

Následující ukázkový dotaz vám může pomoct monitorovat výjimky ve všech protokolech aplikace functions:


FunctionAppLogs
| where ExceptionDetails != ""  
| order by TimeGenerated asc

Následující ukázkový dotaz vám může pomoct monitorovat výjimky v protokolech konkrétní aplikace funkcí:

FunctionAppLogs
| where ExceptionDetails != ""  
| where FunctionName == "<Function name>" 
| order by TimeGenerated desc

Výstrahy

Upozornění služby Azure Monitor vás aktivně upozorňují, když se v datech monitorování nacházejí konkrétní podmínky. Upozornění umožňují identifikovat a řešit problémy ve vašem systému, než si je zákazníci všimnou. Další informace najdete v tématu Upozornění služby Azure Monitor.

Existuje mnoho zdrojů běžných upozornění pro prostředky Azure. Příklady běžných upozornění pro prostředky Azure najdete v tématu Ukázkové dotazy na upozornění protokolu. Web AMBA (Baseline Alerts) služby Azure Monitor poskytuje poloautomatickou metodu implementace důležitých upozornění, řídicích panelů a pokynů pro metriky platformy. Web se vztahuje na neustále se rozšiřující podmnožinu služeb Azure, včetně všech služeb, které jsou součástí cílové zóny Azure (ALZ).

Běžné schéma upozornění standardizuje spotřebu oznámení upozornění služby Azure Monitor. Další informace najdete v tématu Běžné schéma upozornění.

Typy výstrah

Na libovolnou metriku nebo zdroj dat protokolu na datové platformě azure Monitoru můžete upozornit. Existuje mnoho různých typů upozornění v závislosti na službách, které monitorujete, a na datech monitorování, která shromažďujete. Různé typy upozornění mají různé výhody a nevýhody. Další informace naleznete v tématu Volba správného typu upozornění monitorování.

Následující seznam popisuje typy upozornění služby Azure Monitor, které můžete vytvořit:

  • Upozornění na metriky vyhodnocují metriky prostředků v pravidelných intervalech. Metriky můžou být metriky platformy, vlastní metriky, protokoly ze služby Azure Monitor převedené na metriky nebo metriky Application Insights. Upozornění na metriky můžou také použít více podmínek a dynamických prahových hodnot.
  • Upozornění protokolu umožňují uživatelům použít dotaz Log Analytics k vyhodnocení protokolů prostředků s předdefinovanou frekvencí.
  • Upozornění protokolu aktivit se aktivují, když dojde k nové události protokolu aktivit, která odpovídá definovaným podmínkám. Upozornění služby Resource Health a upozornění služby Service Health jsou upozornění protokolu aktivit, která hlásí stav služby a prostředku.

Některé služby Azure také podporují upozornění inteligentního zjišťování, výstrahy Prometheus nebo doporučená pravidla upozornění.

U některých služeb můžete monitorovat škálování použitím stejného pravidla upozornění na metriku u více prostředků stejného typu, které existují ve stejné oblasti Azure. Jednotlivá oznámení se odesílají pro každý monitorovaný prostředek. Podporované služby a cloudy Azure najdete v tématu Monitorování více prostředků pomocí jednoho pravidla upozornění.

Poznámka:

Pokud vytváříte nebo spouštíte aplikaci, která běží ve vaší službě, může Azure Monitor application Insights nabízet více typů upozornění.

Pravidla upozornění služby Azure Functions

Následující tabulka uvádí běžná a doporučená pravidla upozornění pro Azure Functions. Toto jsou jenom doporučená upozornění. Upozornění pro libovolnou metriku, položku protokolu nebo položku protokolu aktivit uvedenou v referenčních informacích k datům monitorování pro Azure Functions můžete nastavit.

Typ upozornění Podmínka Popis
Metrika Průměrná připojení Když počet připojení překročí nastavenou hodnotu
Metrika HTTP 404 Když odpovědi HTTP 404 překročí nastavenou hodnotu
Metrika Chyby serveru HTTP Když chyby HTTP 5xx překročí nastavenou hodnotu
Protokol aktivit Vytvoření nebo aktualizace aplikace funkcí Při vytváření nebo aktualizaci aplikace
Protokol aktivit Odstranění aplikace funkcí Při odstranění aplikace
Protokol aktivit Restartování aplikace funkcí Při restartování aplikace
Protokol aktivit Zastavení aplikace funkcí Když je aplikace zastavená

Doporučení poradce

U některých služeb, pokud během operací prostředků dojde k kritickým nebo bezprostředním změnám, zobrazí se na stránce Přehled služby na portálu výstraha. Další informace a doporučené opravy výstrahy najdete v doporučeních Advisoru v části Monitorování v nabídce vlevo. Během normálních operací se nezobrazují žádná doporučení poradce.

Další informace o Azure Advisoru najdete v přehledu Azure Advisoru.

Další informace o monitorování služby Azure Functions najdete v následujících článcích: