Tato architektura popisuje řešení, které poskytuje monitorování a pozorovatelnost systémů a telemetrických dat zařízení koncových uživatelů v reálném čase. Zaměřuje se na případ použití pro mediální průmysl.
Grafana je ochranná známka příslušné společnosti. Použití této značky nevyžaduje žádné doporučení.
Architektura
Stáhněte si soubor aplikace Visio s touto architekturou.
Tok dat
V pozorovatelném systému zobrazeném v diagramu se nezpracovaná telemetrie streamuje do služby Azure Blob Storage prostřednictvím protokolu HTTP a konektorů. Nezpracovaná telemetrie se zpracovává, transformuje, normalizuje a ukládá do Azure Data Exploreru pro účely analýzy. Systémy, jako je Grafana a Azure Metrics Advisor, čtou data z Průzkumníka dat a poskytují přehledy koncovým uživatelům.
Konkrétně se jedná o prvky systému v diagramu:
- Instrumentace – Instrumentace probíhá prostřednictvím sond nebo agentů nainstalovaných v systémech pro monitorování dat. Tito agenti mají různé formy. Například na platformě streamování videa na vyžádání může společnost používat otevřené standardy dash.js ke shromažďování metrik Quality of Experience od zákazníků.
- Polknutí. Tato nezpracovaná telemetrie může pocházet přímo od koncových klientů prostřednictvím volání HTTP. Případně ho můžete nahrát prostřednictvím systémů třetích stran do trvalého úložiště a datových jezer, jako je Blob Storage. Služba Blog Storage podporuje možnost vyvolat funkci Azure při nahrání nového souboru. Pomocí tohoto mechanismu triggeru můžete přesunout nezpracovanou telemetrii do strukturovaných datových skladů.
- Transformace a trvalost K normalizaci dat možná budete potřebovat transformační systém. Aplikace Azure Functions podle potřeby transformuje data a pak je zapíše do Průzkumníka dat. Průzkumník dat je ideální pro analýzu velkých objemů dat, protože je navržený pro vysoký výkon a propustnost velkých datových sad.
- Monitorování. Azure Managed Grafana podporuje integraci s Průzkumníkem dat. Pomocí funkcí přetahování grafany můžete rychle vytvářet řídicí panely a grafy. Grafana je vhodná pro monitorování médií, protože poskytuje dílčí minutu aktualizace dlaždic řídicího panelu a dá se také použít k upozorňování.
- Detekce anomálií Řídicí panel Grafana poskytuje podporu ručního monitorování v noc. S velkou sadou dat a uživatelskou základnou rozloženou mezi geografickými oblastmi a použitím různých zařízení se ale ruční identifikace problémů prostřednictvím grafů a pravidel upozornění, která mají pevně zakódované prahové hodnoty, stává neefektivní. K vyřešení tohoto problému můžete použít AI. Služby jako Metrics Advisor používají algoritmy strojového učení k automatickému pochopení a detekci anomálií na základě dat časových řad. Datová platforma Kusto má navíc integrované funkce detekce anomálií, které v datech zohledňují sezónnost a směrné trendy.
Komponenty
- Průzkumník dat je spravovaná služba analýzy dat pro analýzu velkých objemů dat v reálném čase. Průzkumník dat je skvělý nástroj pro zpracování velkých datových sad, které vyžadují vysokou rychlost a propustnost načítání dat. Tato architektura používá Průzkumníka dat k ukládání a dotazování datových sad pro účely analýzy.
- Blob Storage se používá k uchovávání nezpracované telemetrie. Tato telemetrie může pocházet z vašich aplikací a služeb nebo od dodavatelů třetích stran. Data se dají považovat za přechodná, pokud později nepotřebujete provádět další analýzu. Data ze služby Blob Storage se ingestují do clusterů Průzkumníka dat.
- Azure Event Grid je systém pro doručování událostí. Slouží k naslouchání událostem publikovaným službou Blob Storage. Události služby Azure Storage umožňují aplikacím reagovat na události, jako je vytváření a odstraňování objektů blob. Funkce Azure se přihlásí k odběru událostí publikovaných službou Event Grid.
- Azure Event Hubs je služba pro příjem dat v reálném čase, kterou můžete použít k ingestování milionů událostí za sekundu z libovolného zdroje. Centra událostí představují front door, často označovaný jako ingestor událostí pro kanál událostí. Ingestor událostí je komponenta nebo služba, která se nachází mezi vydavateli událostí a příjemci událostí. Odděluje produkci datového proudu událostí od spotřeby událostí.
- Azure Functions je bezserverové řešení, které se používá k analýze a transformaci dat přijatých prostřednictvím koncových bodů HTTP a objektů blob a zápisu do clusteru Průzkumníka dat.
- Azure Managed Grafana se snadno připojí k Průzkumníku dat. V této architektuře generuje grafy a řídicí panely, které vizualizují telemetrická data. Azure Managed Grafana poskytuje hlubokou integraci s ID Microsoft Entra, abyste mohli implementovat přístup na základě role k řídicím panelům a zobrazením.
- Metrics Advisor je součástí Aplikace Azure lied AI Services. Používá AI k monitorování dat a detekci anomálií v datech časových řad. Metrics Advisor automatizuje proces použití modelů na data a poskytuje sadu rozhraní API a webový pracovní prostor pro příjem dat, detekci anomálií a diagnostiku. Můžete ho použít i v případě, že nemáte žádné znalosti strojového učení.
Alternativy
Azure Data Factory a Azure Synapse Analytics poskytují nástroje a pracovní prostory pro vytváření pracovních postupů ETL a možnost sledovat a opakovat úlohy z grafického rozhraní. Všimněte si, že Data Factory i Azure Synapse mají minimální prodlevu přibližně 5 minut od doby příjmu dat až po trvalost. Tato prodleva může být v monitorovacím systému přijatelná. Pokud ano, doporučujeme zvážit tyto alternativy.
Podrobnosti scénáře
Organizace často nasazují různé a rozsáhlé technologie k řešení obchodních problémů. Tyto systémy a zařízení koncových uživatelů generují velké sady telemetrických dat.
Tato architektura je založená na případu použití pro mediální průmysl. Streamování médií pro přehrávání živého videa a videa na vyžádání vyžaduje téměř identifikaci a reakci na problémy s aplikací téměř v reálném čase. Aby organizace tento scénář v reálném čase podporovaly, musí shromáždit rozsáhlou sadu telemetrických dat, která vyžaduje škálovatelnou architekturu. Po shromáždění dat jsou potřeba další typy analýzy, jako je AI a detekce anomálií, k efektivní identifikaci problémů v tak velké datové sadě.
Když se nasadí rozsáhlé technologie, systém a zařízení koncových uživatelů, která s nimi pracují, generují obrovské sady telemetrických dat. V tradičních scénářích se tato data analyzují prostřednictvím systému datového skladu a generují přehledy, které je možné použít k podpoře rozhodnutí o správě. Tento přístup může v některých scénářích fungovat, ale není dostatečně rychlý pro případy použití streamovaných médií. K vyřešení tohoto problému se vyžadují přehledy v reálném čase pro telemetrická data generovaná z monitorovacích serverů, sítí a zařízení koncových uživatelů, která s nimi pracují. Systémy monitorování, které zachytávají chyby a chyby, jsou běžné, ale jejich zachycení téměř v reálném čase je obtížné. To je zaměření této architektury.
V nastavení živého streamování nebo videa na vyžádání se telemetrická data generují ze systémů a heterogenních klientů (mobilních, desktopových a televizních). Řešení zahrnuje pořízení nezpracovaných dat a přidružení kontextu k datovým bodům, například dimenze, jako jsou zeměpisné údaje, operační systém koncového uživatele, ID obsahu a poskytovatel CDN. Nezpracovaná telemetrie se shromažďuje, transformuje a ukládá do Průzkumníka dat pro účely analýzy. AI pak můžete použít k pochopení dat a automatizaci ručních procesů pozorování a upozorňování. Pomocí systémů, jako je Grafana a Metrics Advisor, můžete číst data z Průzkumníka dat a zobrazovat interaktivní řídicí panely a aktivovat výstrahy.
Důležité informace
Tyto aspekty implementují pilíře dobře architektuře Azure, sadu hlavních principů, které můžete použít ke zlepšení kvality úlohy. Další informace naleznete v tématu Microsoft Azure Well-Architected Framework.
Spolehlivost
Spolehlivost zajišťuje, že vaše aplikace může splňovat závazky, které uděláte pro vaše zákazníky. Další informace naleznete v tématu Kontrolní seznam pro kontrolu spolehlivosti.
Důležité obchodní aplikace musí běžet i během rušivých událostí, jako jsou oblasti Azure nebo výpadky CDN. Existují dvě primární strategie a jedna hybridní strategie pro vytváření redundance ve vašem systému:
- Aktivní/aktivní vysoká dostupnost: Je spuštěn duplicitní kód a funkce. Jeden systém může převzít během selhání.
- Aktivní/pohotovostní. Aktivní/primární je pouze jeden uzel. Druhý z nich je připravený převzít v případě, že dojde k výpadku primárního uzlu.
- Smíšený. Některé komponenty/služby jsou v konfiguraci aktivní/aktivní a některé jsou v aktivním/pohotovostním režimu.
Mějte na paměti, že ne všechny služby Azure mají integrovanou redundanci. Například Azure Functions spouští aplikaci funkcí jenom v konkrétní oblasti. Geografické zotavení po havárii Azure Functions popisuje různé strategie, které můžete implementovat v závislosti na tom, jak se vaše funkce aktivují (HTTP versus pub/sub).
Aplikace funkcí pro příjem dat a transformaci se může spouštět v aktivním nebo aktivním režimu. Průzkumníka dat můžete spustit v konfiguracích aktivní/aktivní/aktivní/pohotovostní.
Azure Managed Grafana podporuje redundanci zón dostupnosti. Jednou ze strategií pro vytváření redundance mezi oblastmi je nastavení Grafany v každé oblasti, ve které je cluster Průzkumníka dat nasazený.
Optimalizace nákladů
Optimalizacenákladůch Další informace naleznete v tématu Kontrolní seznam pro kontrolu návrhu proOptimalizace nákladů .
Náklady na tuto architekturu závisí na počtu událostí příchozích telemetrie, úložišti nezpracovaných telemetrických dat ve službě Blob Storage a Průzkumníku dat, hodinových nákladech na Spravovanou grafana Azure a statických nákladech na počet grafů časových řad v Advisoru pro metriky.
Cenovou kalkulačku Azure můžete použít k odhadu hodinových nebo měsíčních nákladů.
Efektivita výkonu
Efektivita výkonu je schopnost vaší úlohy škálovat tak, aby splňovala požadavky, které na ni mají uživatelé efektivním způsobem. Další informace naleznete v tématu Kontrola návrhu kontrolní seznam pro zvýšení efektivity výkonu.
V závislosti na škálování a frekvenci příchozích požadavků může být aplikace funkcí kritickým bodem ze dvou hlavních důvodů:
- Studený start. Studený start je důsledkem bezserverových spuštění. Odkazuje na čas plánování a nastavení, který je nutný ke zprovoznění prostředí před prvním spuštěním funkce. Ve většině případů je požadovaná doba několik sekund.
- Frekvence požadavků. Řekněme, že máte 1 000 požadavků HTTP, ale pouze jeden server s vlákny, který je zpracuje. Nebudete moct současně obsluhovat všech 1 000 požadavků HTTP. Pokud chcete tyto žádosti obsluhovat včas, musíte nasadit více serverů. To znamená, že potřebujete horizontálně škálovat.
Doporučujeme používat skladové položky Premium nebo Dedicated k:
- Eliminujte studený start.
- Zpracujte požadavky na souběžné požadavky škálováním počtu servisních virtuálních počítačů nahoru nebo dolů.
Další informace najdete v tématu Výběr skladové položky pro cluster Azure Data Exploreru.
Nasazení tohoto scénáře
Informace o nasazení tohoto scénáře najdete v tématu monitorování v reálném čase a pozorovatelnosti pro média na GitHubu. Tato ukázka kódu zahrnuje potřebnou infrastrukturu jako kód (IaC) pro spouštění vývoje a funkce Azure pro příjem a transformaci dat z koncových bodů HTTP a objektů blob.
Přispěvatelé
Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.
Hlavní autoři:
- Jan Hauppa | Vedoucí technický programový manažer
- Uffaz Nathaniel | Hlavní softwarový inženýr
Další přispěvatelé:
- Mick Alberts | Technický spisovatel
- Dilmurod Makhamadaliev | Softwarový inženýr
- Omeed Musavi | Vedoucí hlavního softwarového inženýra
- Ayo Mustapha | Hlavní technický programový manažer
Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.
Další kroky
- Doplňkové ukázky kódu
- Dokumentace k Azure Data Exploreru
- Úvod do Azure Data Exploreru – školení
- Seznámení s Azure Functions