Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zum Anmelden für einen kostenlosen Account finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Wenn Sie Ihre Übung abgeschlossen haben, ersetzen Sie diese Werte durch die Werte, die für Ihre Cloud-Umgebung spezifisch sind.
Logs aus OCI Logging in Logstash mit OCI Streaming als Kafka-Server erfassen
Einführung
Mit Oracle Cloud Infrastructure (OCI) Streaming können Benutzer von Apache Kafka das Setup-, Wartungs- und Infrastrukturmanagement auslagern, das für Ihr eigenes Zookeeper- und Kafka-Cluster erforderlich ist. Streaming ist mit den meisten Kafka-APIs kompatibel. So können Sie Anwendungen verwenden, die für Kafka geschrieben wurden, um Nachrichten an den Streaming-Service zu senden und von diesem zu empfangen, ohne Ihren Code neu schreiben zu müssen.
In diesem Tutorial erfahren Sie, wie Sie den OCI Streaming-Service als Kafka-Server verwenden. Dieser Service empfängt Veröffentlichungsanforderungen mit Logs vom OCI Logging-Service und abonniert Anforderungen von einem Logstash-Server außerhalb von OCI.
Ziele
- OCI Service Connector Hub erstellen
- OCI Streaming als Kafka-Server erstellen und verwenden
- Logs vom OCI Logging-Service abrufen und mit OCI Service Connector Hub und OCI Streaming Kafka in Logstash umleiten
Voraussetzungen
-
Ein Oracle Cloud-Account. Wenn Sie keinen Account haben, können Sie sich für einen Oracle Cloud Free Tier-Account registrieren.
-
Für jeden Service in OCI müssen Sie einige Policys angeben, damit Services miteinander kommunizieren können. Weitere Informationen finden Sie unter den folgenden Links.
Architektur
In diesem Tutorial verwenden wir die folgenden OCI-Services: OCI Logging, OCI Service Connector Hub und OCI Streaming, wie in der folgenden Architektur dargestellt:
Aufgabe 1: Oracle Cloud Infrastructure einrichten
-
Erstellen Sie einen Streampool wie einen Kafka-Server.
-
Erstellen Sie einen Stream. Dies gilt als Kafka-Thema. Sie benötigen den Streamnamen, um das Thema anzugeben, in dem OCI Streaming als Kafka-Server veröffentlicht oder abonniert werden soll.
-
Service-Connector erstellen. Nachdem Sie den Stream erstellt haben, können Sie den Service-Connector erstellen. Sie fügen Quell-Logging und Zielstreaming hinzu, wie im folgenden Bild dargestellt:
-
Lassen Sie für die Quellkonfiguration die Loggruppe und die Logwerte leer, sodass der Connector alle Logs aus dem Mandanten akzeptiert, wie im folgenden Image dargestellt:
-
Geben Sie für die Zielkonfiguration den Streamnamen des zuvor erstellten Streams an.
-
Aufgabe 2: Logstash-Server einrichten
-
Erstellen Sie je nach Ihren Voreinstellungen eine VM-Instanz, und konfigurieren Sie sie so, dass sie
ssh
-Zugriff darauf hat, oder verwenden Sie Ihre lokale Station mit Internetzugriff. -
Laden Sie Logstash in der Instanz herunter, die Sie über den Logstash-Server verfügen möchten. In diesem Tutorial haben wir
v8.6.1
verwendet. -
Nachdem der Download abgeschlossen ist, dekomprimieren Sie das Package, und navigieren Sie zum Ordner "Logstash".
-
Erstellen Sie zwei Dateien: input.conf und jaas.conf, wie in den folgenden Code-Snippets dargestellt.
input.conf
input { kafka { bootstrap_servers => "cell-1.streaming.<oci_region>.oci.oraclecloud.com:9092" topics => ["kafka_topic"] security_protocol => "SASL_SSL" sasl_mechanism => "PLAIN" jaas_path => "./jaas.conf" auto_offset_reset => "earliest" consumer_threads => 1 } } output { stdout { codec => rubydebug } }
jaas.conf
KafkaClient { org.apache.kafka.common.security.plain.PlainLoginModule required username="<username_from_kafka_connection_settings>" password="<auth_token>"; };
-
Kopieren Sie die Konfiguration für die Datei jaas.conf aus dem zuvor erstellten Streampool aus SASL-Verbindungszeichenfolgen in Kafka-Verbindungseinstellungen.
-
Führen Sie den folgenden Befehl aus, um Logstash mit dem Kafka-Client zu starten, der Logs aus OCI Streaming konsumiert:
./bin/logstash -f input.conf
Verwandte Links
Danksagungen
- Autor - Cristian Vlad (Principal Cloud Architect)
- Mitwirkender - Gabriel Feodorov (Cloud Engineer)
Weitere Lernressourcen
Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem die Website education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.
Produktdokumentation finden Sie im Oracle Help Center.
Collect logs from OCI Logging into Logstash using OCI Streaming as a Kafka server
F79037-01
March 2023
Copyright © 2023, Oracle and/or its affiliates.