Direktes Ingestieren von Daten aus Google Cloud Storage in Elastic mit Google Dataflow

blog-thumb-cloud-gcp.png

Wir freuen uns, heute die Einführung der Unterstützung für das direkte Ingestieren von Daten aus Google Cloud Storage (GCS) in den Elastic Stack mit Google Dataflow bekannt geben zu können. Entwickler, Site-Reliability-Engineers (SREs) und Security-Analysten können so mit ein paar wenigen Klicks in der Google Cloud Console Daten aus GCS in den Elastic Stack ingestieren.

Viele Entwickler, SREs und Security-Analysts nutzen für das Speichern von Log- und Ereignisdaten aus Anwendungen und Infrastruktur in Google Cloud GCS, während für das Troubleshooting, das Monitoring oder das Aufspüren von Verhaltensanomalien bei diesen Anwendungen und dieser Infrastruktur der Elastic Stack zum Einsatz kommt. Um das Nutzungserlebnis bei beiden Lösungen aufzuwerten, haben Google und Elastic zusammen eine nutzungsfreundliche, integrierte Möglichkeit entwickelt, Log- und Ereignisdaten aus GCS in den Elastic Stack zu ingestieren. Das ermöglicht einfachere Daten-Pipeline-Architekturen, eine Reduzierung des operativen Overheads und ein schnelleres Troubleshooting – all dies mit ein paar wenigen Klicks in der Google Cloud Console und ganz ohne die Notwendigkeit, einen eigenen Datenprozessor zu erstellen.

In diesem Blogpost beschäftigen wir uns damit, wie Sie mit Google Dataflow ganz ohne Agent Daten aus GCS in den Elastic Stack ingestieren können.

Einfacheres und schnelleres Ingestieren von Daten aus GCS

Google Cloud Storage (GCS) ist eine Objektspeicherlösung, die häufig mit Amazon S3 oder Azure Blob Storage verglichen wird. Sie wird gern für das Sichern und Archivieren von Daten, für die Datenanalyse ohne Streaming oder auch für das Hosten einfacher Webseiten und Anwendungen zu einem günstigen Preis verwendet. Entwickler, SREs oder Security-Analysten können GCS nutzen, um auf der Plattform Log- und Ereignisdaten für ihre Anwendungen oder ihre Infrastruktur zu sichern oder zu archivieren. Denkbar ist auch, dass ein Google Cloud-Nutzer eine Daten-Pipeline hat, bei der nicht alle Daten in den Elastic Stack ingestiert werden, sondern bei der einige Daten für die spätere Analyse in GCS gespeichert werden.

Wenn für die Analyse eine externe Analytics-Lösung wie Elastic verwendet werden soll, müssen Sie entscheiden, wie die Log- und Ereignisdaten ihren Weg in diese externe Lösung finden. Am besten wäre es, wenn die Daten mit einigen wenigen Klicks in der Google Cloud Console direkt aus GCS in den Elastic Stack ingestiert werden könnten. Dank eines neuen Dropdown-Menüs in Google Dataflow, einem verbreiteten serverlosen Datenprozessor auf der Basis von Apache Beam, ist genau dies jetzt möglich. Dataflow befördert Log- und Ereignisdaten aus GCS direkt in den Elastic Stack. Derzeit wird das Dateiformat CSV unterstützt, aber wir werden demnächst auch die Verwendung von JSON möglich machen.

Ganz allgemein läuft die Dateningestion wie unten dargestellt ab. Die Integration funktioniert bei allen Nutzern unabhängig von der verwendeten Umgebung, also gleich ob in Elastic Stack auf Elastic Cloud, in Elastic Cloud im Google Cloud Marketplace oder in selbstverwalteten Umgebungen.

Dataflow

 

Erste Schritte

Am besten lässt sich die GCS-Ingestionsfunktion anhand eines Beispiels erklären. Im folgenden Beispiel analysieren wir Erdbebendaten, die vom United States Geological Survey (USGS) bereitgestellt werden. Der USGS unterhält einen öffentlich zugänglichen Satz von Daten, der Echtzeitinformationen über Erdbeben sowie statistische Daten zur seismischen Aktivität enthält. Wir verwenden die in Form einer CSV-Datei bereitgestellten USGS-Daten zu Erdbeben ab einer Stärke von 2,5 aus dem letzten Monat. Im Folgenden werden nur die ersten fünf Zeilen präsentiert, damit Sie eine Vorstellung davon erhalten, wie diese Daten aussehen:

Datendatei

 

Wir wählen in der Google Cloud Console auf der Seite „Dataflow“ die Vorlage GCS to Elasticsearch aus. Die Vorlage erstellt das Schema für das JSON-Dokument und nutzt dabei eine der folgenden Optionen:

  1. Javascript UDF (sofern bereitgestellt)
  2. JSON-Schema (sofern bereitgestellt)
  3. CSV-Kopfzeilen* (Standardeinstellung)

Wenn eine UDF oder ein JSON-Schema bereitgestellt wird, wird dieser Option der Vorrang vor den CSV-Kopfzeilen gegeben.

Cloud-Staging

 

In das erste Feld im Formular geben wir die Parameter für den Speicherort der Dateien in GCS ein. Wo Sie in der Elastic Cloud-Benutzeroberfläche die Cloud-ID finden, zeigt die Abbildung unten. Der API-Schlüssel kann mithilfe der „API-Schlüssel erstellen“-API erstellt werden.
API-Schlüssel

 

We're hiring

Work for a global, distributed team where finding someone like you is just a Zoom meeting away. Flexible work with impact? Development opportunities from the start?