Důležité informace o správě provozu pro akcelerátor cílové zóny služby AIS Services
Tento článek obsahuje důležité informace a doporučení pro správu a monitorování provozu při používání nabídek AIS.
Většina doporučení v této části se vztahuje na verzi Logic Apps Standard (s jedním tenantem), která je sama o sobě součástí nabídky Azure App Service a sdílí mnoho stejných funkcí správy.
Mnoho prostředků, které tvoří AIS, je možné nakonfigurovat tak, aby ukládaly protokoly, telemetrická data a data metrik ve službě Log Analytics, Application Insights nebo ve vlastních umístěních úložišť (mezi tyto prostředky patří účty úložiště, event hubs a další).
Tyto informace můžeme využít k vizualizaci celkového stavu našich prostředků a provedení příslušných akcí správy.
Definice
Protokoly služby Azure Monitor shromažďují a uspořádají data protokolů a výkonu z monitorovaných prostředků. Nástroje, jako je Log Analytics, pak můžou tyto informace protokolu dotazovat nebo vizualizovat, případně vám umožní upozorňovat, pokud jsou splněny určité podmínky.
Protokoly metrik Azure shromažďují číselná data do databáze časových řad z monitorovaných prostředků. Nástroje, jako je Application Insights, pak můžou tato data vizualizovat, což vám pomůže identifikovat problémy s výkonem a modulem runtime.
Log Analytics je nabídka monitorování Azure, která poskytuje umístění pro ukládání dat protokolu a výkonu a poskytuje mechanismus a jazyk pro dotazování těchto protokolů (Kusto). a poskytuje možnost vytvářet výstrahy a řídicí panely založené na těchto protokolech (mimo jiné funkce).
Application Insights je nabídka monitorování Azure, která poskytuje možnost vizualizovat a upozorňovat na data o výkonu generovaná monitorovanými prostředky.
dotazovací jazyk Kusto (KQL) je výkonný dotazovací jazyk optimalizovaný pro dotazování a formátování dat. Jedná se například o primární dotazovací jazyk pro Log Analytics.
Aspekty návrhu
Zvažte řešení monitorování jako celek:
Jaké prostředky potřebujete monitorovat?
Jak budete sledovat zprávy, které proudí mezi prostředky?
K jakým externím systémům se připojíte?
Jaké typy upozornění budete potřebovat?
Zamyslete se nad tím, jaké dotazy potřebujete spustit. Budete například potřebovat vědět, jestli daná žádost trvá déle, než se čekalo? Nebo pokud se zobrazí jedna chyba vs. cluster chyb?
Jakou úroveň sledování budete potřebovat? Pokud například přijde zpráva od třetí strany, musíte ji sledovat prostřednictvím všech přidružených prostředků?
Jaké úlohy správy budete muset provést? Budete muset znovu odeslat zprávy nebo soubory?
Ve výchozím nastavení je historie spuštění aplikace logiky uložená ve službě Azure Storage, ale můžete také exportovat metriky a soubory protokolů do jiných zdrojů (například Log Analytics nebo externího účtu úložiště). Zvažte, jak používáte informace o protokolování a jestli používáte centralizované úložiště protokolů.
Application Insights slouží k poskytování monitorování výkonu aplikací. Dělá to tak, že shromažďuje metriky z prostředků, které tvoří vaše řešení.
Log Analytics se používá k dotazování protokolů a nastavení upozornění, což vám umožní zobrazit stav vašich prostředků a porozumět problémům, ke kterým může dojít. Data protokolu můžou obsahovat vlastní vlastnosti (viz sledované vlastnosti níže).
Další důležité informace a doporučení týkající se služeb App Services najdete v článku o správě akcelerátoru cílových zón App Service.
Doporučení k návrhu
Nastavte Application Insights tak, aby používal pracovní prostor služby Log Analytics jako zdroj dat (označovaný jako prostředek založený na pracovním prostoru). Tím umožníte, aby se data protokolování a výkonu uchovávala v konsolidovaném umístění.
Nastavte upozornění pro všechny prostředky, abyste příslušné týmy informovali o událostech souvisejících s jednotlivými prostředky nebo s úlohou.
Propojte prostředky ve vašem řešení se službou Application Insights, pokud je podporovaná. Aplikaci logiky je například možné propojit s Application Insights, aby byla k dispozici data a metriky modulu runtime pro dotazování. Příklad najdete tady.
Pomocí funkce clientTrackingId služby Logic Apps můžete zadat vlastní ID sledování, které vám umožní korelovat události napříč spuštěními aplikací logiky. K dosažení tohoto výsledku můžete použít hlavičku x-ms-client-tracking-id s triggery Request, HTTP nebo HTTP+WebHook.
Pomocí funkce Sledované vlastnosti v Logic Apps můžete do souborů protokolu protokolovat další data (vstup nebo výstup) z akce. Tyto vlastnosti jsou pak k dispozici pro dotazování protokolů pomocí KQL s Log Analytics nebo jiným řešením.
Zvažte použití značek prostředků. Značky prostředků vám můžou pomoct se správou a uspořádáním prostředků v Azure. Můžete je použít k přiřazení metadat k prostředkům. Tato metadata můžete použít k různým účelům, jako je kategorizace prostředků podle aplikace nebo obchodní jednotky, sledování nákladů na prostředky a identifikace prostředků pro dodržování předpisů.
Ukázkové dotazy Kusto
Následující dotazy ukazují, jak dotazovat tři hlavní tabulky používané pro data protokolu AIS. Ke každé z těchto tabulek je možné získat přístup z možnosti Protokoly v části Monitorování vaší aplikace logiky.
Hlavní tabulky dotazů jsou:
Výjimky
Tato tabulka obsahuje všechny výjimky zaznamenané vaším prostředkem, jako jsou výjimky vyvolané modulem runtime aplikace logiky. Můžete ho použít k vyhledání základní příčiny jakýchkoli problémů, které se zobrazí, a to buď na portálu, nebo během provádění kódu.požadavky
Tato tabulka protokoluje všechny požadavky provedené modulem runtime aplikace logiky na jiný prostředek nebo na konkrétní akce v rámci pracovního postupu.Stopy
Tato tabulka obsahuje většinu protokolů modulu runtime služby Logic Apps, podrobnosti protokolování spuštění triggeru, spouštění a zastavování pracovních postupů a provádění akcí. Pokud jste zaprotokolovali nějaké sledované vlastnosti z akcí, najdete tato data v části customDimensions . Potom můžete pomocí klauzule extend v dotazu přidat data jako sloupce v odpovědi na dotaz.
Pracovní postupy s chybami:
> traces
>
> \| where customDimensions\["Category"\] == "Host.Triggers.Workflows"
>
> \| where customDimensions.LogLevel == "Error"
Počet spuštění pracovních postupů za posledních 24 hodin ve všech pracovních postupech:
> traces
>
> \| where customDimensions\["Category"\] == "Host.Triggers.Workflows"
>
> \| where customDimensions\["EventName"\] == "WorkflowActionStart"
>
> \| where timestamp \> ago(1d)
>
> \| count
Míra úspěšnosti aktivačních událostí v grafu v průběhu času
> traces
> \| where customDimensions\["Category"\] == "Host.Triggers.Workflows"
> \| where customDimensions\["EventName"\] == "WorkflowTriggerEnd"
> \|summarize
>
> success = countif(customDimensions\["prop\_\_status"\] ==
> "Succeeded"),
>
> failures = countif(customDimensions\["prop\_\_status"\] == "Failed")
>
> by bin(timestamp, 1m)
> \| render timechart
Další krok
Projděte si kritické oblasti návrhu a projděte si kompletní aspekty a doporučení pro vaši architekturu.