Observability
Medien & Unterhaltung

Gurunavi, Inc.: Umfangreiche Logdaten effizient und mit Hochgeschwindigkeits-Suchfunktionen analysieren

AUF EINEN BLICK

  • 50
    Arten von Datenbanken
  • 50
    Milliarden Dokumente, gesamtes Datenvolumen
  • 30 TB
    Datenträgergröße

Über Gurunavi, Inc.

Seit der Veröffentlichung der Restaurant-Informationswebsite Gurunavi im Juni 1996 betreibt Gurunavi Inc. ein breites Portfolio an Firmen, die sich hauptsächlich mit Informationen über Restaurants und andere, ähnliche Dienste befassen. Gurunavi ist ein altehrwürdiger und langjähriger Branchenführer mit einer überwältigenden Anzahl von etwa 500.000 Restaurants in seiner Datenbank, 58.951 zahlenden Mitgliedsrestaurants1, 61 Millionen monatlichen individuellen Benutzern2 und 17,96 Millionen Mitgliedern3. Daneben bietet das Unternehmen End-to-End-Supportdienste wie etwa ICT-Support (Information Communication Technology) für Restaurants mit zahlreichen Vorteilen für Restaurantbesucher und Restaurants an. Seit 2018 bietet Gurunavi neue Dienste für Kunden an, darunter beispielsweise die Nutzung sozialer Medien, Verknüpfungen zwischen Mitglieds-IDs und Rakuten-IDs und den Gurunavi Pay-Dienst für bargeldlose Zahlungen in Restaurants.

Die meisten Benutzer kennen jedoch hauptsächlich die Gurunavi-Restaurantinformationen für Smartphone und PC, die jedoch nur einen kleinen Teil der vom Unternehmen angebotenen Dienste ausmachen. Daneben bietet Gurunavi beispielsweise einen Ledger-Dienst an, der Restaurants bei der Kundenverwaltung unterstützt, sowie den Gurunavi Pay Multi-Zahlungsdienst, die einen wichtigen Beitrag zur Einrichtung von ICT-Umgebungen in Restaurants leisten. Selbstverständlich ist all dies mit riesigen Mengen an Logdaten verbunden.

1: 30. September 2019 2: Dezember 2018 3: 1. Oktober 2019.

Elastic bietet die notwendige Suchgeschwindigkeit für Loganalysen in großem Umfang

Gurunavi ist ein Vorreiter in Japan unter den Onlinediensten, die Informationen über Restaurants und andere Themen anbieten. Das Unternehmen hat schon sehr früh eine umfangreiche ICT-Umgebung zur Unterstützung dieser Dienste betrieben. Naturgemäß produzieren diese Systeme große Mengen an Logdaten, und die Analyse dieser Daten war früher sehr zeit- und arbeitsintensiv.

Toshiaki Iwamoto ist Deputy Section Chief für den technischen Bereich in der Entwicklungsabteilung bei Gurunavi. Er erinnert sich wie folgt an die damaligen Zustände.

„2016 hate Gurunavi bereits Tausende von Servern im Einsatz. Bei Defekten oder Wartungsarbeiten mussten wir uns direkt bei dem betroffenen Server anmelden, Logs überprüfen, das richtige Log mit dem grep-Befehl finden, mit dem scp-Befehl temporär in eine lokale Umgebung kopieren und das Problem dann von dort aus beheben. Diese Untersuchungen dauerten mehr als eine Stunde. Daher konnten wir nicht in Echtzeit reagieren und mussten viele Dinge manuell erledigen, was häufig zu Flüchtigkeitsfehlern und anderen Problemen führte. Angesichts der zunehmenden Größe von Systemen und Logs brauchten wir immer dringender eine Lösung, um diese Arbeitslast bewältigen zu können.“

In dieser Phase entdeckte Gurunavi zwei Elastic Stack-Produkte: Elasticsearch und Kibana.

Elastic Stack bietet eine schnelle Echtzeit-Suche über verschiedene Datenquellen hinweg, ohne die Zieldaten in eine lokale Umgebung herunterzuladen. Dazu werden verschiedene bereitgestellte Produktkomponenten verwendet. Da das Unternehmen immer mehr und immer komplexere Dienste anbietet, hat auch die Anzahl der API-Aufrufe zwischen Anwendungen stark zugenommen. Gurunavi muss eine Vielzahl an Logs analysieren, und die Elastic Stack-Produkte haben sich dafür als optimale Lösung erwiesen. „Damals gab es keinerlei Produkte auf dem Markt, die man als Konkurrenz hätte bezeichnen können, und wir haben uns für Elastic entschieden, weil es die einzige Wahl war“, sagt Herr Iwamoto von Gurunavi. Gurunavi setzt Elasticsearch und Kibana seit 2016 vollständig ein.

