Průběžné monitorování aplikací a služeb
V této lekci se naučíte:
- Jak průběžné monitorování pomáhá ověřovat stav, výkon a spolehlivost vaší aplikace a infrastruktury.
- Jak pozorovatelnost zpřístupňuje data ze systémů, které potřebujete monitorovat.
- Jak azure Monitor a Application Insights umožňují implementovat průběžné monitorování.
- Jak vám může IT Service Management Connector pomoct s implementací systému lístků.
Co je průběžné monitorování?
Tým chce během beta testu monitorovat web a infrastrukturu. Tim udělal nějaký výzkum a naučil se pár věcí.
Průběžné monitorování se týká procesů a technologií, které můžete použít k monitorování jednotlivých fází životního cyklu vaší aplikace. Průběžné monitorování pomáhá ověřovat stav, výkon a spolehlivost vaší aplikace a infrastruktury při přechodu ze vývoje do produkčního prostředí.
Průběžné monitorování vychází z konceptů CI/CD, které pomáhají vyvíjet a dodávat software rychleji a spolehlivěji, aby uživatelům poskytovaly nepřetržitou hodnotu.
Co je pozorovatelnost?
Pozorovatelnost označuje zpřístupnění dat v systému, který chcete monitorovat. Monitorování je skutečný úkol shromažďování a zobrazování těchto dat.
Co je Azure Monitor?
Azure Monitor je služba v Azure, která poskytuje plnou pozorovatelnost napříč aplikacemi a infrastrukturou v cloudu i v místním prostředí.
Azure Monitor funguje s vývojářskými nástroji, jako jsou Visual Studio a Visual Studio Code, takže ho můžete použít během fází vývoje a testování. Integruje se s Azure DevOps a zajišťuje správu verzí a správu pracovních položek během fází nasazení.
Azure Monitor se také integruje s nástroji pro správu IT služeb (ITSM) a informacemi o zabezpečení a správou událostí (SIEM), které vám pomůžou sledovat problémy a incidenty v rámci stávajících procesů IT.
Povolení monitorování aplikací
Aplikace jsou složité a mají mnoho vzájemně propojených komponent. Pokud chcete vizualizovat komplexní transakce a připojení napříč všemi systémy, musíte povolit monitorování všech webových aplikací a služeb.
Pokud v Azure DevOps nemáte existující projekt, můžete začít s Azure Developer CLI. Azure Developer CLI (azd
) je opensourcový nástroj, který zrychluje dobu potřebnou k získání aplikace z místního vývojového prostředí do Azure. azd
poskytuje osvědčené postupy, příkazy vhodné pro vývojáře, které se mapují na klíčové fáze pracovního postupu, ať už pracujete v terminálu, editoru nebo integrovaném vývojovém prostředí (IDE) nebo CI/CD (kontinuální integrace nebo průběžné nasazování).
Potom můžete do kanálu verze přidat průběžné monitorování zkombinováním Azure Pipelines s Aplikace Azure lication Insights. Application Insights je funkce Azure Monitoru, kterou můžete použít k monitorování živých aplikací. Za chvíli se podrobněji podíváme na Application Insights.
Povolení monitorování ve vaší infrastruktuře
Aplikace jsou stejně spolehlivé jako jejich základní infrastruktura. Když máte povolené monitorování v celé infrastruktuře, pomůže vám to dosáhnout plné pozorovatelnosti a usnadňuje zjišťování původních příčin, když se něco nepovede.
Azure Monitor pomáhá sledovat stav a výkon celé hybridní infrastruktury, včetně virtuálních počítačů, kontejnerů, úložišť a sítí.
Pomocí služby Azure Monitor můžete shromažďovat:
- Metriky platformy, protokoly aktivit a diagnostické protokoly z většiny vašich prostředků Azure bez nutnosti další konfigurace.
- Monitorování dat pro virtuální počítače (Azure Monitor pro virtuální počítače)
- Monitorování dat pro clustery AKS (Azure Monitor pro kontejnery)
Infrastruktura jako kód umožňuje popsat prostřednictvím kódu infrastrukturu, kterou potřebujete pro vaši aplikaci. Vzhledem k tomu, že infrastrukturu popisujete pomocí kódu, můžete sledovat stejná schémata vývoje, testování a správy verzí, která týmy DevOps používají pro aplikace.
Pokud chcete povolit monitorování pomocí infrastruktury jako přístupu ke kódu, můžete použít:
- Šablony Resource Manageru pro povolení monitorování a konfigurace výstrah u velké sady prostředků
- Azure Policy pro vynucení různých pravidel pro vaše prostředky Azure Policy pomáhá zajistit, aby tyto prostředky zůstaly v souladu s vašimi firemními standardy a smlouvami o úrovni služeb (SLA).
Použití skupin prostředků Azure ke kombinování prostředků
Typická aplikace v Azure zahrnuje výpočetní prostředky, jako jsou virtuální počítače, Aplikace Azure Service, mikroslužby, clustery Azure Kubernetes Service (AKS) a Azure Service Fabric. Tyto aplikace často závisejí na datech a síťových službách, jako jsou Azure Event Hubs, Azure Storage, Microsoft SQL Database a Azure Service Bus.
V Azure skupina prostředků obsahuje související prostředky Azure. Zkombinujte prostředky ve skupině prostředků, abyste získali plnou pozorovatelnost napříč všemi prostředky, které tvoří vaše různé aplikace. Azure Monitor pro skupiny prostředků poskytuje základní způsob, jak sledovat stav a výkon celé aplikace a umožňuje přejít k podrobnostem o jednotlivých komponentách, abyste mohli řešit potíže se selháními.
Zajištění kvality prostřednictvím průběžného nasazování
CI/CD umožňuje integrovat a nasadit změny kódu do vaší aplikace automaticky na základě výsledků automatizovaného testování. CI/CD zjednodušuje proces nasazení a před změnou do produkčního prostředí ověří kvalitu kódu.
Tady je několik doporučených způsobů, jak zajistit kvalitu během procesu nasazení:
Pomocí Azure Pipelines můžete implementovat kanál CI/CD, který automatizuje celý proces, včetně spouštění automatizovaných testů, od okamžiku, kdy potvrdíte kód až do produkčního prostředí.
Pomocí bran nasazení můžete přidat monitorování do předpřipravených a po nasazení prostředí.
Brány nasazení pomáhají zajistit, abyste při přechodu aplikací z vývoje do produkčního prostředí splnili klíčové metriky stavu a výkonu. Brány nasazení také pomáhají zajistit, aby jakékoli rozdíly v prostředí infrastruktury nebo způsob, jakým škálujete, neměly negativní vliv na klíčové ukazatele výkonu.
Udržujte samostatné instance monitorování mezi různými prostředími nasazení, jako je vývoj, testování, příprava a produkční prostředí.
Samostatné instance monitorování pomáhají zajistit, aby všechna shromážděná data byla relevantní napříč aplikacemi a infrastrukturou. Pokud potřebujete korelovat data napříč prostředími, můžete v Průzkumníku metrik použít více diagramů prostředků nebo vytvořit dotazy napříč prostředky v Log Analytics.
Vytváření výstrah, na které můžete reagovat
Abyste měli jistotu, že vaše úsilí o monitorování je účinné, musíte správcům oznámit všechny aktivní problémy a také problémy, které můžete předpovědět. Tady je několik způsobů, jak toho dosáhnout:
Vytvářejte výstrahy ve službě Azure Monitor na základě protokolů a metrik pro identifikaci předvídatelných stavů selhání.
Cílem je zajistit, aby každá výstraha představovala kritickou podmínku, se kterou můžete pracovat. Falešně pozitivní se stane, když monitorování hlásí problém, který ve skutečnosti neexistuje. Dynamické prahové hodnoty můžete použít k automatickému výpočtu směrných plánů u dat metriky místo definování vlastních statických prahových hodnot.
Definujte akceprochch
Mezi dostupné akce pro oznámení patří služba krátkých zpráv (SMS), e-mail, nabízená oznámení nebo hlasové hovory.
Pomocí pokročilejších akcí se připojte k nástroji ITSM nebo jiným systémům pro správu výstrah prostřednictvím webhooků.
K nápravě podmínek upozornění použijte runbooky nebo webhooky Azure Automation.
Automatické škálování můžete použít k dynamické úpravě výpočetních prostředků na základě metrik, které shromažďujete.
Vytváření řídicích panelů a sešitů
Zajištění, aby vaše vývojové a provozní týmy měly přístup ke stejné telemetrii a nástrojům, umožňují jim zobrazit vzory v celém prostředí a minimalizovat střední dobu detekce (MTTD) a střední dobu obnovení (MTTR). Tady je několik způsobů, jak to udělat:
Vytvořte vlastní řídicí panely založené na běžných metrikách a protokolech pro různé role ve vaší organizaci.
Řídicí panely můžou kombinovat data z více prostředků Azure.
Vytvářejte sešity Azure Monitoru pro sdílení znalostí mezi vývojovými a provozními týmy.
Sešit můžete připravit jako dynamickou sestavu, která obsahuje grafy a souhrny protokolů. Vývojáři můžou vytvářet průvodce odstraňováním potíží, který pomáhá zákaznické podpoře nebo operacím řešit problémy.
Nepřetržitá optimalizace
Monitorování je jedním ze základních aspektů oblíbeného sestavení – měření – filozofie učení , která doporučuje nepřetržitě sledovat klíčové ukazatele výkonu a metriky chování uživatelů a pak je optimalizovat prostřednictvím iterativních cvičení plánování. Azure Monitor pomáhá shromažďovat metriky a protokoly, které jsou relevantní pro vaši firmu, a přidat nové datové body v dalším nasazení.
- Pomocí nástrojů v Application Insights můžete sledovat chování a zapojení koncových uživatelů.
- Analýza dopadu vám pomůže určit prioritu oblastí, na které se zaměřit, aby se zlepšily nejdůležitější klíčové ukazatele výkonu.
Co je Azure Application Insights?
Application Insights je služba APM (Application Performance Management) pro webové vývojáře. Umožňuje vám:
- Monitorujte živou webovou aplikaci.
- Automatické zjišťování anomálií výkonu
- Diagnostikujte selhání a seznamte se s tím, co uživatelé ve skutečnosti dělají s vaší aplikací.
Application Insights funguje s .NET, Node.js, Javou a mnoha dalšími programovacími jazyky a architekturami. Funguje s aplikacemi hostovanými v cloudu nebo místně.
Application Insights poskytuje spojovací body, které můžete použít k integraci se stávajícími procesy a nástroji DevOps. Application Insights se také integruje se sadou Visual Studio App Center, která umožňuje monitorovat a analyzovat telemetrii z mobilních aplikací.
Jak Application Insights funguje?
Začnete přidáním malého balíčku instrumentace do aplikace. Pak vytvoříte prostředek Application Insights na webu Azure Portal. Instrumentace monitoruje vaši aplikaci a odesílá telemetrická data zpět do Azure, ke kterým máte přístup z portálu. Mějte na paměti, že vaše aplikace může běžet kdekoli; nemusí být hostovaný v Azure.
Kromě webových aplikací můžete instrumentovat téměř jakýkoli druh komponenty na pozadí. Můžete dokonce instrumentovat javascriptový kód.
Tady je diagram znázorňující tok dat monitorování z živých služeb do Application Insights. Application Insights pak může posílat výstrahy nebo odesílat data do jiného nástroje, abyste mohli vizualizovat a porozumět trendům.
Můžete také načíst telemetrická data z hostitelských prostředí. Tato data zahrnují čítače výkonu, diagnostiku Azure a protokoly Dockeru. Můžete také nastavit syntetické monitorovací testy. Syntetické monitorování používá sadu transakcí k vyhodnocení výkonu a dostupnosti. Syntetické transakce jsou předvídatelné testy, které umožňují porovnat výsledky z vydání do vydání.
Jaká je s tím spojená režie? Dopad na výkon aplikace je obvykle malý. Sledovací volání nejsou blokovaná a jsou dávková a odesílaná do samostatného vlákna.
Co Application Insights monitoruje?
Application Insights pomáhá vývojovým týmům pochopit, jak jejich aplikace funguje a jak se používá.
Monitorování Application Insights:
Frekvence požadavků, doby odezvy a míra selhání.
Zjistěte, které stránky jsou nejoblíbenější, v jaké denní době a kde jsou vaši uživatelé. Zjistíte, která stránka si vede nejlépe. Podívejte se, jak se doba odezvy a míra selhání porovnávají s úrovněmi provozu.
Určuje, jestli vás externí služby zpomalují.
Výjimky aplikací.
Analyzujte agregované statistiky nebo vyberte konkrétní instance a prozkoumejte trasování zásobníku pro související požadavky. Application Insights hlásí výjimky, ke kterým dochází na serveru i v klientovi.
Výkon načítání webových stránek, jak je uvedeno ve webovém prohlížeči uživatele.
Volání AJAX z webových stránek, včetně doby odezvy a míry selhání
Počty uživatelů a relací.
Čítače výkonu ze serverových počítačů s Windows nebo Linuxem, jako je třeba CPU, paměť a využití sítě.
Diagnostika hostitele z Dockeru nebo Azure.
Diagnostické protokoly trasování z vaší aplikace To vám umožní korelovat události trasování s požadavky.
Vlastní události a metriky, které píšete sami v kódu klienta nebo serveru. Můžete například sledovat události, jako jsou prodané položky nebo hry, které vyhrály.
Kde se zobrazuje telemetrie?
Tady jsou způsoby zobrazení a sledování telemetrických dat:
-
Automatické výstrahy se přizpůsobí běžným vzorům telemetrie vaší aplikace a aktivují se, když se stane něco neobvyklého. Můžete také nastavit výstrahy pro konkrétní úrovně vlastních nebo standardních metrik.
-
Mapa aplikace pomáhá zjistit kritické body výkonu nebo hlavní místa selhání ve všech komponentách distribuované aplikace.
-
Profiler můžete spustit v aplikacích ASP.NET a ASP.NET Core, které běží ve službě Aplikace Azure, které používají úroveň služby Basic nebo vyšší.
-
Tato funkce umožňuje analyzovat segmentaci a uchovávání uživatelů.
-
Hledání vám pomůže najít a prozkoumat jednotlivé položky telemetrie, jako jsou zobrazení stránek, výjimky nebo webové požadavky.
-
Průzkumník metrik umožňuje vykreslovat grafy, vizuálně korelovat trendy a zkoumat špičky a poklesy metrik.
-
Když nasadíte nové sestavení, sledujte indikátory výkonu téměř v reálném čase, abyste měli jistotu, že všechno funguje podle očekávání.
-
Odpovězte na náročné otázky týkající se výkonu a využití vaší aplikace pomocí výkonného dotazovacího jazyka.
-
Shromážděte snímek ladění z živé webové aplikace.
-
Integrujte metriky využití s ostatními funkcemi business intelligence.
-
Export nezpracovaných dat do úložiště, jakmile dorazí.
Co je IT Service Management Connector?
IT Service Management Connector (ITSMC) pro Azure poskytuje obousměrnou integraci mezi monitorovacími nástroji Azure a nástroji ITSM, mezi které patří:
- ServiceNow
- Provance
- Cherwell
- System Center Service Manager
Monitorovací nástroje Azure můžete integrovat s ITSMC do:
- Vytváření nebo aktualizace pracovních položek v nástrojích ITSM na základě upozornění Azure
- Přijetí incidentu a žádosti o změnu z nástrojů ITSM do Azure Log Analytics
Nástroje pro monitorování Azure umožňují identifikovat, analyzovat a řešit problémy. Pracovní položky související s problémem se ale obvykle ukládají v nástroji ITSM. Je vhodnější implementovat systém lístků s ITSMC. Díky tomu můžete místo toho, abyste se mezi nástrojem ITSM a nástroji pro monitorování Azure dostali všechny potřebné informace na jednom místě. ITSMC zlepšuje prostředí pro řešení potíží tím, že zkracuje dobu potřebnou k vyřešení problémů.