Splunk Source Connector for Confluent Platform¶
Splunk Source Connector を使用すると、Splunk を Apache Kafka® と統合できます。このコネクターは、通常は Splunk HTTP イベントコレクタ(HEC) にデータを送信するアプリケーションからデータを受信します。
コネクターでは、X-Forwarded-For をサポートしており、これをロードバランサーの背後で使用できます。
注釈
コネクターでは、Splunk ユニバーサルフォワーダー(UF)または Splunk ヘビーフォワーダー(HF)からのデータ受信はサポートしていません。UF をサポートしているコネクターが必要な場合は、Splunk S2S Source Connector を、HF をサポートしているコネクターが必要な場合は Syslog Source Connector を参照してください。
重要
このコネクターは、ネットワークポートをリッスンします。複数のコネクタータスクを実行するか、分散モードで実行するときに、別のタスクが既にポートを開いている場合は、望ましくない影響を引き起こす可能性があります。このコネクターを スタンドアロンモード で実行することを推奨します。
このコネクターの使用方法¶
Splunk Source Connector の主な目的は、Splunk HTTP イベントコレクタ(HEC)を「置き換える」ことです。これにより、デバイスおよびクライアントアプリケーションからのイベントをキャプチャし、これらのイベントを直ちに Kafka に取り込み、通常のストリーム処理やリアルタイムのストリーム処理を行うことができます。
以下は、Splunk HTTP イベントコレクタがデバイスおよびクライアントアプリケーションからイベントをキャプチャする従来の方法を示しています。イベントの照会は可能ですが、リアルタイムのストリーム処理には対応していません。

HTTP イベントコレクタ¶
以下には、Connect スタンドアロンモード で実行されている 3 つの Splunk Source Connector が示されています。デバイスおよびクライアントアプリケーションは、Splunk HEC のようなエンドポイントにイベントを送信します。しかし、ここでは、イベントをさらに処理し、リアルタイムで消費できるよう、イベントを Kafka に直接書き込むことができる Splunk Source Connector に Splunk HEC が置き換えられています。

