Sdílet prostřednictvím


Strategie architektury pro návrh monitorovacího systému

Platí pro toto doporučení z kontrolního seznamu Azure Well-Architected Framework: Operational Excellence:

OE:07 Navrhňte zásobník monitorování, který zachycuje provozní telemetrii, metriky a protokoly z infrastruktury a kódu úlohy, aby ověřil rozhodnutí o návrhu a usměrnil budoucí vylepšení.

Pozorovatelnost nebo monitorování je klíčovým provozním postupem, který týmu úloh poskytuje schopnost porozumět internímu stavu systému na základě externích dat, která vytváří. Na rozdíl od funkčního zásobníku, který implementuje obchodní logiku a základní funkce, běží zásobník monitorování paralelně. Shromažďuje a analyzuje metriky, protokoly, trasování a události, které ukazují, jak se úlohy chovají v reálných podmínkách.

Návrh monitorovacího stacku vyžaduje pečlivé plánování, jelikož poskytuje přehled o klíčových tématech jako spolehlivost, výkon, zabezpečení a náklady. Dobře navržená sada monitorování umožňuje včasné zjišťování problémů, efektivní reakci na incidenty a informovaná provozní rozhodnutí. Tvoří základ pro proaktivní správu a průběžné zlepšování.

Tato příručka popisuje klíčové strategie návrhu monitorovacího stacku, který podporuje funkce monitorování, detekce a alarmování. Pokyny pro implementaci, včetně postupných procesů a příruček, najdete v doprovodném článku: Vytvořte monitorovací systém pro úlohy Azure.

Definice

Pojem definice
Telemetrie Souhrnný termín pro protokoly, metriky, trasování a události. Telemetrie poskytuje základ pro pozorovatelnost.
Protokoly Zaznamenané systémové události, které zachycují, co se stalo v systému. Protokoly můžou být strukturované nebo volné texty s časovými razítky. Jsou užitečné k detekci a zkoumání anomálií.
Metrics Číselné hodnoty shromážděné v pravidelných intervalech, které popisují výkon systému. Metriky pomáhají identifikovat trendy v výkonu a spolehlivosti úloh.
Pozorovatelnost Pozorovatelnost pomáhá týmům zjišťovat problémy, sledovat trendy výkonu a provádět provozní rozhodnutí.
ID korelací Jedinečné identifikátory, které sledují související události napříč více komponentami a umožňují kompletní trasování transakcí v distribuovaných systémech.
instrumentace Přidání možností monitorování do aplikací a infrastruktury pro zachytávání telemetrie To zahrnuje protokolování, shromažďování metrik a trasování.
Model zdraví Architektura pro měření stavu úloh pomocí ukazatelů, klíčových ukazatelů výkonu a metrik, které odrážejí obchodní a provozní cíle.
Klíčové ukazatele výkonu (KPI) Měřitelné hodnoty ukazující, jak efektivně úloha dosahuje obchodních a provozních cílů. Klíčové ukazatele výkonu řídí shromažďování a analýzu telemetrie.
APM (Správa výkonu aplikací) Nástroje a postupy pro monitorování výkonu, dostupnosti a uživatelského prostředí aplikací Nástroje APM poskytují přehled o důležitých metrikách v reálném čase a historii.
Traces Záznamy znázorňující cestu požadavků prostřednictvím distribuovaných systémů Sledování pomáhá diagnostikovat problémy, které zahrnují více služeb.

Sladění telemetrie s modely stavu a klíčových ukazatelů výkonu

Definujte ukazatele stavu úloh, klíčové ukazatele výkonu a metriky výkonu, aby strategie shromažďování telemetrie odrážely tyto cíle. Tyto ukazatele se pak sledují, aby detekovaly anomálie, aby se mohli rozhodovat o nápravných akcích.

Svázání telemetrie se systémem a toky uživatelů To pomáhá korelovat stav toku se shromážděnými daty kromě celkového stavu úloh.

Příležitost umělé inteligence: Týmy tráví čas ručním definováním klíčových ukazatelů výkonu a telemetrie. Nástroje s asistencí umělé inteligence můžou navrhovat běžně používaná telemetrická data na základě architektury, závislostí služeb a kódu. Nástroje jako GitHub Copilot nebo Claude Code můžou také pomoct přidat instrumentaci a generovat dotazy nebo šablony infrastruktury jako kódu. Ujistěte se, že existuje lidský dohled, abyste zajistili, že pozorovatelnost řízená AI zůstane přesná a sladěná se standardy.

Generování telemetrie z komponent úloh

Zachytávání smysluplných signálů z aplikací, infrastruktury a provozu Protokolovat kritické výjimky s dostatečnými podrobnostmi, ale umožnit upravení úrovně verbóznosti pro kontrolu šumu.

