Hinweis:

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

Voraussetzungen

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:

Lösungsarchitektur

Aufgabe 1: Oracle Cloud Infrastructure einrichten

  1. Erstellen Sie einen Streampool wie einen Kafka-Server.

    Fenster "Streampool erstellen"

  2. 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.

    Fenster "Stream erstellen"

  3. 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:

    Fenster "Service-Connector erstellen"

    • 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:

      Fenster "Service-Connector-Quelle"

    • Geben Sie für die Zielkonfiguration den Streamnamen des zuvor erstellten Streams an.

      Fenster "Service-Connector-Ziel"

Aufgabe 2: Logstash-Server einrichten

  1. 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.

  2. 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.

  3. Nachdem der Download abgeschlossen ist, dekomprimieren Sie das Package, und navigieren Sie zum Ordner "Logstash".

  4. 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>";
    };
    
  5. Kopieren Sie die Konfiguration für die Datei jaas.conf aus dem zuvor erstellten Streampool aus SASL-Verbindungszeichenfolgen in Kafka-Verbindungseinstellungen.

  6. 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
    

Danksagungen

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.