Bearbeiten

Freigeben über


Einrichten von Echtzeitüberwachung und beobachtbaren Systemen für Medien

Azure-Daten-Explorer
Azure-Funktionen
Azure KI Metrics Advisor
Azure Blob Storage
Azure Event Hubs

In dieser Architektur wird eine Lösung beschrieben, die Echtzeitüberwachung und Einblick in Systeme und Gerätetelemetriedaten von Endbenutzer*innen bietet. Der Fokus liegt dabei auf einem Anwendungsfall in der Medienbranche.

Grafana ist eine Marke des entsprechenden Unternehmens. Die Verwendung dieser Marke impliziert keine Empfehlung.

Aufbau

Diagramm: Die Architektur, die Echtzeitüberwachung und Einblick in Systeme und Gerätetelemetriedaten von Endbenutzer*innen bietet

Laden Sie eine Visio-Datei dieser Architektur herunter.

Datenfluss

In dem im Diagramm dargestellten beobachtbaren System werden unformatierte Telemetriedaten über HTTP und Connectors an Azure Blob Storage gestreamt. Die unformatierten Telemetriedaten werden verarbeitet, transformiert, normalisiert und zur Analyse in Azure Data Explorer gespeichert. Systeme wie Grafana und Azure Metrics Advisor lesen Daten aus Data Explorer und bieten Endbenutzer*innen Einsichten.

Im Folgenden werden die Elemente des Systems im Diagramm aufgeführt:

  1. Instrumentierung: Die Instrumentierung erfolgt über Tests oder Agents, die in Systemen installiert sind, um Daten zu überwachen. Es gibt verschiedene Agents. Auf einer On-Demand-Streamingplattform für Videos kann ein Unternehmen beispielsweise den Open-Source-Player Dash.js verwenden, um Benutzererfahrungsmetriken von Kunden zu erfassen.
  2. Erfassung: Diese unformatierten Telemetriedaten können direkt von Endbenutzer*innen über HTTP-Aufrufe empfangen werden. Alternativ können Sie sie über Drittanbietersysteme in beständige Speicher und Data Lakes wie Blob Storage hochladen. Mit Blog Storage können Sie eine Azure-Funktion aufrufen, wenn eine neue Datei hochgeladen wird. Sie können diesen Triggermechanismus verwenden, um unformatierte Telemetriedaten in strukturierte Data Warehouses zu verschieben.
  3. Transformation und Persistenz: Möglicherweise benötigen Sie ein Transformationssystem, um Ihre Daten zu normalisieren. Eine Azure Functions-App transformiert die Daten nach Bedarf und schreibt sie dann in Data Explorer. Data Explorer ist gut für Big Data-Analysen geeignet, da der Dienst für hohe Leistung und hohen Durchsatz bei großen Datasets konzipiert ist.
  4. Überwachung. Azure Managed Grafana unterstützt die Integration mit Data Explorer. Sie können die Drag & Drop-Funktionen von Grafana verwenden, um schnell Dashboards und Diagramme zu erstellen. Grafana eignet sich gut für die Medienüberwachung, da die Dashboardkacheln im Abstand von weniger als einer Minute aktualisiert werden und die Plattform auch Warnungen ausgeben kann.
  5. Anomalieerkennung Das Grafana-Dashboard bietet Unterstützung für die manuelle Überwachung im NOC. Bei einem großen Dataset und einer Benutzerbasis, die über geografische Regionen verteilt ist und bei der verschiedene Geräte verwendet werden, ist die manuelle Identifizierung von Problemen über Diagramme und Warnungsregeln mit hartcodierten Schwellenwerten jedoch ineffizient. Sie können KI verwenden, um dieses Problem zu beheben. Dienste wie Metrics Advisor verwenden Machine Learning-Algorithmen, um Anomalien anhand von Zeitreihendaten automatisch zu ermitteln. Darüber hinaus verfügt die Kusto-Datenplattform über integrierte Anomalieerkennungsfunktionen, die Saisonalität und Baselinetrends in den Daten berücksichtigen.