Preferujte strukturovanou telemetrii, aby data byla dotazovatelná a prohledávatelná. Používejte konzistentní schémata a zahrňte kontexuální informace, jako jsou zdrojová komponenta, časová razítka atd. Snažte se o konzistenci, protože umožňuje přesnější analýzu událostí a jasnější korelaci s požadavky uživatelů. Abyste toho dosáhli, přijměte konfigurovatelnou architekturu protokolování, která standardizuje způsob zachycení informací v celém systému.

Kompromis: Zvyšte podrobnosti protokolování, abyste zlepšili ladicí možnosti a sledovatelnost, ale mějte na paměti, že jsou vyšší náklady na úložiště a zpracování. Pro správu tohoto kompromisu použijte podrobné protokolování ve vývoji a omezte úroveň podrobností v produkčním prostředí a spoléhejte se na korelační ID, abyste zachovali viditelnost komplexních transakcí bez nadměrného objemu protokolů.

Potřebujete způsob, jak klasifikovat telemetrii podle provozních obav, jako je audit, zabezpečení, ladění a výkon, a zjednodušit filtrování a vynucování správných řízení přístupu. Ujistěte se, že data úloh nejsou smíšená s telemetrií. Před protokolováním vyčistit citlivé systémové nebo uživatelské informace a přitom zachovat dostatečný kontext pro diagnostiku.

Zajistěte, aby postupy instrumentace byly z hlediska provozuschopné. Protokolování by mělo být aktivované a zapomenuté, takže neblokuje obchodní operace s výjimkou kritických scénářů auditování. Udržujte instrumentaci rozšiřitelnou a oddělenou od konkrétních back-endů a zajistěte, aby selhání v telemetrii nedošlo k kaskádovým selháním aplikace.

Pohlížejte na instrumentaci jako na iterativní disciplínu. Pravidelně kontrolujte a upřesněte telemetrii, abyste zachovali přehlednost, relevanci a výkon při vývoji systému.

Poznámka:

Profilace aplikací může být dalším způsobem analýzy způsobu, jakým spuštěná aplikace používá systémové prostředky, jako jsou procesor, paměť, vstupně-výstupní operace disku a síť. Profiler se připojí k vaší aplikaci (během vývoje nebo v produkčním prostředí) a shromažďuje podrobná data modulu runtime. Existují dva přístupy: úplná profilace nebo ukázková. Úplný profil je přesnější, ale může výrazně zatěžovat a zpomalovat systém. Můžete zvolit vzorkování, kde se data shromažďují na základě času, například jednou za n sekund nebo četnosti, například jednou za každých n požadavků. Pokud jsou události časté, použijte vzorkování, abyste snížili režii. Pokud jsou události vzácné, používejte podrobnější profilování, abyste je nezmeškali.

Shromažďování telemetrie napříč úlohou

Pro kolekci existují dva základní modely. V pull modelu se telemetrie shromažďuje prostřednictvím dotazování, zatímco push telemetrie je vysílána komponenty, které odesílají data ven. Zvolte model na základě faktorů, které se vztahují na vaši úlohu. Jsou například pravidelné snímky dostatečné nebo jsou potřeba data téměř v reálném čase? Jaký je očekávaný objem telemetrie; jaký je typ dat: stavová data nebo protokoly, události a trasování.

Běžně se používá kombinovaný přístup. Agenti monitorování můžou například používat model vyžádání obsahu, který běží místně společně s každou instancí aplikace, aby pravidelně shromažďovali data a zapisovali je do sdíleného úložiště. Současně se dá push model použít pro telemetrii aplikací, kde každá instance generuje protokoly, trasování a metriky do fronty zpráv nebo do událostního streamu, když dojde k událostem.

Určete prioritu přenosu dat na základě důležitosti. Méně urgentní data je možné přenášet v dávkách, zatímco informace citlivé na čas by se měly odesílat okamžitě.

Standardizace konsolidace dat

Přesuňte telemetrii z místních sil a zkonsolidujte ji do centrálního úložiště, pokud je to organizačně vyžadováno. V případě řešení pro více oblastí nejprve shromážděte a ukládejte data do oblastí a pak je centrálně agregujte. Pro důležité úlohy se ale doporučuje autonomní úložiště dat.

Používejte konzistentní formáty a metody shromažďování, aby data byla přístupná pro analýzy, řídicí panely, upozorňování a vytváření sestav. Vyhněte se ručnímu načítání ze součástí, protože to přidává další zátěž a způsobuje nekonzistenci.

Použití služeb konsolidace dat k:

  • Odstranění duplicitních dat
  • Sloučení souvisejících událostí pomocí ID korelace
  • Vyfiltrujte nepotřebné informace.

