Engineering

Direktes Ingestieren von Daten aus Google Pub/Sub in Elastic mit Google Dataflow

Wir freuen uns, Sie heute über die neuesten Entwicklungen aus unserer langjährigen Partnerschaft mit Google Cloud informieren zu können. Entwickler, Site-Reliability-Engineers (SREs) und Security-Analysten können jetzt mit ein paar wenigen Klicks in der Google Cloud Console Daten aus Google Pub/Sub an den Elastic Stack senden. Elastic nutzt Google Dataflow-Vorlagen, um Nutzern das Streamen von Ereignis- und Logdaten aus Google Cloud-Diensten wie Google Cloud Audit, VPC Flow oder Firewall in den Elastic Stack so einfach wie möglich zu machen. Das ermöglicht es Kunden, ihre Daten-Pipeline-Architektur zu vereinfachen, den operativen Overhead zu eliminieren und das Troubleshooting zu beschleunigen.

Viele Entwickler, SREs und Security-Analysten, die zum Entwickeln von Anwendungen und zur Einrichtung ihrer Infrastruktur Google Cloud verwenden, nutzen auch Elastic Stack, um Probleme zu finden und zu beseitigen, ihre Systeme zu überwachen und sicherheitsrelevante Anomalien aufzuspüren. Google und Elastic haben zusammen eine nutzungsfreundliche und reibungslose Möglichkeit entwickelt, Log- und Ereignisdaten aus Anwendungen und Infrastruktur in Google Cloud-Diensten an Elastic zu senden. Das alles gelingt mit ein paar einfachen Klicks in der Google Cloud Console, ohne dass irgendwelche Datenshipper installiert werden müssen.   

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

Wer braucht schon Overhead?

Pub/Sub ist ein viel genutzter serverloser und asynchroner Messaging-Dienst für das Streamen von Daten aus Google Operations (ehemals Stackdriver) und mit Google Cloud-Diensten erstellten Anwendungen sowie für andere Anwendungsfälle, die mit Streaming-Daten-Integrations-Pipelines zu tun haben. Für das Ingestieren von Google Cloud Audit-, VPC Flow- oder Firewall-Logdaten in externe Analytics-Lösungen wie den Elastic Stack müssen diese Logdaten zunächst an Google Operations und dann an Pub/Sub gesendet werden.  Google Cloud-Nutzer stehen dann vor der Aufgabe zu entscheiden, mit welcher Methode die Logdaten aus Google Pub/Sub in externe Analytics-Lösungen ingestiert werden sollen.

Nutzer, die sowohl mit Google- als auch mit Elastic-Diensten arbeiten, installieren dazu gern Filebeat, Elastic Agent oder Fluentd auf einer Google Compute Engine-VM (Virtual Machine) und nutzen dann einen dieser Datenshipper, um Daten aus Pub/Sub an den Elastic Stack zu senden. Das Einrichten einer VM und das Installieren eines Datenshippers ist immer mit einem gewissen Prozess- und Verwaltungs-Overhead verbunden. Die Möglichkeit, diesen Schritt zu überspringen und Daten direkt aus Pub/Sub in Elastic zu ingestieren, ist für viele Nutzer von großem Vorteil, zumal, wenn sich das Ganze mit ein paar Klicks in der Google Cloud Console erledigen lässt. Wir haben das jetzt mit einem Dropdown-Menü in Google Dataflow möglich gemacht.

Einfacheres und schnelleres Ingestieren von Daten

Google Dataflow ist ein serverloser, asynchroner Messaging-Dienst auf der Basis von Apache Beam. Dataflow stellt eine Alternative zu Filebeat dar, wenn es darum geht, Logdaten direkt aus der Google Cloud Console zu senden. Google und Elastic haben zusammen an der Entwicklung einer Dataflow-Vorlage gearbeitet, mit der Log- und Ereignisdaten aus Pub/Sub ohne weiteren Konfigurationsaufwand direkt an Elastic gesendet werden können. Diese Vorlage ersetzt serverlos leichtgewichtige Datenverarbeitungsschritte wie die Formatumwandlung, die vorher von Filebeat übernommen wurden, ohne dass Nutzer, die zuvor die Elasticsearch-Ingestions-Pipeline genutzt haben, weitere Änderungen vornehmen müssen.          

Die Abbildung unten gibt einen Überblick über den Ablauf beim Ingestieren von Daten. 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.

blog-gcp-integration-pubsub-1.png

Erste Schritte

In diesem Abschnitt erläutern wir Schritt für Schritt, wie die Dataflow-Vorlage für die Analyse von GCP-Audit-Logdaten im Elastic Stack verwendet werden kann.

Audit-Logdaten enthalten Informationen, die bei der Beantwortung der Fragen nach dem Wo, Wie und Wann operativer Änderungen in Ihrem Google Cloud-Konto helfen. Mit unserer Pub/Sub-Vorlage können Sie Audit-Logdaten aus GCP an Elasticsearch senden und in Sekundenschnelle wertvolle Erkenntnisse gewinnen. 

Wir beginnen mit dem Installieren der Elastic-GCP-Integration direkt von der Kibana-Web-Benutzeroberfläche aus. Diese bietet vordefinierte Dashboards, Ingestions-Knoten-Konfigurationen und andere Assets, die uns dabei helfen, die ingestierten Audit-Logdaten maximal zu nutzen. 

Bevor wir uns an das Konfigurieren der Dataflow-Vorlage machen können, müssen wir in der Google Cloud Console ein Pub/Sub-Thema und ein entsprechendes Abo erstellen, um unsere Logdaten aus der Google Operations Suite senden zu können.

blog-gcp-integration-pubsub-2.png

Als Nächstes navigieren wir zur Google Cloud Console, um unseren Dataflow-Job zu konfigurieren. 

Jetzt klicken wir im Dataflow-Produkt auf „Job aus Vorlage erstellen“ und wählen im Dropdown-Menü „Dataflow-Vorlage“ die Vorlage „Pub/Sub to Elasticsearch“ aus.

blog-gcp-integration-pubsub-3.png

Wir geben die erforderlichen Parameter, einschließlich Cloud-ID und Base64-codiertem API-Schlüssel für Elasticsearch, ein. Da wir Audit-Logdaten streamen, ist als Log-Typ „audit“ einzugeben. 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.

blog-gcp-integration-pubsub-4.png

blog-gcp-integration-pubsub-5.png

Klicken Sie auf „Job ausführen“ und warten Sie, bis Dataflow mit dem Ausführen der Vorlage beginnt. Das kann ein paar Minuten dauern. Wie Sie sehen, müssen wir weder die Google Cloud Console verlassen noch uns um das Verwalten von Agents kümmern!

Jetzt gehen wir zu Kibana, wo wir uns ansehen können, wie unsere Logdaten geparst und im „[Logs GCP]“-Dashboard visualisiert werden.

blog-gcp-integration-pubsub-6.png

Fazit

Elastic erleichtert es Kunden immer mehr, selbst zu bestimmen, wo Jobs ausgeführt werden und was dabei genutzt wird. Diese optimierte Google Cloud-Integration ist das jüngste Beispiel dafür. Elastic Cloud macht den Elastic Stack noch wertvoller, denn Kunden können so schneller mehr erledigen – ideal, um das Potenzial unserer Plattform bestmöglich auszuschöpfen. Weitere Informationen zur Integration finden Sie in der Dokumentation von Google. Wenn Sie Elastic auf Google Cloud selbst erleben möchten, besuchen Sie den Google Cloud Marketplace oder elastic.co.