Digital Domain – Die Echtzeitüberwachung von Systemen

CrateDB & Grafana für Echtzeit-Performance-Monitoring der Virtual-Reality-Infrastruktur

Leistungsüberwachung großer Virtual-Reality-Dienste mit CrateDB und Grafana

Pionierarbeit im Streaming von Virtual Reality

Digital Domain ist weltweit führend am Markt bei visuellen Effekten, interaktiven Inhalten und bei der Erschaffung virtueller Figuren und Avatare für Filme und Live-Events. 2016 revolutionierten das Unternehmen die Branche mit der Entwicklung neuer Virtual-Reality-Erlebnisse.

Die VR-Entwicklungen setzen dabei auf ein Cloudsystem, welches VR-Inhalte, unter anderem die Video- und Audioübertragungen von Liveevents, liefert.

Verfügbarkeit, inhaltliche Qualität sowie Zuverlässigkeit sind für das Serviceversprechen und den Betrieb der Plattform entscheidend. Dementsprechend werden die Systeme permanent überwacht und auf mögliche Probleme, Ausfälle, Unebenheiten bei Audio- und Videosynchronisation, Verzögerungen u.a. geprüft.

Ich bin froh, dass SQL hinter den Auswertungen steht. Müsste ich Elasticsearch einsetzen, um Fragen zu beantworten, nicht im Ansatz könnten wir vergleichsweise so schnell auf neue Anforderungen reagieren.

Joe Hacobian

Infrastructure Engineer
Digital Domain

Die Erschaffung eigener Leistungsüberwachung

Bei Digital Domain verzichtet man auf ein kommerzielles Überwachungssystem. Sie bauten sich lieber ein eigenes. „Für ein System, welches so groß ist wie unseres, ist es wirtschaftlicher sich ein eigenes Monitoringsystem zu bauen. Der Zeitaufwand und der Einsatz von Open-Source-Software in einer Gruppe von AWS-Instanzen ist weitaus wirtschaftlicher als kommerzielle Alternativen”, erklärt Joe Hacobian, Infrastructure Engineer bei Digital Domain. Die zwei bedeutendsten Entscheidungen, die das Team zu treffen hatte, waren zum einen, welche Visualisierung man einsetzen und welche Datenbank man verwenden würde. Grafana war die Wahl für ersteres. Es wurde für die eigene Situation entwickelt und  die Entwickler waren begeistert von der Möglichkeit, alle Tabellen im Dashboard synchronisieren zu können, während Nutzer sich durch die Daten graben. Es vereinfacht die Überprüfung von Ursache und Wirkung.

MySQL? InfluxDB? Elasticsearch? CrateDB? ... CrateDB!

Hauptanforderung an die Datenbank war die Echtzeitverarbeitung von Zeitreihendaten. Außerdem sollte in einer späteren Phase des Projekt die Log-Analyse hinzukommen, die noch mehr Suchmöglichkeiten forderte. Ganz bewusst wollte Digital Domain den Einsatz mehrerer spezifischer Datenbanken vermeiden.

„Ich begann mit der Überwachung von Messwerten, plane jedoch, Log-Streaming hinzuzufügen und alle meine Ad-hoc-Analysen in einer Datenbank zu speichern”, so Joe.

So blieben folgende Datenbankoptionen zur Auswahl:

MySQL, es fehlte jedoch das Vertrauen, dass die Software mit dem Datenvolumen in Echtzeit mithalten könne

InfluxDB hinterließ den Eindruck eindimensional zu sein, und die Protokollanalysen waren zu weit vom Eigentlichen entfernt

Elasticsearch ist großartig im Umgang mit Protokollen, jedoch, sagen wir, behäbig, wen Zeitreihen im Spiel sind

Man entschied sich für CrateDB. Digital Domain war auf die Datenbank, spezialisiert auf IoT-Anwendungen und Zeitreihen, durch den Grafana Plugin Katalog gestoßen.

Das Kontrollsystem, SAGE genannt, handelt als ein API-prüfendes Netzwerk. Herzschlag und Metrikdaten werden in Sekundenintervallen in CrateDB gesichert und durch Grafana visualisiert. Das tägliche Volumen ist 1 GB.

Da die Auflösung sich im Grafana-Dashboard von Woche zu Minute ändert, werden die Graphen sofort und fortlaufend mit den Daten von CrateDB aktualisiert.

Das Resultat
Das gesamte Team hat Zugang zum Grafana-Panel und fragt permanent ab, wodurch seltsame Verhaltensmuster im System ausgelöst werden könnten. Dashboardabfragen sind seit CrateDB (SQL) vs. noSQL-Sources wie Elasticsearch ungemein einfacher. „Ich bin froh, dass SQL hinter den Tabellen und der Auswertung steht. Müsste ich mit Elasticsearch herausfinden, was hinter einem Graphen steht, oder Antworten auf neue Fragen finden, wir würden nicht im Ansatz so schnell auf Anforderungen reagieren können.”

White Paper

CrateDB-Vergleich mit anderen Time Series-Datenbanken