Riziko: Mějte na paměti, že používání regionálních a centralizovaných úložišť dat má vliv na náklady.

Přizpůsobení úložiště a uchovávání pro vzory využití

Výběr řešení úložiště primárně na základě potřeb dotazů a vzorů přístupu Například dta, která generuje výstrahy, musí být rychle přístupná, takže by se měla uchovávat v rychlém úložišti dat a indexovat nebo strukturovat za účelem optimalizace dotazů.

Použití polyglotní trvalosti k ukládání různých datových typů v technologiích vhodných pro jejich použití:

  • Databáze SQL pro čítače výkonu
  • Protokoly služby Azure Monitor nebo Azure Data Explorer pro trasovací protokoly.
  • SYSTÉM HDFS pro informace o zabezpečení.

Oddělení úložiště dat také podle prostředí. Zabraňuje tomu, aby data, která nejsou kritická pro prostředí, komplikovala monitorování produkce.

Plán zachování krátkodobých podrobných dat a dlouhodobé analýzy trendů. Archivace starších telemetrických dat do úložiště s nižšími náklady Udržujte často přístupná data v rychlejších úložných systémech. Implementujte ochranu dat pomocí zámků prostředků, soft delete a řízení přístupu na základě rolí.

Korelace dat pro ucelené přehledy

Navrhněte pozorovatelnost pro připojení telemetrie z metrik, logů a trasování napříč všemi komponentami. To umožňuje distribuované trasování operací napříč službami a pomáhá diagnostikovat problémy, které pokrývají více vrstev.

Id korelace můžete konzistentně používat ke sledování transakcí prostřednictvím prezentačních, prostředních a datových vrstev.

Agregujte protokoly na úrovni aplikací a prostředků, abyste rychle vylepšili řešení potíží a zjistili problémy. Zvažte jednotné řešení, jako je Azure Log Analytics, k dotazování a analýze dat na různých úrovních.

Zarovnejte telemetrii se systémovými a uživatelskými toky pro korelaci stavu těchto toků s celkovým stavem pracovního zatížení. Pochopení těchto toků zajišťuje, že strategie pozorovatelnosti odráží chování systému na úrovni komponent i kompletního systému.

Analýza a vizualizace pro podporu rozhodnutí s možností použití

Navrhněte řídicí panely a sestavy podle modelů provozního zdraví. Vizualizace by měly týmům umožnit rychle identifikovat problémy, porozumět trendům a určovat priority odpovědí.

Používejte osvědčené vzory monitorování a architektury místo vlastních implementací nebo ad hoc řešení. Zajistěte, aby řídicí panely byly smysluplné a použitelné. Parametrizované řídicí panely umožňují analytikům zkoumat podkladová data.

U databázových úloh vyhodnoťte integrované řídicí panely monitorování, které poskytují cloudové služby. Například Azure Database for PostgreSQL nabízí vestavěné Grafana řídicí panely prostřednictvím integrace Azure Monitor na portálu Azure. Tyto řídicí panely zobrazují využití procesoru, úložiště, aktivní připojení a propustnost dotazů s korelací protokolů a snižují potřebu samostatných nasazení monitorování.

Příležitost umělé inteligence: Řídicí panely se často zaměřují na obchodní nebo technické metriky. AI dokáže analyzovat data ze všech relevantních zdrojů a pomáhá navrhovat integrované řídicí panely se správnou konfigurací a vizualizací. To snižuje ruční úsilí a poskytuje přehledy, které by jinak mohly být přehlédnuty.

Definování upozornění ohledně smysluplných provozních podmínek

Nastavte výstrahy na základě stavu úloh, ne na základě libovolných hodnot. Výstrahy by měly být použitelné a měly by poskytovat kontext. Vytvořte jasný a zodpovědný proces upozorňování, který definuje vlastníky, akce a rozsah a nakonfiguruje výstrahy s odpovídající členitostí a podrobnostmi, aby se minimalizoval šum a současně se zajistilo rychlé zjištění kritických problémů.

Ověřte prahové hodnoty pomocí minulých zkušeností a pravidelného testování. K rychlému oznámení můžete použít rychlé úložiště pro generování dat výstrah. Nakonfigurujte výstrahy pro dobře definované obory a upravte úroveň podrobností, abyste minimalizovali šum.

Automatizace upozorňování a propojení upozornění na systémy lístků Monitorování stavu, výpadků, údržby a doporučení pro cloudovou platformu

Nástroje pro operace využívající AI, jako je Azure SRE Agent, mohou analyzovat vzory výstrah a diagnostikovat běžné problémy, jako jsou smyčky pádů podů nebo zvýšené míry chyb. Tyto nástroje podporují konfigurovatelnou autonomii, počínaje doporučenými akcemi a postupné povolování automatizovaných odpovědí v rámci definovaných mantinely.