Komponenten

  • Data Explorer ist ein verwalteter Datenanalysedienst für Echtzeitanalysen großer Mengen an Daten. Data Explorer ist ein hervorragendes Tool für die Verarbeitung großer Datasets, die eine hohe Geschwindigkeit und einen hohen Durchsatz beim Datenabruf erfordern. Diese Architektur verwendet Data Explorer zum Speichern und Abfragen von Datasets für die Analyse.
  • Blob Storage wird verwendet, um unformatierte Telemetriedaten zu speichern. Diese Telemetriedaten können von Ihren Anwendungen und Diensten oder von Drittanbietern stammen. Die Daten können als vorübergehend behandelt werden, wenn Sie später keine weiteren Analysen durchführen müssen. Die Daten aus Blob Storage werden in Data Explorer-Clustern erfasst.
  • Azure Event Grid ist ein Ereignisübermittlungssystem. Es wird verwendet, um auf Ereignisse zu lauschen, die von Blob Storage veröffentlicht werden. Azure Storage-Ereignisse ermöglichen es Anwendungen, auf Ereignisse wie das Erstellen und Löschen von Blobs zu reagieren. Eine Azure-Funktion abonniert Ereignisse, die von Event Grid veröffentlicht werden.
  • Azure Event Hubs ist ein Dienst zur Echtzeitdatenerfassung, mit dem Sie Millionen von Ereignissen pro Sekunde aus einer beliebigen Quelle erfassen können. Event Hubs stellen die Frontdoor für eine Ereignispipeline dar, die häufig als Ereignisingestor bezeichnet wird. Ein Ereignisingestor ist eine Komponente oder ein Dienst zwischen Ereignisherausgebern und Ereignisconsumern. Er entkoppelt die Produktion eines Ereignisdatenstroms von der Nutzung der Ereignisse.
  • Azure Functions ist eine serverlose Lösung, die zum Parsen und Transformieren von Daten, die über HTTP und Blobendpunkte erfasst werden, sowie zum Schreiben in den Data Explorer-Cluster verwendet wird.
  • Azure Managed Grafana stellt problemlos eine Verbindung mit Data Explorer her. In dieser Architektur werden Diagramme und Dashboards generiert, die Telemetriedaten visualisieren. Azure Managed Grafana bietet eine umfassende Integration mit Microsoft Entra ID, mit der Sie den rollenbasierten Zugriff auf Dashboards und Ansichten implementieren können.
  • Metrics Advisor ist Teil von Azure Applied AI Services. Der Dienst verwendet KI, um die Datenüberwachung und Anomalieerkennung für Zeitreihendaten durchzuführen. Metrics Advisor automatisiert die Anwendung von Modellen auf Ihre Daten und bietet mehrere APIs sowie einen webbasierten Arbeitsbereich für die Datenerfassung, Anomalieerkennung und Diagnose. Sie können den Dienst auch dann verwenden, wenn Sie nichts über maschinelles Lernen wissen.

Alternativen

Azure Data Factory und Azure Synapse Analytics bieten Tools und Arbeitsbereiche zum Erstellen von ETL-Workflows sowie die Möglichkeit, Aufträge über eine grafische Benutzeroberfläche nachzuverfolgen und zu wiederholen. Beachten Sie, dass Data Factory und Azure Synapse beide eine minimale Verzögerung von etwa fünf Minuten vom Zeitpunkt der Erfassung bis zur Persistenz aufweisen. Diese Verzögerung kann in Ihrem Überwachungssystem akzeptabel sein. Wenn dies der Fall ist, wird empfohlen, diese Alternativen in Betracht zu ziehen.

Szenariodetails

Organisationen stellen häufig verschiedene und umfangreiche Technologien bereit, um Geschäftsprobleme zu lösen. Diese Systeme und Endbenutzergeräte generieren große Mengen von Telemetriedaten.