Elastic Cloud implementieren, um die Arbeitslast durch Versionsupgrades zu reduzieren

Mehrere Jahre nach der Implementierung begann Gurunavi gegen Ende 2018, AWS einzusetzen.

Zu diesem Zeitpunkt migrierte Gurunavi einige der Elastic Stack-Lizenzen in die Cloud, da diese Lizenzen sowieso verlängert werden mussten, und das Unternehmen begann mit der Nutzung des Elasticsearch Service von Elastic Cloud. Diese Umstellung hatte das Ziel, die Erfassung und Analyse von Logs in einer AWS-Umgebung zu implementieren und die betriebliche Arbeitslast durch das Elastic-Upgrade zu reduzieren.

„Manche Benutzer wollten gerne die AWS Cloudwatch-Logs in derselben hochwertigen Kibana-Benutzeroberfläche sehen, an die sie 2018 bereits gewöhnt waren“, sagt Herr Iwamoto. „Wir haben die Logdatenerfassung und andere Funktionen mit den Konkurrenzprodukten verglichen, und Elastic Cloud hat im Hinblick auf Kosten, Leistung und Verfügbarkeit neuer Versionen den ersten Platz belegt. Für die Implementierung haben wir uns für Functionbeat und Elasticsearch entschieden.“

Für Gurunavi war es außerdem wichtig, die betriebliche Arbeitslast durch Upgrades und andere Aufgaben zu reduzieren. Es war wichtig, dass diese Aufgaben nicht von den Kenntnissen einer einzigen Person abhängen, da Herr Iwamoto als einziger Mitarbeiter das notwendige technische Fachwissen besaß. „Versionsupdates werden häufig veröffentlicht, aber nur ich konnte diese Updates einspielen, was zu einer riesigen Arbeitslast für mich geführt hat. Ich hatte die Hoffnung, dass wir dieses Problem mit der Einführung von Elastic Cloud ebenfalls beheben könnten.“

(Toshiaki Iwamoto, Gurunavi)

Auf diese Weise erhielt Gurunavi eine umfassende Elastic-Umgebung, sowohl lokal als auch in der Cloud.

Hochgeschwindigkeits-Logsuche über alle Anwendungen und Netzwerkgeräte hinweg

Das aktuelle System von Gurunavi verarbeitet Logs aus allen Anwendungen und Netzwerkgeräten und beläuft sich auf mehr als 50 Arten von Datenbanken und ein Gesamtvolumen von 50 Milliarden Dokumenten.

Für die Datenextraktion werden Logdaten aus lokalen Clustern mit hoher Kapazität per Logstash an Elasticsearch gesendet, und die Cloudwatch-Logdaten in der Cloudumgebung (inklusive Container) werden wie oben beschrieben von Functionbeat an Ingest gesendet. [Amazon] S3-Daten werden mit Logstash an Elasticsearch übertragen. All diese Logs können transparent und bereichsübergreifend überwacht werden. Daher können diese Daten nicht nur für die Fehlerbehebung, sondern auch für strategische Zwecke genutzt werden.

„Gurunavi ist ein Dienstanbieter, darum müssen wir in einer Vielzahl von Sprachen arbeiten. Außerdem hängt die Art der erfassten Logdaten von der jeweiligen Anwendung ab, und wir verwenden eine Vielzahl an Indizes“, sagt Herr Iwamoto. „Die Entwickler möchten gerne bereichsübergreifend alles sehen, inklusive der Cloud. Seitdem wir unsere umfassende Elastic-Umgebung eingerichtet haben, ist dies tatsächlich möglich.“

Schnelle Problembehandlung, geringere betriebliche Arbeitslast und neue Arten der Datennutzung

Herr Iwamoto hat die Vorteile des Elastic Stack anfänglich anhand von zwei Kriterien bewertet.

