OCI StreamingとKafka Connect to Splunkを使用したOCIログのストリーミング (2023/11/27)

OCI StreamingとKafka Connect to Splunkを使用したOCIログのストリーミング (2023/11/27)

https://blogs.oracle.com/cloud-infrastructure/post/stream-oci-logs-kafka-connect-splunk

投稿者: Anil Nahta | Principal Solution Architect

Nitin Soni | Principal Solution Architect


多くのお客様が求めているソリューションの1つは、実用的なインサイトを得るために、Oracle Cloud Infrastructure (OCI) Loggingデータをサードパーティのツールに移行する方法です。様々な運用アクティビティにサード・パーティ・ツールを配置できます。これらのツールと互換性があり、再設計、トレーニング、またはプロセスの変更に関する微調整を最小限に抑えながら、OCIを迅速に導入できるようにしたいと考えています。OCIでは、どこにいてもお会いしたいと考えています。


このブログでは、OCI StreamingKafka Connectを使用した一般的な可観測性とセキュリティ・プラットフォームであるSplunkとOCIの統合について説明します。



このソリューションの利点


Oracle Streaming、Kafka ConnectおよびSplunkを使用すると、次の利点があります。


  • スケーラビリティ: 全体的なアーキテクチャは高度にスケーラブルで、迅速に拡張できるデータ量の増加に基づいています。
  • 実用的なロギング・インサイト: 問題と傾向に関するほぼリアルタイムのロギング・インサイトを取得できるため、迅速な意思決定に役立ちます。
  • 高度に構成可能: 高度に構成可能であるため、組織のニーズに合わせてこのパイプラインを調整できます。
  • コーディング不要: このソリューションでは、コードを変更する必要はありません。



前提条件


このソリューションには、次の依存関係が必要です。



アーキテクチャ


OCI Streamingには、接続ハーネスを使用したKafka Connectのサポートが組み込まれています。Kafka Connectフレームワークを使用すると、様々なシステムからKafkaトピック、またはその逆にデータを移動できます。Kafka Connectは、シンク・コネクタとソース・コネクタを使用して、Kafkaトピックからデータを移動したり、Kafkaトピックにデータを送信します。


Splunk Connect for Kafkaプラグインを使用して、Oracle StreamingからSplunkにデータを移動します。このシンク・コネクタを使用すると、Kafkaトピック(この場合はOracle Streaming)に接続し、データをSplunkのhttpイベント・コレクタにストリーミングできます。


このアーキテクチャでは、OCI Service Connector Hubを使用して、ロギング・データをOCI LoggingサービスからOCI Streamingサービスに移動します。




OCI Service Connector Hubの設定


Service Connector Hubを使用すると、LoggingがソースでOracle StreamingがターゲットであるStreamingにロギング・データを移動できます。詳細は、「ロギング・ソースを使用したコネクタの作成」を参照してください。



Kafka Connect構成の作成


Kafka Connect構成を作成するには、Kafka Connect構成の管理を参照してください。


作成後、構成、ステータスおよびストレージのトピックの名前を使用します。Kafka用のSplunk接続の構成中にそれらを使用するため、これらを保存します。



Kafka用のSplunk Connectの設定


この開発者向けガイドに従って、Splunk Connect for Kafkaをインストールします。詳細は、「Kafka用のSplunk Connectのインストールおよび管理」を参照してください。OCI Streamingを使用するには、次のプロパティで更新します:


#OCI Settings for OCI Stream, for this example we are using phoneix region
bootstrap.servers=cell-1.streaming.us-phoenix-1.oci.oraclecloud.com:9092
group.id=kafka-connect-splunk-hec-sink
config.storage.topic=<connect_configuration_ocid>-config
offset.storage.topic=<connect_configuration_ocid>-offset
status.storage.topic=<connect_configuration_ocid>-status

security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="<tenancy>/<user>/<stream_pool_ocid>" password="<auth_code>";
producer.buffer.memory=4096
producer.batch.size=2048
producer.sasl.mechanism=PLAIN
producer.security.protocol=SASL_SSL
producer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="<tenancy>/<user>/<stream_pool_ocid>" password="<auth_code>";

consumer.sasl.mechanism=PLAIN
consumer.security.protocol=SASL_SSL
consumer.sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="<tenancy>/<user>/<stream_pool_ocid>" password="<auth_code>";
access.control.allow.origin=*
access.control.allow.methods=GET,OPTIONS,HEAD,POST,PUT,DELETE


次に、コマンド.$KAFKA_HOME/bin/connect-distributed.sh $KAFKA_HOME/config/connect-distributed.propertiesを実行して、Kafka Connectを起動し、REST APIを使用してシンクSplunkコネクタを作成できます。トピック名はOCIストリーム名です。


curl localhost:8083/connectors -X POST -H "Content-Type: application/json" -d '{
    "name": "kafka-connect-splunk",
    "config": {
      "connector.class": "com.splunk.kafka.connect.SplunkSinkConnector",
      "tasks.max": "3",
      "splunk.indexes": "<SPLUNK_INDEXES>",
      "topics":"<YOUR_TOPIC>",
      "splunk.hec.uri": "<SPLUNK_HEC_URI:SPLUNK_HEC_PORT>",
      "splunk.hec.token": "<YOUR_TOKEN>"
    }
  }


コネクタの作成後、コネクタの作成時に構成した索引(コネクタ構成でsplunk.indexes)を検索することで、Splunkのログ・データを確認できます。このデータはOCIログと一致します。次のスナップショットを確認します。




まとめ


Oracle Streaming、Kafka ConnectおよびSplunkを使用したログ・データ・パイプラインの設定は、ほぼリアルタイムのロギング・インサイトのための、スケーラブルで構成可能な信頼性の高いソリューションです。Kafka Connectエコシステムには、データ・パイプラインの構築に使用できる多くのコネクタがあります。この機能を有効にするために、Oracle Cloud Infrastructure Streamingは、Kafka Connectランタイムを実行するプラットフォームを提供します。


解決策を自分で試してみてください!Oracle Cloud Free Tierにサインアップするか、アカウントにサインインします。


コメント

このブログの人気の投稿

Oracle RACによるメンテナンスのためのドレインとアプリケーション・コンティニュイティの仕組み (2023/11/01)

Oracle Cloud Infrastructure Secure Desktopsを発表: デスクトップ仮想化のためのOracleのクラウドネイティブ・サービス (2023/06/28)

Oracle Cloudのデータベースをオブジェクト・ストレージにバックアップする3つの方法 (2021/12/13)