Diese Architektur basiert auf einem Anwendungsfall für die Medienbranche. Beim Medienstreaming für die Live- und On-Demand-Wiedergabe von Videos müssen Anwendungsprobleme in Quasi-Echtzeit erkannt und behoben werden. Für dieses Echtzeitszenario müssen Organisationen einen umfangreichen Telemetriedatensatz sammeln, wofür eine skalierbare Architektur erforderlich ist. Nachdem die Daten gesammelt wurden, müssen andere Analysen mit KI und Anomalieerkennung durchgeführt werden, um Probleme in einem so großen Dataset effizient zu ermitteln.

Wenn umfangreiche Technologien bereitgestellt werden, generieren die System- und Endbenutzergeräte, die mit ihnen interagieren, riesige Mengen von Telemetriedaten. In herkömmlichen Szenarios werden diese Daten über ein Data Warehouse-System analysiert, um Erkenntnisse zu gewinnen, die für Verwaltungsentscheidungen relevant sein können. Dieser Ansatz kann in einigen Szenarios funktionieren, ist aber für Anwendungsfälle mit Streamingmedien nicht dynamisch genug. Um dieses Problem zu lösen, sind Echtzeiteinblicke in die Telemetriedaten erforderlich, die von Überwachungsservern, Netzwerken und den Endbenutzergeräten, die mit ihnen interagieren, generiert werden. Überwachungssysteme, die Fehler erfassen, werden zwar häufig eingesetzt, aber es ist schwierig, Fehler in Quasi-Echtzeit zu erkennen. Darauf liegt der Schwerpunkt dieser Architektur.

Beim Livestreaming oder bei Video-on-Demand-Szenarios werden Telemetriedaten von Systemen und heterogenen Clients (Mobil-, Desktop- und TV-Geräten) generiert. Die Lösung umfasst die Verwendung von Rohdaten und das Zuordnen des Kontexts zu den Datenpunkten, z. B. Dimensionen wie der Geografie, dem Betriebssystem des Endbenutzers, der Inhalts-ID und dem CDN-Anbieter. Die rohen Telemetriedaten werden gesammelt, transformiert und zur Analyse in Data Explorer gespeichert. Anschließend können Sie KI verwenden, um die Daten zu verstehen und die manuell durchgeführten Beobachtungs- und Warnungsprozesse zu automatisieren. Sie können Systeme wie Grafana und Metrics Advisor verwenden, um Daten aus Data Explorer zu lesen und interaktive Dashboards anzuzeigen und Warnungen auszulösen.

Überlegungen

Diese Überlegungen setzen die Säulen des Azure Well-Architected Framework um, das aus einer Reihe von Leitprinzipien besteht, die zur Verbesserung der Qualität einer Workload verwendet werden können. Weitere Informationen finden Sie unter Microsoft Azure Well-Architected Framework.

Zuverlässigkeit

Zuverlässigkeit stellt sicher, dass Ihre Anwendung Ihre Verpflichtungen gegenüber den Kunden erfüllen kann. Weitere Informationen finden Sie in der Überblick über die Säule „Zuverlässigkeit“.

Unternehmenskritische Anwendungen müssen auch bei Störereignissen wie Ausfällen von Azure-Regionen oder CDNs weiterhin ausgeführt werden. Es gibt zwei primäre Strategien und eine Hybridstrategie zum Gewährleisten der Redundanz in Ihrem System:

  • Aktiv/aktiv. Der doppelte Code und die Funktionen werden ausgeführt. Beide Systeme können während eines Ausfalls einspringen.
  • Aktiv/Standby: Nur ein Knoten ist aktiv/primär. Der andere ist bereit, dem Betrieb zu übernehmen, falls der primäre Knoten ausfällt.
  • Gemischt: Einige Komponenten bzw. Dienste befinden sich in der Aktiv/Aktiv-Konfiguration und einige in der Aktiv/Standby-Konfiguration.