複数の Splunk Source スタンドアロンノード¶
スタンドアロンモード¶
本稼働環境では、Splunk Source Connector を Connect スタンドアロンノードで使用することをお勧めします。
Splunk Source Connector は、構成で指定するネットワークポートをリッスンするタスクを常に 1 つ実行します。ロードバランサーは、着信イベントデータを送信するホストとポートを知る必要があり、スタンドアロン は、コネクターのタスクがどこで実行されているかを確実に把握できる唯一の Connect のモードです。
注釈
追加の Splunk Source Connector を同じワーカー内で実行することは可能ですが、異なるポートを使用する必要があります。
別々のマシン上で複数のスタンドアロンワーカーノードを実行することができ、各スタンドアロンワーカーは同じ構成で 1 つの Splunk Source Connector を実行します(上の図の例を参照)。ワーカーがクラスターを形成することはありませんが、ロードバランサーと組み合わせることで、クラスターのような動作を実現できます。こうした機能が可能なのは、Splunk Source Connector はポートに送られるものを生成するだけで、ソースのオフセットは生成しないためです。また、いずれかのスタンドアロンノードで障害が発生しても、コネクターを再起動するだけで済みます。
分散モード¶
本稼働環境で、Splunk Source Connector を Connect 分散クラスターで使用することはお勧めしません。
Splunk Source Connector は、複数のノードを持つ Connect 分散クラスターでは動作しません。クラスターは、特定のネットワークポートをリッスンする 1 つのタスクを Connect ワーカーのいずれかに割り当てることができ、任意のタイミングで別のワーカーに再割り当てする可能性があるからです。そうなると、タスクがどのワーカー(およびホスト)にデプロイされているかわからなくなります。このコネクターを分散 Connect クラスターで使用して、コネクターのタスク数をクラスター内のワーカー数と同じになるように構成することもできません。分散 Connect クラスターは、これらのタスクを任意のワーカーに割り当てたり、単一のワーカーに複数のタスクを割り当てたりすることができます。1 つのタスクでは構成されたポートへのバインドに成功しますが、同じワーカー上の他のタスクは失敗します。
注釈
このコネクターは、開発やテストのために、単一ノードの Connect 分散クラスターで使用できます。
機能¶
Splunk Source Connector には、以下の機能があります。
少なくとも 1 回のデリバリー¶
このコネクターによって、レコードが Kafka のトピックに少なくとも 1 回は配信されることが保証されます。コネクターを再起動した場合、Kafka のトピックに重複レコードが存在している可能性があります。
1 つのタスクをサポート¶
Splunk Source Connector は、1 つのタスクのみの実行をサポートしています。
前提条件¶
Splunk Source Connector を実行するには、以下が必要です。
- Kafka ブローカー : Confluent Platform 3.3.0 以上
- Connect: Confluent Platform 4.1.0 以上
- Java 1.8
Splunk Source Connector のインストール¶
このコネクターは、Confluent Hub クライアントのインストール手順 に従ってインストールするか、手作業で ZIP ファイルをダウンロードしてインストールします。
前提条件¶
注釈
このコネクターは、Connect が実行されるすべてのマシンにインストールする必要があります。
Confluent Hub クライアント のインストール。
注釈
これは、Confluent Enterprise とともにデフォルトでインストールされます。
コネクターの最新(
latest
)バージョンのインストール。コネクターの
latest
バージョンをインストールするには、Confluent Platform のインストールディレクトリに移動し、次のコマンドを実行します。confluent-hub install confluentinc/kafka-connect-splunk-source:latest
特定のバージョンをインストールするには、次の例に示すように
latest
をバージョン番号に置き換えます。confluent-hub install confluentinc/kafka-connect-splunk-source:1.0.0-preview
コネクターの手動インストール¶
コネクターの ZIP ファイル をダウンロードして展開し、コネクターの手動インストール 手順 に従ってください。
ライセンス¶
このコネクターは、30 日間の試用期間の間は、ライセンスキーなしで使用できます。
30 日間経過後は、 Confluent エンタープライズライセンス を取得することで、このコネクターを利用できます。Confluent では、契約者に Confluent エンタープライズライセンス キーを発行します。併せて、Confluent Platform とコネクターに関する エンタープライズレベルのサポート を提供します。既にご契約されている場合は、詳細について Confluent サポート(support@confluent.io)にお問い合わせください。
ライセンスのプロパティについては、「 Confluent Platform ライセンス」を参照してください。ライセンストピックの詳細については、「 ライセンストピックの構成」を参照してください。
構成プロパティ¶
このコネクターの構成プロパティの網羅的なリストについては、「Splunk Source Connector 構成プロパティ」を参照してください。
注釈
Kafka Connect を Confluent Cloud に接続する方法の例については、「分散クラスター」を参照してください。
クイックスタート¶
このクイックスタートでは、Splunk Source Connector を使用して、アプリケーションデータを受信し、それを Kafka に取り込みます。
Confluent Hub クライアント を使用してコネクターをインストールします。
# run from your CP installation directory confluent-hub install confluentinc/kafka-connect-splunk-source:latest
Confluent Platform を起動します。
ちなみに
Confluent CLI 開発用コマンドのコマンド構文は、5.3.0 で変更されています。該当するコマンドは
confluent local
に移行されています。たとえば、confluent start
の構文は、confluent local services start
に変わりました。詳しくは、「confluent local」を参照してください。confluent local services start
splunk-source.properties
ファイルを以下の内容で作成します。name=splunk-source kafka.topic=splunk-source tasks.max=1 connector.class=io.confluent.connect.SplunkHttpSourceConnector splunk.collector.index.default=default-index splunk.port=8889 splunk.ssl.key.store.path=/path/to/your/keystore.jks splunk.ssl.key.store.password=<keystore password> confluent.topic.bootstrap.servers=localhost:9092 confluent.topic.replication.factor=1
Splunk Source Connector を読み込みます。
confluent local services connect connector load splunk-source --config splunk-source.properties
重要
Confluent CLI は、本稼働環境では使用しないでください。
コネクターが
RUNNING
状態であることを確認します。confluent local services connect connector status splunk-source
アプリケーションの送信データをコネクターにシミュレートします。
curl -k -X POST https://localhost:8889/services/collector/event -d '{"event":"from curl"}'
データが Kafka のトピックに取り込まれたことを検証します。
kafka-avro-console-consumer --bootstrap-server localhost:9092 --topic splunk-source --from-beginning
Confluent Platform をシャットダウンします。
confluent local destroy