ノート:

OCIストリーミングをKafkaサーバーとして使用して、OCIロギングからLogstashへのログを収集します

イントロダクション

Oracle Cloud Infrastructure (OCI) Streamingを使用すると、Apache Kafkaのユーザーは、独自のZookeeperおよびKafkaクラスタに必要な設定、メンテナンスおよびインフラストラクチャ管理をオフロードできます。StreamingはほとんどのKafka APIと互換性があるため、Kafka用に記述されたアプリケーションを使用して、コードをリライトすることなくストリーミング・サービスとの間でメッセージを送信したり受信したりできます。

このチュートリアルでは、OCIストリーミングサービスをKafkaサーバーとして使用する方法を学習します。このサービスは、OCIロギング・サービスからログを含む公開リクエストを受信し、OCI外部のLogstashサーバーからリクエストをサブスクライブします。

目的

前提条件

アーキテクチャ

このチュートリアルでは、次のアーキテクチャに示すように、OCIロギング、OCIサービス・コネクタ・ハブおよびOCIストリーミングのOCIサービスを使用します:

ソリューション・アーキテクチャ

タスク1: Oracle Cloud Infrastructureの設定

  1. Kafkaサーバーのようにストリーム・プールを作成します。

    「ストリーム・プールの作成」ウィンドウ

  2. ストリームを作成します。これはKafkaトピックとみなされます。OCIストリーミングをKafkaサーバーとして公開またはサブスクライブするトピックを指定するには、ストリームの名前が必要です。

    「Create Stream」ウィンドウ

  3. サービス・コネクタの作成ストリームを作成したら、サービス・コネクタを作成できます。次のイメージに示すように、ソース・ロギングおよびターゲット・ストリーミングを追加します。

    「サービス・コネクタの作成」ウィンドウ

    • ソース構成の場合は、ログ・グループおよびログ値を空白のままにして、次のイメージに示すように、コネクタはテナンシからすべてのログを取得します:

      サービス・コネクタ・ソース・ウィンドウ

    • ターゲット構成には、以前に作成したストリームのストリーム名を指定します。

      サービス・コネクタ・ターゲット・ウィンドウ

タスク2: Logstashサーバーの設定

  1. プリファレンスに基づいて、VMインスタンスを作成し、それをsshアクセス権を持つように構成するか、インターネット・アクセスを持つローカル・ステーションを使用します。

  2. Logstashサーバーを使用するインスタンスでLogstashをダウンロードします。このチュートリアルでは、v8.6.1を使用しました。

  3. ダウンロードが完了したら、パッケージを解凍してLogstashフォルダに移動します。

  4. 次のコード・スニペットに示すように、input.confおよびjaas.confの2つのファイルを作成します。

    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. 以前に作成したストリーム・プールから、jaas.confファイルの構成をKafka接続設定SASL接続文字列からコピーします。

  6. 次のコマンドを実行して、OCIストリーミングからログを使用するKafkaクライアントでLogstashを起動します:

    ./bin/logstash -f input.conf
    

謝辞

その他の学習リソース

docs.oracle.com/learnで他のラボをご覧いただくか、Oracle Learning YouTubeチャネルでより無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。