注意:

使用 OCI Streaming 作為 Kafka 伺服器,從 OCI 日誌記錄收集日誌

簡介

Oracle Cloud Infrastructure (OCI) Streaming 讓 Apache Kafka 的使用者卸載代管您專屬 Zookeeper 和 Kafka 叢集所需的設定、維護及基礎架構管理。串流處理與大多數 Kafka API 相容,讓您無須重新編寫程式碼,即可使用為 Kafka 撰寫的應用程式來傳送訊息,以及接收串流服務中的訊息。

本教學課程將引導您瞭解如何使用 OCI Streaming 服務作為 Kafka 伺服器。此服務將會收到來自 OCI 日誌記錄服務的日誌發布要求,以及來自 OCI 之外的 Logstash 伺服器的訂閱要求。

目標

必要條件

架構

本教學課程中將使用下列 OCI 服務:OCI 日誌記錄、OCI 服務連線器中心和 OCI 串流處理,如下列架構所示:

解決方案架構

任務 1:設定 Oracle Cloud Infrastructure

  1. 建立像是 Kafka 伺服器的串流集區。

    建立串流集區視窗

  2. 建立串流。這將被視為 Kafka 主題。您需要串流的名稱,才能指定要將 OCI Streaming 發布或訂閱為 Kafka 伺服器的主題。

    建立資料流視窗

  3. 建立服務連線器。建立串流之後,您可以建立服務連線器。您將新增來源記錄日誌和目標串流,如下列影像所示:

    建立服務連線器視窗

    • 針對來源組態,請將日誌群組和日誌值留白,讓連線器採用租用戶的所有日誌,如下列影像所示:

      服務連線器來源視窗

    • 請為目標組態指定先前建立的串流名稱。

      服務連線器目標視窗

作業 2:設定 Logstash 伺服器

  1. 根據您的偏好,建立 VM 執行處理並設定成可存取 ssh,或使用具有網際網路存取權的本機工作站。

  2. 下載要讓 Logstash 伺服器在執行處理中的日誌資源回收。本教學課程使用了 v8.6.1

  3. 下載完成後,請解壓縮套件並移至 Logstash 資料夾。

  4. 建立兩個檔案:input.confjaas.conf ,如下列程式碼片段所示。

    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. 從先前建立的串流集區,從 Kafka 連線設定值中的 SASL 連線字串複製 jaas.conf 檔案的組態。

  6. 執行下列命令以啟動 Kafka 從屬端的 Logstash,此從屬端將會使用來自 OCI Streaming 的日誌:

    ./bin/logstash -f input.conf
    

確認

其他學習資源

探索 docs.oracle.com/learn 的其他實驗室,或者存取更多 Oracle Learning YouTube 頻道上的免費學習內容。此外,請瀏覽 education.oracle.com/learning-explorer 以成為 Oracle Learning 檔案總管。

如需產品文件,請造訪 Oracle Help Center