Příležitost k umělé inteligenci: AI se dá použít k dynamickému definování "dobrého" chování systému pomocí vzorců učení napříč obchodními kontexty, jako jsou špičky provozu, propagační akce, tiché období a regionální varianty. AI pak může analyzovat metriky, protokoly a data incidentů a předpovídat problémy a doporučovat prahové hodnoty.

Návrh škálovatelných a trvalých kanálů telemetrie

Systémy pozorovatelnosti musí zpracovávat velké škálování bez kritických bodů nebo ztráty dat. Zahrnuje bufferování, řazení front a škálovatelné cesty příjmu dat, aby se zajistilo zachování toku telemetrie při zatížení.

Ke zvládnutí špiček použijte mechanismy řízení front pro vysoce škálovaná prostředí. Implementujte redundanci, abyste zabránili ztrátě důležitých dat. Naplánujte škálování během návrhu, abyste zajistili růst systémů monitorování s požadavky na úlohy.

U složitých úloh používejte fronty zpráv s sémantikou "alespoň jednou". Spusťte několik služeb zápisu do úložiště pro zpracování velkých objemů. Zvažte službu Event Hubs, která distribuuje zpracování telemetrie a brání kritickým bodům vstupně-výstupních operací s jedním bodem.

Použití pozorovatelnosti k podpoře průběžného vylepšování

Zacházejte s pozorovatelnostmi jako se smyčkou zpětné vazby. Pomocí produkčních dat můžete upřesnit návrh úloh, zachytávání telemetrie a monitorování prahových hodnot.

Vyvážení automatizace a lidského dohledu za účelem zajištění přesnosti Průběžně kontrolujte a vyvíjejte přístupy k monitorování vzhledem ke změnám vytížení. Pomocí telemetrie můžete identifikovat příležitosti optimalizace, ověřit rozhodnutí o architektuře a řídit budoucí návrhy.

Zahrnutí monitorování a upozorňování do celkového testování úloh Automatizujte funkce a udržujte možnost analyzovat trendy pro predikci provozních problémů a plánování kapacity.

Dávejte pozor na antipatterny

Řada selhání monitorování vychází z špatných možností architektury, nikoli z omezení nástrojů.

Neopravujte jen příznaky, ale analyzujte, proč se antipattern objevil, a odstraňte základní slabinu návrhu. Pak použijte zmírnění rizik, ať už používáte jasné standardy telemetrie, nasměrujte se k metrikám sladěným s firmou nebo ke zvyšování povědomí o nákladech.

Tento oddíl doporučujeme přečíst v doprovodné příručce k implementaci: Antipatterny a jak se jim vyhnout.

usnadnění Azure

  • Azure Monitor je monitorovací řešení pro shromažďování, analýzu a reagování na data monitorování z vašich cloudových a místních prostředí.

  • Log Analytics je nástroj na portálu Azure, který můžete použít k úpravám a spouštění dotazů protokolu na data v pracovním prostoru Log Analytics.

    Pokud používáte více pracovních prostorů, přečtěte si průvodce architekturou Log Analytics pracovního prostoru o osvědčených postupech.

  • Application Insights je rozšíření Azure Monitor. Poskytuje funkce APM.

  • Azure Monitor Insights jsou pokročilé analytické nástroje pro konkrétní technologie Azure (jako jsou virtuální počítače, aplikační služby a kontejnery). Tyto nástroje jsou součástí Azure Monitor a Log Analytics.

  • Azure Monitor pro řešení SAP je nástroj pro monitorování Azure pro prostředí SAP, který běží na Azure.

  • Azure Policy vám může pomoct vynutit standardy organizace a posoudit dodržování předpisů ve velkém měřítku.

  • Azure Network Watcher je nástroj, který monitoruje, spravuje a audituje vaši síť, aby zajistila zabezpečení, dodržování předpisů a výkon.

  • Řešení potíží s připojením je diagnostický nástroj v Network Watcher. Poskytuje diagnostiku na vyžádání a zachytávání paketů (PCAP), které pomáhají zkoumat problémy s připojením.

  • Monitorování připojení je monitorovací nástroj v Network Watcher. Spouští průběžné syntetické testy a odesílá upozornění na problémy s připojením a výkonem v reálném čase.

  • Traffic analytics je řešení analýzy provozu v Network Watcher. Vizualizuje distribuci provozu, identifikuje hlavní talkery a ukazuje trendy využití šířky pásma. Tyto funkce poskytují jednotný přehled o stavu sítě.

Kontrolní seznam pro efektivitu provozu

Projděte si kompletní sadu doporučení.