In deze architectuur wordt een oplossing beschreven die realtime bewaking en waarneembaarheid biedt van systemen en telemetriegegevens van eindgebruikersapparaten. Het richt zich op een use case voor de media-industrie.
Grafana is een handelsmerk van zijn respectieve bedrijf. Er wordt geen goedkeuring geïmpliceerd door het gebruik van dit merk.
Architectuur
Een Visio-bestand van deze architectuur downloaden.
Gegevensstroom
In het waarneembare systeem dat in het diagram wordt weergegeven, wordt onbewerkte telemetrie gestreamd naar Azure Blob Storage via HTTP en connectors. De onbewerkte telemetrie wordt verwerkt, getransformeerd, genormaliseerd en opgeslagen in Azure Data Explorer voor analyse. Systemen zoals Grafana en Azure Metrics Advisor lezen gegevens uit Data Explorer en bieden inzicht aan eindgebruikers.
Meer in het bijzonder zijn dit de elementen van het systeem in het diagram:
- Instrumentatie. Instrumentatie vindt plaats via tests of agents die zijn geïnstalleerd in systemen om gegevens te bewaken. Deze agents komen in verschillende vormen. In een video-on-demand streamingplatform kan een bedrijf bijvoorbeeld open-standaarden gebruiken dash.js om metrische gegevens over Quality of Experience van klanten te verzamelen.
- Inname. Deze onbewerkte telemetrie kan rechtstreeks afkomstig zijn van eindclients via HTTP-aanroepen. U kunt het ook uploaden via systemen van derden naar permanente opslag en data lakes zoals Blob Storage. Blog Storage ondersteunt de mogelijkheid om een Azure-functie aan te roepen wanneer een nieuw bestand wordt geüpload. U kunt dit triggermechanisme gebruiken om onbewerkte telemetrie te verplaatsen naar gestructureerde datawarehouses.
- Transformatie en persistentie. Mogelijk hebt u een transformatiesysteem nodig om uw gegevens te normaliseren. Een Azure Functions-app transformeert de gegevens naar behoefte en schrijft deze vervolgens naar Data Explorer. Data Explorer is ideaal voor big data-analyses omdat deze is ontworpen voor hoge prestaties en doorvoer voor grote gegevenssets.
- Bewaking. Azure Managed Grafana biedt ondersteuning voor integratie met Data Explorer. U kunt de functies voor slepen en neerzetten van Grafana gebruiken om snel dashboards en grafieken te maken. Grafana is geschikt voor mediabewaking omdat het subminutenvernieuwing van dashboardtegels biedt en ook kan worden gebruikt voor waarschuwingen.
- Anomaliedetectie. Het Grafana-dashboard biedt ondersteuning voor handmatige bewaking in de NOC. Echter, met een grote gegevensset en een gebruikersbestand verspreid over geografische gebieden en het gebruik van verschillende apparaten, wordt handmatige identificatie van problemen via grafieken en waarschuwingsregels met in code vastgelegde drempelwaarden inefficiënt. U kunt AI gebruiken om dit probleem op te lossen. Services zoals Metrics Advisor gebruiken machine learning-algoritmen om afwijkingen automatisch te begrijpen en te detecteren op basis van tijdreeksgegevens. Daarnaast heeft het Kusto-gegevensplatform ingebouwde anomaliedetectiefuncties die rekening houden met seizoensgebondenheid en basislijntrends in de gegevens.
Onderdelen
- Data Explorer is een beheerde gegevensanalyseservice voor realtime analyse van grote hoeveelheden gegevens. Data Explorer is een uitstekend hulpmiddel voor het verwerken van grote gegevenssets waarvoor hoge snelheid en doorvoer van het ophalen van gegevens is vereist. Deze architectuur maakt gebruik van Data Explorer om gegevenssets op te slaan en op te vragen voor analyse.
- Blob Storage wordt gebruikt voor het opslaan van onbewerkte telemetrie. Deze telemetrie kan afkomstig zijn van uw toepassingen en services of van externe leveranciers. De gegevens kunnen als tijdelijk worden behandeld als u later geen meer analyse hoeft uit te voeren. De gegevens uit Blob Storage worden opgenomen in Data Explorer-clusters.
- Azure Event Grid is een systeem voor het leveren van gebeurtenissen. Het wordt gebruikt om te luisteren naar gebeurtenissen die zijn gepubliceerd door Blob Storage. Met Azure Storage-gebeurtenissen kunnen toepassingen reageren op gebeurtenissen zoals het maken en verwijderen van blobs. Een Azure-functie abonneert zich op gebeurtenissen die zijn gepubliceerd door Event Grid.
- Azure Event Hubs is een realtime gegevensopnameservice die u kunt gebruiken om miljoenen gebeurtenissen per seconde op te nemen vanuit elke bron. Event Hubs vertegenwoordigen de voordeur, ook wel een gebeurtenis ingestor genoemd, voor een gebeurtenispijplijn. Een gebeurtenis ingestor is een onderdeel of service die zich bevindt tussen gebeurtenisuitgevers en gebeurtenisgebruikers. Hiermee wordt de productie van een gebeurtenisstroom losgekoppeld van het verbruik van de gebeurtenissen.
- Azure Functions is een serverloze oplossing die wordt gebruikt om gegevens die zijn opgenomen via HTTP- en blob-eindpunten te parseren en te transformeren en naar het Data Explorer-cluster te schrijven.
- Azure Managed Grafana maakt eenvoudig verbinding met Data Explorer. In deze architectuur worden grafieken en dashboards gegenereerd waarmee telemetriegegevens worden gevisualiseerd. Azure Managed Grafana biedt uitgebreide integratie met Microsoft Entra ID, zodat u op rollen gebaseerde toegang tot dashboards en weergaven kunt implementeren.
- Metrics Advisor maakt deel uit van Azure-app lied AI Services. Het maakt gebruik van AI om gegevensbewaking en anomaliedetectie uit te voeren in tijdreeksgegevens. Metrics Advisor automatiseert het proces van het toepassen van modellen op gegevens en biedt een set API's en een webwerkruimte voor gegevensopname, anomaliedetectie en diagnostische gegevens. U kunt deze zelfs gebruiken als u geen kennis hebt van machine learning.
Alternatieven
Azure Data Factory en Azure Synapse Analytics bieden hulpprogramma's en werkruimten voor het bouwen van ETL-werkstromen en de mogelijkheid om taken bij te houden en opnieuw uit te voeren vanuit een grafische interface. Houd er rekening mee dat Data Factory en Azure Synapse beide een minimale vertraging hebben van ongeveer 5 minuten van de opname tot persistentie. Deze vertraging kan acceptabel zijn in uw bewakingssysteem. Als dat zo is, raden we u aan deze alternatieven te overwegen.
Scenariodetails
Organisaties implementeren vaak uiteenlopende en grootschalige technologieën om zakelijke problemen op te lossen. Deze systemen en apparaten van eindgebruikers genereren grote sets telemetriegegevens.
Deze architectuur is gebaseerd op een use case voor de media-industrie. Mediastreaming voor live- en video-on-demand afspelen vereist bijna realtime identificatie van en reactie op toepassingsproblemen. Om dit realtime scenario te ondersteunen, moeten organisaties een enorme telemetrieset verzamelen. Hiervoor is schaalbare architectuur vereist. Nadat de gegevens zijn verzameld, zijn andere soorten analyses, zoals AI en anomaliedetectie, nodig om efficiënt problemen in een zo grote gegevensset te identificeren.
Wanneer grootschalige technologieën worden geïmplementeerd, genereren het systeem- en eindgebruikersapparaten die ermee communiceren enorme sets telemetriegegevens. In traditionele scenario's worden deze gegevens geanalyseerd via een datawarehousesysteem om inzichten te genereren die kunnen worden gebruikt om beheerbeslissingen te ondersteunen. Deze benadering werkt mogelijk in sommige scenario's, maar het reageert niet genoeg voor gebruiksscenario's voor streamingmedia. Om dit probleem op te lossen, zijn realtime inzichten vereist voor de telemetriegegevens die worden gegenereerd op basis van bewakingsservers, netwerken en de apparaten van eindgebruikers die ermee communiceren. Bewakingssystemen die fouten en fouten vangen, zijn gebruikelijk, maar om ze in bijna realtime te vangen, is het moeilijk. Dat is de focus van deze architectuur.
In een instelling voor live streamen of video-on-demand worden telemetriegegevens gegenereerd op basis van systemen en heterogene clients (mobiel, desktop en tv). De oplossing omvat het nemen van onbewerkte gegevens en het koppelen van context aan de gegevenspunten, bijvoorbeeld dimensies zoals geografie, besturingssysteem van eindgebruikers, inhouds-id en CDN-provider. De onbewerkte telemetrie wordt verzameld, getransformeerd en opgeslagen in Data Explorer voor analyse. Vervolgens kunt u AI gebruiken om de gegevens te begrijpen en de handmatige processen van observatie en waarschuwingen te automatiseren. U kunt systemen zoals Grafana en Metrics Advisor gebruiken om gegevens uit Data Explorer te lezen om interactieve dashboards weer te geven en waarschuwingen te activeren.
Overwegingen
Met deze overwegingen worden de pijlers van het Azure Well-Architected Framework geïmplementeerd, een set richtlijnen die u kunt gebruiken om de kwaliteit van een workload te verbeteren. Zie Microsoft Azure Well-Architected Framework voor meer informatie.
Betrouwbaarheid
Betrouwbaarheid zorgt ervoor dat uw toepassing kan voldoen aan de toezeggingen die u aan uw klanten hebt gedaan. Zie Controlelijst ontwerpbeoordeling voor betrouwbaarheidvoor meer informatie.
Bedrijfskritieke toepassingen moeten actief blijven, zelfs tijdens verstorende gebeurtenissen, zoals Azure-regio- of CDN-storingen. Er zijn twee primaire strategieën en één hybride strategie voor het bouwen van redundantie in uw systeem:
- Actief/actief. Dubbele code en functies worden uitgevoerd. Beide systemen kunnen worden overgenomen tijdens een storing.
- Actief/stand-by. Slechts één knooppunt is actief/primair. De andere is klaar om over te nemen voor het geval het primaire knooppunt uitvalt.
- Gemengd. Sommige onderdelen/services bevinden zich in de actieve/actieve configuratie en sommige zijn actief/stand-by.
Houd er rekening mee dat niet alle Azure-services ingebouwde redundantie hebben. Azure Functions voert bijvoorbeeld alleen een functie-app uit in een specifieke regio. Azure Functions geo-noodherstel beschrijft verschillende strategieën die u kunt implementeren, afhankelijk van hoe uw functies worden geactiveerd (HTTP versus pub/sub).
De opname- en transformatiefunctie-app kan worden uitgevoerd in de actieve/actieve modus. U kunt Data Explorer uitvoeren in zowel actieve/actieve als actieve/stand-by-configuraties.
Azure Managed Grafana biedt ondersteuning voor redundantie van beschikbaarheidszones. Een strategie voor het maken van redundantie tussen regio's is het instellen van Grafana in elke regio waarin uw Data Explorer-cluster wordt geïmplementeerd.
Kostenoptimalisatie
Kostenoptimalisatie gaat over manieren om onnodige uitgaven te verminderen en operationele efficiëntie te verbeteren. Zie controlelijst ontwerpbeoordeling voor kostenoptimalisatievoor meer informatie.
De kosten van deze architectuur zijn afhankelijk van het aantal inkomende telemetriegebeurtenissen, uw opslag van onbewerkte telemetrie in Blob Storage en Data Explorer, een uurkosten voor Azure Managed Grafana en een statische kosten voor het aantal tijdreeksdiagrammen in Metrics Advisor.
U kunt de Azure-prijscalculator gebruiken om uw uur- of maandelijkse kosten te schatten.
Prestatie-efficiëntie
Prestatie-efficiëntie is de mogelijkheid van uw workload om te schalen om te voldoen aan de eisen die gebruikers op een efficiënte manier stellen. Zie controlelijst ontwerpbeoordeling voor prestatie-efficiëntievoor meer informatie.
Afhankelijk van de schaal en frequentie van binnenkomende aanvragen kan de functie-app een knelpunt zijn, om twee belangrijke redenen:
- Koude start. Koude start is een gevolg van serverloze uitvoeringen. Het verwijst naar de plannings- en installatietijd die nodig is om een omgeving in te stellen voordat de functie voor het eerst wordt uitgevoerd. De vereiste tijd is maximaal een paar seconden.
- Frequentie van aanvragen. Stel dat u 1000 HTTP-aanvragen hebt, maar slechts een server met één thread om ze te verwerken. U kunt niet alle 1000 HTTP-aanvragen gelijktijdig verwerken. Als u deze aanvragen tijdig wilt verwerken, moet u meer servers implementeren. Dat wil gezegd, u moet horizontaal schalen.
U wordt aangeraden Premium- of Dedicated-SKU's te gebruiken voor het volgende:
- Verwijder koude start.
- Afhandelen van vereisten voor gelijktijdige aanvragen door het aantal virtuele machines voor onderhoud omhoog of omlaag te schalen.
Zie Een SKU selecteren voor uw Azure Data Explorer-cluster voor meer informatie.
Dit scenario implementeren
Zie realtime bewaking en waarneembaarheid voor media op GitHub voor informatie over het implementeren van dit scenario. Dit codevoorbeeld bevat de benodigde infrastructuur als code (IaC) voor bootstrapontwikkeling en Azure-functies voor het opnemen en transformeren van de gegevens van HTTP- en blob-eindpunten.
Medewerkers
Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.
Belangrijkste auteurs:
- John Hauppa | Senior Technical Program Manager
- Uffaz Nathaniel | Principal Software Engineer
Andere Inzenders:
- Mick Alberts | Technische schrijver
- Dilmurod Makhamadaliev | Software Engineer
- Omeed Musavi | Principal Software Engineer Lead
- Ayo Mustapha | Principal Technical Program Manager
Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.
Volgende stappen
- Aanvullende codevoorbeelden
- Documentatie voor Azure Data Explorer
- Inleiding tot Azure Data Explorer - Training
- Inleiding tot Azure Functions