Syslog Source Connector for Confluent Platform¶
Kafka Connect Syslog Source Connector を使用して、ネットワークデバイスからデータを消費できます。サポートされているフォーマットは、RFC 3164、 RFC 5424、および Common Event Format(CEF)です。
重要
このコネクターは、ネットワークポートをリッスンします。複数のタスクを実行するか、分散モードで実行するときに、別のタスクが既にポートを開いている場合は、なんらかの望ましくない影響を引き起こす可能性があります。このコネクターを スタンドアロンワーカー で実行することを推奨します。
機能¶
Syslog Source Connector には、以下の機能があります。
少なくとも 1 回のデリバリー¶
このコネクターによって、レコードが Kafka のトピックに少なくとも 1 回は配信されることが保証されます。コネクターを再起動した場合、Kafka のトピックに重複レコードが存在している可能性があります。
1 つのタスクをサポート¶
Syslog Source Connector は、1 つのタスクの実行をサポートしています。
Syslog Source Connector のインストール¶
このコネクターは、Confluent Hub クライアントのインストール手順 に従うか、手作業で ZIP ファイルをダウンロードしてインストールします。
前提条件¶
注釈
このコネクターは、Connect が実行されるすべてのマシンにインストールする必要があります。
Confluent Hub クライアント のインストール。
注釈
これは、Confluent Enterprise とともにデフォルトでインストールされます。
コネクターの最新(
latest
)バージョンのインストール。コネクターの
latest
バージョンをインストールするには、Confluent Platform のインストールディレクトリに移動し、次のコマンドを実行します。confluent-hub install confluentinc/kafka-connect-syslog:latest
特定のバージョンをインストールするには、次の例に示すように
latest
をバージョン番号に置き換えます。confluent-hub install confluentinc/kafka-connect-syslog:1..3.1
コネクターの手動インストール¶
コネクターの ZIP ファイル をダウンロードして展開し、コネクターの手動インストール 手順 に従ってください。
ライセンス¶
このコネクターは、30 日間の試用期間の間は、ライセンスキーなしで使用できます。
30 日間経過後は、コネクターのサブスクリプションを購入する必要があります。これには、サブスクライバー用の Confluent エンタープライズライセンス キーと、Confluent Platform およびコネクターに対する `エンタープライズレベルのサポート<https://www.confluent.io/subscription/>`__ が含まれています。サブスクリプションをご購入済みの場合、詳細については Confluent サポート(support@confluent.io)にお問い合わせください。
ライセンスのプロパティについては、「 Confluent Platform ライセンス」を参照してください。ライセンストピックの詳細については、「 ライセンストピックの構成」を参照してください。
構成プロパティ¶
このコネクターの構成プロパティの網羅的なリストについては、「Syslog Source Connector 構成プロパティ」を参照してください。
注釈
Kafka Connect を Confluent Cloud に接続する方法の例については、「分散クラスター」を参照してください。
クイックスタート¶
- 前提条件
- Confluent Platform
- Confluent CLI (個別のインストールが必要)
コネクターをインストールします。
confluent-hub install confluentinc/kafka-connect-syslog:latest
Confluent CLI で confluent local コマンドを使用して Confluent Platform を起動します。
ちなみに
Confluent CLI 開発用コマンドのコマンド構文が、5.3.0 で変更されています。該当するコマンドは
confluent local
に移行されています。たとえば、confluent start
の構文は、confluent local services start
に変わりました。詳しくは、「confluent local」を参照してください。confluent local services connect start
構成ファイルを以下の内容で作成します。
name=syslog-tcp tasks.max=1 connector.class=io.confluent.connect.syslog.SyslogSourceConnector syslog.port=5454 syslog.listener=TCP confluent.license= confluent.topic.bootstrap.servers=localhost:9092 confluent.topic.replication.factor=1
Syslog コネクターを読み込みます。
注意
トピック名とフラグの間には、ダブルダッシュ(
--
)を含める必要があります。詳細については、こちらの投稿 を参照してください。confluent local services connect connector load syslog-tcp --config path/to/config.properties
重要
confluent local コマンドは本稼働環境では使用しないでください。Syslog コネクターは、
bin/connect-standalone
などを付けて、常にスタンドアロンモードで実行してください。netcat
経由で送信されたサンプルの syslog フォーマットのメッセージでテストします。echo "<34>1 2003-10-11T22:14:15.003Z mymachine.example.com su - ID47 - Your refrigerator is running" | nc -v -w 0 localhost 5454
メッセージが Apache Kafka® のログに記録されていることを確認します。
kafka-avro-console-consumer \ --bootstrap-server localhost:9092 \ --property schema.registry.url=http://localhost:8081 \ --topic syslog --from-beginning | jq '.'
出力スキーマ¶
Syslog Source Connector は、Syslog メッセージを文字列として受信し、構成された Kafka のトピックへの出力として、構造化されたメッセージを生成します。
重要
UDP モードで運用している場合、Syslog Source Connector は、2048 文字でメッセージを切り捨てます。
レコードキースキーマ¶
host
メッセージ本文で指定された Syslog メッセージのホスト。ホストが指定されていない場合は、メッセージのリモートアドレスが使用されます。
- 型: string
レコード値スキーマ¶
一部のフィールドは一部のメッセージタイプにのみ関連しており、それ以外のメッセージで null になります。
name
人が読んで理解できる、イベントの説明を表す文字列。イベント名には、他のフィールドで具体的に言及されている情報を含めないようにします。CEF で使用されます。
- 型: string
type
受信するメッセージのタイプ("RFC5424"、"RFC3164"、"CEF"、"UNKNOWN" のいずれか)。
- 型: string
message
完全なメッセージから抽出される自由形式のメッセージ。Syslog 仕様の "MSG" フィールド。
- 型: string
host
Syslog メッセージから抽出されたホスト。
- 型: string
version
Syslog 仕様の "VERSION" フィールド。
- 型: int
level
Syslog 仕様の "PRIORITY" フィールドで決定されるレベル。
- 型: int
tag
Syslog 仕様の "TAG" フィールド。
- 型: string
facility
Syslog 仕様の "PRIORITY" フィールドで決定される "FACILITY"。
- 型: int
severity
CEF メッセージの重大度。
- 型: string
appName
Syslog 仕様の "APP-NAME" フィールド。
- 型: string
remoteAddress
コネクターで受信されるリクエストのリモートアドレス。
- 型: string
rawMessage
コネクターで受信される完全で未修正かつ未解析のメッセージ。
- 型: string
processId
Syslog 仕様の "PROCID" フィールド。
- 型: string
messageId
Syslog 仕様の "MSGID" フィールド。
- 型: string
deviceVendor
製品のグループ化に使用されるベンダー識別子。
- 型: string
deviceProduct
メッセージのログ記録に使用される製品識別子。
- 型: string
deviceVersion
ログ記録するデバイス製品のバージョン。
- 型: string
deviceEventClassId
デバイスイベントクラス ID。これはイベントタイプごとに一意の識別子です。デバイスイベントクラス ID では、レポートされるイベントのタイプを特定できます。侵入検出システム(IDS)の世界では、特定のアクティビティを検出する署名またはルールごとに、一意のデバイスイベントクラス ID が割り当てられています。これは、他のタイプのデバイスの要件でもあり、相関エンジンでイベントを処理するのに役立ちます。署名 ID とも呼ばれます。
- 型: string
extension
CEF メッセージフォーマットの "拡張" マッピング。
- 型: map<string, string>
structuredData
Syslog 仕様の "STRUCTURED-DATA" フィールド。
型 : StructuredDatum 構造体の配列:
id
: StringStructuredDataElements
: map<string, string>