„Einerseits hat es mehr als eine Stunde gedauert, Logdaten manuell zu kopieren und zu überprüfen, und seitdem wir diese Aufgaben innerhalb von Sekunden erledigen können, hat unsere Effizienz stark zugenommen. Dadurch konnten wir den gesamten Prozess vom Auftreten eines Problems bis zum Ergebnis der Untersuchung beschleunigen, und die Genauigkeit des Verfahrens hat dramatisch zugenommen. Mit der bereitgestellten API werden Logwarnungen an Slack oder Webhook gesendet, damit wir noch schneller reagieren können. Außerdem kann Elastic Cloud unterbrechungsfrei und ohne den riesigen Arbeitsaufwand bei der Umstellung auf eine neue Version aktualisiert werden, und wir erhalten den zusätzlichen Vorteil, dass wir immer die neueste Version nutzen können. Früher, als ich Upgrades praktisch komplett allein zusätzlich zu meiner normalen Arbeit einspielen musste, dauerte ein Upgrade – inklusive entsprechender Untersuchungen – etwa fünf bis zehn Tage. Heutzutage nehmen Upgrades praktisch überhaupt keine Zeit in Anspruch.“ (Toshiaki Iwamoto, Gurunavi)

Das System hat ebenfalls einen wichtigen Beitrag zur neuen Strategie des Unternehmens im Hinblick auf den Incoming-Tourismus geleistet.

Wir können beispielsweise den Elastic Stack verwenden, um Geolocation-Daten zu extrahieren und die Aufenthaltsorte der Website-Besucher zu visualisieren. „Amazon Cloud Front ist ein CDN-Dienst in AWS, und mit den entsprechenden Logs können wir die Website-Zugriffsdaten nach Ländern aufgeschlüsselt anzeigen“, sagt Herr Iwamoto. „Warum bekommen wir so viele Besucher von diesem Ort? Und warum nur so wenige von dort? Mit den entsprechenden Daten können wir diese Arten von Fragen stellen und Drilldowns ausführen, um beispielsweise herauszufinden, ob ein Problem mit relevanten Inhalten oder einem Dienstanbieter vorliegt. Anhand dieser Informationen können wir Maßnahmen ergreifen und die Inhaltsbereitstellung beschleunigen, das Timing für Kampagnen optimieren und weitere Entscheidungen treffen. Damit sind die Informationen extrem hilfreich für die Zukunft unserer Strategie für den Incoming-Tourismus.“

Die Visualisierung grafischer Daten mit Vega war ein weiteres Element, das zu dieser intuitiven Entscheidung beigetragen hat. Dank einer neuen Funktion in Kibana 6.2 können Elasticsearch-Daten mit Vega und Vega-Lite verwendet werden, um ansprechende Visualisierungen zu erstellen. Mit diesen Visualisierungen können die Benutzer eine Informationsübersicht aus riesigen Datenmengen extrahieren und für intuitive Rückschlüsse nutzen. Diese Funktion ist auch sehr hilfreich für weniger IT-versierte Personen, wie etwa Mitarbeiter in Marketing- oder Verwaltungsabteilungen.

Im Hinblick auf die Vorteile der Elastic-Implementierung merkte Herr Iwamoto an, dass es „angesichts unserer aktuellen komplexen Systemumgebungen und der gigantischen Mengen an Logdaten unvorstellbar wäre, in einer Welt ohne den Elastic Stack zu leben.“

Ausweitung der Datennutzung auf Geschäftsstrategien

Seitdem Gurunavi eine Hochgeschwindigkeits-Logsuche eingeführt und die Arbeitslast durch Versionsupgrades mit der Cloud reduziert hat, ist das Unternehmen bereits auf der Suche nach strategischen Einsatzmöglichkeiten für den Elastic Stack.

„Mit der Elastic-Umgebung und Elastic Cloud hängt unser Geschäftsbetrieb nicht mehr vom Wissen einer einzigen Person ab, und das System wird seitdem für eine Vielzahl neuer Zwecke genutzt“, sagt Herr Iwamoto. „Die Mitarbeiter im Anwendungsbereich haben beispielsweise ein Dashboard erstellt, das die Konvertierungsraten potenzieller Kunden im Lauf der Zeit gegen verschiedene KPIs misst. Wir sind davon überzeugt, dass es wichtig ist, die Logdaten nicht nur für die Fehlerbehebung und andere Zwecke im Bereich der Systemverwaltung zu nutzen, sondern auch für diese Art von strategischen Zielen. Auf diese Weise versuchen wir, noch weitere Vorteile zu erreichen.“

Gurunavi bietet weiterhin hochwertige Dienste für Kunden und Restaurants an.

Der Elastic Stack ist entscheidend für die optimale Verwendung der riesigen Mengen an Logdaten mit einer Gesamtzahl von 50 Milliarden Dokumenten, um diese Dienste zu ermöglichen.