Azure Monitor
Tip
Tento obsah je výňatek z eBooku, Architekting Cloud Native .NET Applications for Azure, který je k dispozici na webu Docs pro .NET nebo jako soubor PDF zdarma ke stažení, který si můžete přečíst offline.
Žádný jiný poskytovatel cloudu nemá tak vyspělé řešení pro monitorování cloudových aplikací, než které se nachází v Azure. Azure Monitor je zastřešující název kolekce nástrojů navržených tak, aby poskytoval přehled o stavu vašeho systému. Pomáhá pochopit, jak vaše nativní cloudové služby fungují, a proaktivně identifikuje problémy, které na ně mají vliv. Obrázek 7–12 představuje vysokou úroveň zobrazení služby Azure Monitor.
Obrázek 7–12 Zobrazení služby Azure Monitor na vysoké úrovni
Shromažďování protokolů a metrik
Prvním krokem v jakémkoli řešení monitorování je shromáždit co nejvíce dat. Čím více dat se shromažďují, tím hlubší přehledy. Instrumentace systémů byla tradičně obtížná. Protokol SNMP (Simple Network Management Protocol) byl zlatým standardním protokolem pro shromažďování informací na úrovni počítače, ale vyžadoval spoustu znalostí a konfigurace. Naštěstí byla většina této těžké práce eliminována, protože Azure Monitor shromažďuje nejčastější metriky automaticky.
Metriky a události na úrovni aplikace není možné instrumentovat automaticky, protože jsou specifické pro nasazenou aplikaci. Aby bylo možné tyto metriky shromáždit, jsou k dispozici sady SDK a rozhraní API pro přímé hlášení takových informací, jako je například registrace zákazníka nebo dokončení objednávky. Výjimky je také možné zaznamenat a ohlásit zpět do služby Azure Monitor prostřednictvím služby Application Přehledy. Sady SDK podporují většinu jazyků v nativních cloudových aplikacích, včetně jazyka Go, Python, JavaScript a jazyků .NET.
Konečným cílem shromažďování informací o stavu vaší aplikace je zajistit, aby koncoví uživatelé měli dobrou zkušenost. Jaký lepší způsob, jak zjistit, jestli uživatelé mají problémy, než dělat mimo webové testy? Tyto testy můžou být stejně jednoduché jako příkaz ping na web z umístění po celém světě nebo tak, že se agenti přihlašují k webu a simulují akce uživatelů.
Data generování sestav
Jakmile se data shromáždí, dají se manipulovat, sumarizovat a vykreslovat do grafů, což uživatelům umožňuje okamžitě zjistit, kdy dochází k problémům. Tyto grafy se dají shromáždit do řídicích panelů nebo do sešitů. Jde o vícestrákovou sestavu, která je navržená tak, aby se dozvěděla o určitém aspektu systému.
Bez umělé inteligence nebo strojového učení by nebyla úplná žádná moderní aplikace. Za tímto účelem je možné data předat různým nástrojům strojového učení v Azure, abyste mohli extrahovat trendy a informace, které by jinak byly skryté.
Aplikační Přehledy poskytuje výkonný dotazovací jazyk (podobný JAZYK SQL) s názvem Kusto, který může dotazovat záznamy, shrnout je a dokonce vykreslit grafy. Například následující dotaz vyhledá všechny záznamy pro měsíc listopad 2007, seskupí je podle stavu a vykreslí prvních 10 jako výsečový graf.
StormEvents
| where StartTime >= datetime(2007-11-01) and StartTime < datetime(2007-12-01)
| summarize count() by State
| top 10 by count_
| render piechart
Obrázek 7–13 ukazuje výsledky tohoto dotazu Přehledy aplikace.
Obrázek 7–13 Výsledky dotazu Přehledy aplikace.
K dispozici je dětské hřiště pro experimentování s dotazy Kusto . Čtení ukázkových dotazů může být také instruktážní.
Řídicí panely
Existuje několik různých technologií řídicího panelu, které je možné použít k zobrazení informací ze služby Azure Monitor. Možná nejjednodušší je jednoduše spouštět dotazy v aplikaci Přehledy a vykreslovat data do grafu.
Obrázek 7–14 Příklad grafů Přehledy aplikací vložených do hlavního řídicího panelu Azure
Tyto grafy se pak dají vložit do webu Azure Portal správně prostřednictvím funkce řídicího panelu. Pro uživatele s přesnějšími požadavky, jako je možnost přejít k podrobnostem o několika úrovních dat, jsou pro Power BI k dispozici data služby Azure Monitor. Power BI je špičkový podnikový nástroj business intelligence, který dokáže agregovat data z mnoha různých zdrojů dat.
Obrázek 7–15 Příklad řídicího panelu Power BI.
Výstrahy
Někdy není dostatek datových řídicích panelů. Pokud se nikdo nezačal dívat na řídicí panely, může to být ještě mnoho hodin, než se problém vyřeší nebo dokonce zjistí. K tomuto účelu poskytuje Azure Monitor také řešení pro upozorňování nejvyšší úrovně. Výstrahy mohou být aktivovány celou řadou podmínek, mezi které patří:
- Hodnoty metriky
- Vyhledávací dotazy na protokoly
- Události protokolu aktivit
- Stav základní platformy Azure
- Testy dostupnosti webu
Při aktivaci můžou výstrahy provádět celou řadu úloh. Na jednoduché straně mohou upozornění odeslat e-mailové oznámení na seznam adresátů nebo textové zprávy osobě. Více zapojené výstrahy můžou aktivovat pracovní postup v nástroji, jako je PagerDuty, který o tom, kdo je na volání konkrétní aplikace. Upozornění můžou aktivovat akce v Microsoft Flow odemykání téměř neomezených možností pracovních postupů.
Jak jsou identifikovány běžné příčiny výstrah, můžou být výstrahy rozšířeny o podrobnosti o běžných příčinách výstrah a o krocích, které je potřeba provést k jejich vyřešení. Vysoce vyspělá nasazení aplikací nativních pro cloud se můžou rozhodnout pro spuštění úloh samoopravení, které provádějí akce, jako je odebrání neúspěšných uzlů ze škálovací sady nebo aktivace aktivity automatického škálování. Nakonec už nemusí být nutné vzbudit pracovníky na volání v 2:00, aby se vyřešil problém živého webu, protože systém bude moct sám sebe upravit tak, aby kompenzoval nebo alespoň lhát, dokud někdo nepřijde do práce příští ráno.
Azure Monitor automaticky využívá strojové učení k pochopení normálních provozních parametrů nasazených aplikací. Tento přístup umožňuje zjišťovat služby, které fungují mimo jejich normální parametry. Například typický týdenní provoz na webu může být 10 000 požadavků za minutu. A pak v daném týdnu náhle počet požadavků dosáhne velmi neobvyklého počtu 20 000 požadavků za minutu. Inteligentní zjišťování si všimne této odchylky od normy a aktivuje výstrahu. Současně je analýza trendu chytrá, aby se zabránilo aktivaci falešně pozitivních výsledků při očekávaném zatížení provozu.