aliyun-log-flume プラグインを使用して Flume を Log Service の LogHub に接続し、ログデータを書き込んだり消費したりすることができます。

Flume を LogHub に接続した後、Flume を介して Log Service を Hadoop Distributed File System (HDFS) や Kafka などの他のデータシステムに接続できます。 Flume は、HDFS、Kafka、Hive、HBase、Elasticsearch などのデータシステムのプラグインをサポートしています。 また、Flume を Flume コミュニティの一般的なデータソースに接続するためのプラグインもあります。 aliyun-log-flume プラグインは、LogHub と Flume を接続するための LogHub シンクプラグインと LogHub ソースプラグインを提供します。
  • シンク:Flume を使用して他のデータソースからデータを読み取り、LogHub にデータを書き込みます。
  • ソース:Flume を使用して LogHub データを消費し、他のシステムにデータを書き込みます。

LogHub シンク

LogHub シンクを使用して、他のデータソースから Flume を介して LogHub にデータを送信できます。 次の解析形式がサポートされています。
  • SIMPLE:Flume イベントをフィールドとして LogHub に書き込みます。
  • DELIMITED:Flume イベントをデリミタで区切り、設定された列名に基づいてイベントをフィールドに解析し、LogHub に書き込みます。
次の表に、設定可能なパラメーターを示します。
パラメーター 説明 必須
type このパラメーターには、com.aliyun.loghub.flume.sink.LoghubSink を設定します。 はい
endpoint Log Service のサービスエンドポイント。 はい
project プロジェクトの名前。 はい
logstore Logstore の名前。 はい
accessKeyId AccessKey ID。 はい
accessKey AccessKey Secret。 はい
batchSize LogHub に 1 回に書き込まれるデータエントリの数。 デフォルト値:1000。 いいえ
maxBufferSize キャッシュキューのサイズ。 デフォルト値:1000。 いいえ
serializer イベントのシリアル化形式。 有効な値:DELIMITED SIMPLE、カスタムシリアライザー。 カスタムシリアライザーを指定する場合、完全なクラス名を入力します。 デフォルト値: SIMPLE いいえ
columns 設定された列名。 serializer パラメーターに DELIMITED を設定した場合、このパラメーターを指定する必要があります。 複数の列をコンマ (,) で区切ります。実際のデータの列と同じ順序で列をソートするようにします。 いいえ
separatorChar デリミタ。単一の文字です。 serializer パラメーターに DELIMITED を設定した場合、このパラメーターを指定できます。 デフォルト値:コンマ (,)。 いいえ
quoteChar 引用文字。 serializer パラメーターに DELIMITED を設定した場合、このパラメーターを指定できます。 デフォルト値:二重引用符 (")。 いいえ
escapeChar エスケープ文字。 serializer パラメーターに DELIMITED を設定した場合、このパラメーターを指定できます。 デフォルト値:二重引用符 (")。 いいえ
useRecordTime timestamp フィールドの値をログ時間として使用するかどうかを指定します。 値 false は、現在時刻が使用されることを示します。 デフォルト値:false。 いいえ

LogHub ソース

LogHub ソースを使用して、LogHub から Flume を介して他のデータシステムにデータを送信できます。 次の出力形式がサポートされています。
  • DELIMITED:データをデリミタログとして Flume に書き込みます。
  • JSON:データを JSON ログとして Flume に書き込みます。
次の表に、設定可能なパラメーターを示します。
パラメーター 説明 必須
type このパラメーターには、com.aliyun.loghub.flume.source.LoghubSource を設定します。 はい
endpoint Log Service のサービスエンドポイント。 はい
project プロジェクトの名前。 はい
logstore Logstore の名前。 はい
accessKeyId AccessKey ID。 はい
accessKey AccessKey Secret。 はい
heartbeatIntervalMs Flume クライアントと LogHub 間のハートビート間隔 (ミリ秒単位)。 デフォルト値:30000。 いいえ
fetchIntervalMs LogHub からデータを取り出す間隔 (ミリ秒単位)。 デフォルト値:100。 いいえ
fetchInOrder ログデータを順番に消費するかどうかを指定します。 デフォルト値:false。 いいえ
batchSize 1 回に読み取られるデータエントリの数。 デフォルト値:100。 いいえ
consumerGroup 読み取るコンシューマーグループの名前 (ランダムに生成されます)。 いいえ
initialPosition データ読み取りの開始点。 有効な値:begin、end、timestamp。 デフォルト値:begin。
サーバーにチェックポイントが存在する場合、チェックポイントが使用されます。
いいえ
timestamp Unix タイムスタンプ。 initialPosition パラメーターに timestamp を設定した場合、このパラメーターを指定する必要があります。 いいえ
deserializer イベントの逆シリアル化形式。 有効な値:DELIMITED JSON、カスタムデシリアライザー。 カスタムデシリアライザーを指定する場合、完全なクラス名を入力します。 デフォルト値:DELIMITED はい
columns 設定された列名。 deserializer パラメーターに DELIMITED を設定した場合、このパラメーターを指定する必要があります。 複数の列をコンマ (,) で区切ります。実際のデータの列と同じ順序で列をソートするようにします。 いいえ
separatorChar 区切り文字。単一の文字です。 deserializer パラメーターに DELIMITED を設定した場合、このパラメーターを指定できます。 デフォルト値:コンマ (,)。 いいえ
quoteChar 引用文字。 deserializer パラメーターに DELIMITED を設定した場合、このパラメーターを指定できます。 デフォルト値:二重引用符 (")。 いいえ
escapeChar エスケープ文字。 deserializer パラメーターに DELIMITED を設定した場合、このパラメーターを指定できます。 デフォルト値:二重引用符 (")。 いいえ
appendTimestamp 各行の末尾にフィールドとしてタイムスタンプを自動的に追加するかどうかを指定します。 deserializer パラメーターに DELIMITED を設定した場合、このパラメーターを指定できます。 デフォルト値:false。 いいえ
sourceAsField ログソースをフィールド名 __source__ のフィールドとして追加するかどうかを指定します。 deserializer パラメーターに JSON を設定した場合、このパラメーターを指定できます。 デフォルト値:false。 いいえ
tagAsField ログタグをフィールド名 __tag__: {tag names} のフィールドとして追加するかどうかを指定します。 deserializer パラメーターに JSON を設定した場合、このパラメーターを指定できます。 デフォルト値:false。 いいえ
timeAsField ログ時間をフィールド名 __time__ のフィールドとして追加するかどうかを指定します。 deserializer パラメーターに JSON を設定した場合、このパラメーターを指定できます。 デフォルト値:false。 いいえ
useRecordTime ログ時間を使用するかどうかを指定します。 値 false は、現在の時刻が使用されることを示します。 デフォルト値:false。 いいえ