Beachten Sie, dass nicht alle Azure-Dienste über integrierte Redundanz verfügen. Beispielsweise führt Azure Functions eine Funktions-App nur in einer bestimmten Region aus. Die georedundante Notfallwiederherstellung von Azure Functions bezeichnet verschiedene Strategien, die Sie abhängig davon umsetzen können, wie Ihre Funktionen ausgelöst werden (über HTTP oder Pub/Sub).

Die Funktions-App für die Erfassung und Transformation kann im Aktiv/Aktiv-Modus ausgeführt werden. Sie können Data Explorer sowohl in der Aktiv/Aktiv- als auch der Aktiv/Standby-Konfiguration ausführen.

Azure Managed Grafana unterstützt Redundanz in Verfügbarkeitszonen. Eine Strategie zum Einrichten der regionsübergreifenden Redundanz besteht darin, Grafana in jeder Region einzurichten, in der Ihr Data Explorer-Cluster bereitgestellt wird.

Kostenoptimierung

Bei der Kostenoptimierung geht es darum, unnötige Ausgaben zu reduzieren und die Betriebseffizienz zu verbessern. Weitere Informationen finden Sie unter Übersicht über die Säule „Kostenoptimierung“.

Die Kosten dieser Architektur hängen von der Anzahl der eingehenden Telemetrieereignisse, der Speicherung von unformatierten Telemetriedaten in Blob Storage und Data Explorer, den stündlichen Kosten für Azure Managed Grafana und den statischen Kosten für die Anzahl der Zeitreihendiagramme in Metrics Advisor ab.

Sie können den Azure-Preisrechner verwenden, um Ihre stündlichen oder monatlichen Kosten zu ermitteln.

Effiziente Leistung

Leistungseffizienz ist die Fähigkeit Ihrer Workload, auf effiziente Weise eine den Anforderungen der Benutzer entsprechende Skalierung auszuführen. Weitere Informationen finden Sie unter Übersicht über die Säule „Leistungseffizienz“.

Je nach Umfang und Häufigkeit der eingehenden Anforderungen kann die Funktions-App aus zwei Hauptgründen einen Engpass verursachen:

  • Kaltstarts: Ein Kaltstart kann aufgrund serverloser Ausführungen erfolgen. Damit ist die Planungs- und Einrichtungszeit gemeint, die erforderlich ist, um eine Umgebung zu starten, bevor die Funktion zum ersten Mal ausgeführt wird. Die erforderliche Zeit beträgt höchstens einige Sekunden.
  • Häufigkeit der Anforderungen: Angenommen, Sie empfangen 1.000 HTTP-Anforderungen, haben aber nur einen Singlethreadserver, um sie zu verarbeiten. Sie können nicht alle 1.000 HTTP-Anforderungen gleichzeitig verarbeiten. Um diese Anforderungen rechtzeitig zu verarbeiten, müssen Sie weitere Server bereitstellen. Das bedeutet, dass Sie horizontal skalieren müssen.

Es wird empfohlen, Premium-SKUs oder dedizierte SKUs für Folgendes zu verwenden:

  • Vermeiden von Kaltstarts
  • Verarbeiten der Anforderungen für gleichzeitige Anforderungen, indem Sie die Anzahl der gewarteten virtuellen Computer hoch- oder herunterskalieren

Weitere Informationen finden Sie unter Auswählen einer SKU für Ihren Azure Data Explorer-Cluster.

Bereitstellen dieses Szenarios

Informationen zur Bereitstellung dieses Szenarios finden Sie unter real-time-monitoring-and-observability-for-media auf GitHub. Dieses Codebeispiel umfasst die erforderliche Infrastructure-as-Code (IaC) für die Bootstrapentwicklung und Azure-Funktionen zum Erfassen und Transformieren der Daten aus HTTP- und Blobendpunkten.

Beitragende

Dieser Artikel wird von Microsoft gepflegt. Er wurde ursprünglich von folgenden Mitwirkenden geschrieben:

Hauptautoren:

Andere Mitwirkende:

Melden Sie sich bei LinkedIn an, um nicht öffentliche LinkedIn-Profile anzuzeigen.

Nächste Schritte