Monitorování stavu aplikace kvůli spolehlivosti
Monitorování a diagnostika jsou zásadní pro dostupnost a odolnost. Pokud něco selže, musíte vědět, že selhalo, kdy selhalo a proč.
Monitorování není totéž jako detekce selhání. Vaše aplikace může například detekovat přechodnou chybu a opakovat pokus, aby se zabránilo výpadkům. Měla by ale také protokolovat operaci opakování, abyste mohli monitorovat míru chyb a získat celkový přehled o stavu aplikace.
Klíčové body
- Definujte výstrahy, na které lze reagovat a které efektivně určují prioritu.
- Vytvořte výstrahy, které se dotazují na služby, které se přichýlují k omezením a kvótám.
- Pomocí instrumentace aplikací můžete detekovat a řešit anomálie výkonu.
- Sledujte průběh dlouhotr běžící procesů.
- Při řešení potíží získáte celkový přehled o stavu aplikace.
Zobrazení výstrah
Výstrahy jsou oznámení o problémech se stavem systému, které se nacházejí během monitorování. Výstrahy poskytují hodnotu pouze v případě, že jsou použitelné a efektivně upřednostňované techniky na volání prostřednictvím definovaných provozních postupů. Prezentovat telemetrická data ve formátu řídicího panelu nebo e-mailové výstrahy, který operátorovi usnadňuje rychlé zobrazení problémů nebo trendů.
Výstrahy na úrovni služby
Pomocí Azure Service Health můžete reagovat na události na úrovni služby. Azure Service Health poskytuje přehled o stavu služeb a oblastí Azure. Vydává komunikaci, která má vliv na následující služby:
- Výpadky
- Aktivity plánované údržby
- Další poradci pro stav
Azure Service Health by měla být nakonfigurovaná tak, aby zprovozněná Service Health události. Tato Service Health by se ale neměla používat k detekci problémů kvůli související latenci. Pro automatizované problémy existuje minutový cíl na úrovni služby (SLO), ale mnoho problémů vyžaduje ruční interpretaci k definování 5 analýzy hlavní příčiny (RCA). Místo toho by se výstrahy měly používat k poskytování užitečných informací, které pomáhají interpretovat problémy, které byly zjištěny a zjištěny prostřednictvím modelu stavu, a informovat tak provozní reakci.
Další informace najdete v Azure Service Health.
Upozornění na úrovni prostředků
Pomocí Azure Resource Health můžete reagovat na události na úrovni prostředků. Azure Resource Health poskytuje informace o stavu jednotlivých prostředků, jako je konkrétní virtuální počítač, a je velmi užitečný při diagnostice nedostupných prostředků.
Azure Resource Health by měla být nakonfigurovaná pro konkrétní skupiny prostředků a typy prostředků. Tyto výstrahy by se měly upravit tak, aby maximalizovaly poměr signálu k šumu. Můžete například distribuovat oznámení pouze v případě, že prostředek přestane být v pořádku podle modelu stavu aplikace nebo z důvodu události iniciované platformou Azure. Při nastavování vhodné prahové hodnoty pro nedostupnost prostředků je důležité zvážit přechodné problémy. Můžete například nakonfigurovat výstrahu pro virtuální počítač s prahovou hodnotou minut pro nedostupnost 1 před aktivací výstrahy.
Další informace najdete v Azure Resource Health.
Řídicí panely
Pomocí řídicích panelů Azure můžete také získat kompletní zobrazení stavu aplikace a vytvořit tak kombinované zobrazení grafů monitorování z následujících možností:
- Application Insights
- Log Analytics
- Azure Monitor metriky
- Service Health
ukázky
Tady je několik ukázek vytváření a dotazování upozornění:
- HealthAlert:Ukázka vytváření upozornění protokolu aktivit stavu na úrovni prostředku. Ukázka používá k Azure Resource Manager výstrahy.
- GraphAlertsPsSample:Sada příkazů PowerShellu, které se dotazují na výstrahy vygenerované pro vaše předplatné.
Limity předplatného a služeb Azure
Předplatná Azure mají omezení pro určité typy prostředků, jako je počet skupin prostředků, jader a účtů úložiště. Pokud chcete zajistit, aby vaše aplikace nespouštěla limity předplatného Azure, vytvořte upozornění, která se dotazují na služby, které se přichytá k omezením a kvótám.
Následující limity předplatného můžete řešit s upozorněními.
Jednotlivé služby
Jednotlivé služby Azure mají limity spotřeby pro:
- Storage
- Propustnost
- Počet připojení
- Počet žádostí za sekundu
Pokud se aplikace pokusí použít prostředky nad tyto limity, dojde k omezení služby a možnému výpadku.
V závislosti na konkrétní službě a požadavcích vaší aplikace můžete tyto limity často dodržovat horizontálním navýšením kapacity (například výběrem jiné cenové úrovně) nebo horizontálním navýšením kapacity (přidáním nových instancí).
Škálovatelnost a cíle výkonnosti úložiště Azure
Azure umožňuje maximální počet účtů úložiště na předplatné. Pokud vaše aplikace vyžaduje více účtů úložiště, než je aktuálně k dispozici ve vašem předplatném, vytvořte nové předplatné s účty úložiště navíc. Další informace najdete v části Limity,kvóty a omezení předplatného a služeb Azure.
Cíle škálovatelnosti pro disky virtuálních počítačů
Virtuální počítač infrastruktury jako služby (IaaS) Azure podporuje připojení mnoha datových disků v závislosti na několika faktorech, včetně velikosti virtuálního počítače a typu účtu úložiště. Pokud vaše aplikace překračuje cíle škálovatelnosti pro disky virtuálních počítačů, zřizace dalších účtů úložiště a vytvoření disků virtuálních počítačů v této oblasti. Další informace najdete v článku Škálovatelnost a výkonnostní cíle pro disky virtuálních počítačů.
Velikost virtuálního počítače
Pokud skutečný procesor, paměť, disk a V/V vašich virtuálních počítačů přistupuje k omezení velikosti virtuálního počítače, může u vaší aplikace docházet k problémům s kapacitou. Pokud chcete tyto problémy vyřešit, zvětšete velikost virtuálního počítače.
Pokud vaše úloha v průběhu času kolísá, zvažte použití škálovací sady virtuálních počítačů k automatickému škálování počtu virtuálních instancí. V opačném případě je potřeba ručně zvýšit nebo snížit počet virtuálních počítačů.
Azure SQL Database
Pokud vaše Azure SQL Database úroveň není dostatečná pro zpracování požadavků vaší aplikace na jednotku databázové transakce (DTU), bude používání vašich dat stíhána. Další informace o výběru správného plánu služby najdete v Azure SQL Database nákupních modelů.
Instrumentace
Instrumentovat aplikace pro měření zkušeností zákazníků Efektivní instrumentace je nezbytná pro detekci a řešení anomálií výkonu, které mohou ovlivnit zkušenosti zákazníků a dostupnost aplikací. Pokud chcete vytvořit robustní model stavu aplikací, je důležité zajistit přehled o provozním stavu kritických interních závislostí, jako je například sdílené síťové virtuální zařízení nebo připojení Express Route.
Automatizované systémy převzetí služeb při selhání a navrácení služeb po obnovení závisí na správném fungování monitorování a instrumentace. Řídicí panely, které vizualizovat upozornění na stav systému a operátory, také závisejí na přesném monitorování a instrumentaci. Pokud tyto prvky selžou, nezomešká se kritické informace nebo nahlásit nepřesná data, operátor si nemusí uvědomit, že systém není v pořádku nebo selhává. Nezapomeňte do testovacího plánu zahrnout systémy monitorování.
Instrumentuje aplikace ke sledování volání závislých služeb. Sledování závislostí a měření doby trvání nebo stavu volání závislostí je také důležité pro měření celkového stavu aplikace. Měl by se použít k informování modelu stavu pro aplikaci.
Microsoft doporučuje shromažďovat a ukládat protokoly a klíčové metriky důležitých komponent.
Zajištění bohaté instrumentace:
- V případě selhání, ke kterým došlo, ale ještě nedošlo: poskytněte dostatek dat k určení příčiny, zmírníte situaci a zajistíte, aby systém zůstal dostupný.
- V případě selhání, ke kterým už došlo: Aplikace by měla uživateli vrátit příslušnou chybovou zprávu, ale měla by se pokusit pokračovat v provozu bez ohledu na omezenou funkčnost.
Systémy monitorování by měly zachycovat komplexní podrobnosti, aby bylo možné aplikace efektivně obnovit, a v případě potřeby návrháři a vývojáři mohou systém upravit tak, aby se situace opakila.
Selhání dlouhotr běžících pracovních postupů
Dlouho běžící pracovní postupy často zahrnují několik kroků, z nichž každý by měl být nezávislý.
Sledujte průběh dlouhotrajících procesů, abyste minimalizovali pravděpodobnost, že bude nutné vrátit celý pracovní postup zpět nebo že bude potřeba provést více kompenzační transakce.
Tip
Sledujte a spravujte průběh dlouho běžících pracovních postupů implementací vzoru, jako je scheduler Agent Supervisor.
Analýza a diagnostika
Analyzujte data kombinovaná v těchto datových obchodech a vyřešte problémy a získejte celkový přehled o stavu aplikace. Obecně platí, že data můžete vyhledat a analyzovat v Application Přehledya Log Analytics pomocí dotazů Kusto nebo zobrazit předkonfigurované grafy pomocí řešení pro správu. Pomocí Azure Advisor můžete zobrazit doporučení se zaměřením na odolnost a výkon.
Související odkazy
- Informace o řídicích panelech najdete v referenčních informacích k řídicím panelům Azure.
- Informace o velikostech virtuálních počítačů najdete v části Velikosti virtuálních počítačů v Azure.
- Informace o škálovacích sadách najdete v přehledu škálovací sady virtuálních počítačů.
Zpět k hlavnímu článku: Monitorování