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 führt am Markt. Und das weltweit und realistisch betrachtet. Sie sind einfach fantastisch bei der Kreation visueller Effekte, interaktiver Inhalte und bei der Erschaffung virtueller Figürchen und Avatare für Filme und Live-Events. 2016 revolutionierten sie 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 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.

Es beruhigt, dass SQL hinter den Tabellen steht. Müsste ich Elasticsearch einsetzen, um neue Fragen zu beantworten, nicht im Ansatz könnten wir vergleichsweise 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, baute sich lieber ein eigenes. „Für ein System, welches so groß ist wie unseres, ist es wirtschaftlicher sich ein eigenes Überwachungssystem zu bauen. Zeit plus
Einsatz plus Open-Source-Software in einer Gruppe von AWS-Instanzen sind 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 man liebt die 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 in systemischen Vorkommnissen.

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

Hauptanforderung an die Datenbank war die Echtzeitverarbeitung systemischer Metrikdaten. Dazu kam der Anspruch, dass Projekte von Streaming-Log-Analysen, die mehrere Suchfunktionen erfordern, gestützt zu sein haben, Den Einsatz mehrerer spezifischer Datenbanken hingegen, wollte man vermeiden. Bewusst und mit Absicht.

„Ich begann mit der Überwachung von Messwerten, plane jedoch, Protokoll-
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 und Crate.

Man entschied sich für CrateDB, welche Digitale Domain durch den Grafana Plugin Catalog kennenlernten.

Das Kontrollsystem, auch 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, was seltsame Verhaltensmuster im System auslöst. 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.”

Weißes Papier

CrateDB-Vergleich mit anderen Time Series-Datenbanken