すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:Flumeを使用したログデータの消費

最終更新日:Sep 06, 2024

このトピックでは、Flumeを使用してログデータを消費する方法について説明します。 aliyun-log-flumeプラグインを使用して、Simple Log ServiceをFlumeに接続し、Simple log Serviceにログデータを書き込むか、Simple Log Serviceからログデータを消費することができます。

背景情報

aliyun-log-flumeプラグインは、Simple Log ServiceとFlumeを接続するために使用されます。 Simple Log ServiceがFlumeに接続された後、Simple Log ServiceはFlumeを使用してHadoop分散ファイルシステム (HDFS) やKafkaなどの他のシステムに接続できます。 aliyun-log-flumeプラグインは、Simple Log ServiceとFlumeを接続するためのシンクとソースを提供します。

  • シンク: 他のデータソースからデータを読み取り、データをSimple Log Serviceに書き込みます。

  • Source: Simple log Serviceからログデータを消費し、ログデータを他のシステムに書き込みます。

詳細については、「aliyun-log-flume」をご参照ください。

手順

  1. Flumeをダウンロードしてインストールします。

    詳細については、「Apache Flume」をご参照ください。

  2. aliyun-log-flumeプラグインをダウンロードし、プラグインを***/flume/libディレクトリに移動します。

    プラグインをダウンロードするには、[aliyun-log-flume-1.3.jar] をクリックします。

  3. ***/flume/confディレクトリに、flumejob.confという名前の設定ファイルを作成します。

    • シンクの設定方法と設定例の詳細については、「シンク」をご参照ください。

    • ソースの設定方法と設定例の詳細については、「ソース」をご参照ください。

  4. Flumeを起動します。

シンク

Flumeを使用して、他のデータソースからSimple Log Serviceにデータを書き込むようにシンクを設定できます。 解析には次のモードがサポートされています。

  • シンプル: Flumeイベントは、フィールドとしてSIMPLE Log Serviceに書き込まれます。

  • DELIMITED: Flumeイベントは、設定された列名に基づいてフィールドに解析され、Simple Log Serviceに書き込まれます。

次の表に、シンクのパラメーターを示します。

パラメーター

必須

説明

タイプ

課金されます

シンクのタイプ。 デフォルト値: com.aliyun.Loghub.flume.sink.LoghubSink.

エンドポイント

課金されます

Simple Log Serviceプロジェクトのエンドポイント。 例: http://cn-qingdao.log.aliyuncs.com 。 ビジネスシナリオに基づいてエンドポイントを入力します。 詳細については、「エンドポイント」をご参照ください。

project

課金されます

プロジェクトの名前。

logstore

課金されます

ログストアの名前

accessKeyId

課金されます

Alibaba Cloudが提供するAccessKey ID。 AccessKey IDは、ユーザーを識別するために使用されます。 アカウントのセキュリティを確保するために、RAMユーザーのAccessKeyペアを使用することを推奨します。 AccessKeyペアを取得する方法の詳細については、「AccessKeyペア」をご参照ください。

accessKey

課金されます

Alibaba Cloudが提供するAccessKeyシークレット。 AccessKeyシークレットは、ユーザーのキーを認証するために使用されます。 アカウントのセキュリティを確保するために、RAMユーザーのAccessKeyペアを使用することを推奨します。 AccessKeyペアを取得する方法の詳細については、「AccessKeyペア」をご参照ください。

batchSize

課金されません

一度にSimple Log Serviceに書き込まれるデータエントリの数。 デフォルト値は 1000 です。

maxBufferSize

課金されません

キャッシュキュー内のデータエントリの最大数。 デフォルト値は 1000 です。

シリアライザー

課金されません

Flumeイベントのシリアル化モード。 有効な値:

  • DELIMITED: 区切り文字モード。

  • SIMPLE: 単一行モード。 デフォルト値です。

  • JSON: JSONモード。

  • カスタムシリアライザー: カスタムシリアル化モード。 このモードでは、列の完全名を指定する必要があります。

課金されません

列。 シリアライザーパラメーターをDELIMITEDに設定した場合、このパラメーターを設定する必要があります。 複数の列はコンマ (,) で区切ります。 列は、データエントリと同じ順序でソートされます。

separatorChar

課金されません

区切り文字。1文字でなければなりません。 シリアライザーパラメーターをDELIMITEDに設定した場合、このパラメーターを設定する必要があります。 デフォルトでは、コンマ (,) が使用されます。

quoteChar

課金されません

引用だ シリアライザーパラメーターをDELIMITEDに設定した場合、このパラメーターを設定する必要があります。 デフォルトでは、二重引用符 (") が使用されます。

escapeChar

課金されません

エスケープ文字。 シリアライザーパラメーターをDELIMITEDに設定した場合、このパラメーターを設定する必要があります。 デフォルトでは、二重引用符 (") が使用されます。

useRecordTime

課金されません

データがSimple log Serviceに書き込まれるときに、データエントリのtimestampフィールドの値をログ時刻として使用するかどうかを指定します。 デフォルト値:false この値は、現在の時刻がログ時刻として使用されることを示します。

シンクの設定例の詳細については、『GitHub』をご参照ください。

ソース

Flumeを使用して、Simple Log Serviceから他のデータソースにデータを送信するようにソースを設定できます。 次のモードが書き込みにサポートされています。

  • DELIMITED: ログデータは区切り文字モードでFlumeに書き込まれます。

  • JSON: ログデータはJSONモードでFlumeに書き込まれます。

次の表に、ソースのパラメーターを示します。

パラメーター

必須

説明

タイプ

課金されます

ソースのタイプ。 デフォルト値: com.aliyun.Loghub.flume.source.LoghubSource。

エンドポイント

課金されます

Simple Log Serviceプロジェクトのエンドポイント。 例: http://cn-qingdao.log.aliyuncs.com 。 ビジネスシナリオに基づいてエンドポイントを入力します。 詳細については、「エンドポイント」をご参照ください。

project

課金されます

プロジェクトの名前。

logstore

課金されます

ログストアの名前

accessKeyId

課金されます

Alibaba Cloudが提供するAccessKey ID。 AccessKey IDは、ユーザーを識別するために使用されます。 アカウントのセキュリティを確保するために、RAMユーザーのAccessKeyペアを使用することを推奨します。 AccessKeyペアを取得する方法の詳細については、「AccessKeyペア」をご参照ください。

accessKey

課金されます

Alibaba Cloudが提供するAccessKeyシークレット。 AccessKeyシークレットは、ユーザーのキーを認証するために使用されます。 アカウントのセキュリティを確保するために、RAMユーザーのAccessKeyペアを使用することを推奨します。 AccessKeyペアを取得する方法の詳細については、「AccessKeyペア」をご参照ください。

heartbeatIntervalMs

課金されません

クライアントがハートビートメッセージをSimple Log Serviceに送信する間隔。 デフォルト値: 30000 単位:ミリ秒。

fetchIntervalMs

課金されません

Simple Log Serviceからデータを読み取る間隔。 デフォルト値:100 単位:ミリ秒。

fetchInOrder

課金されません

ログデータがSimple log Serviceに書き込まれる順序でログデータを消費するかどうかを指定します。 デフォルト値:false

batchSize

課金されません

一度に読み取られるデータエントリの数。 デフォルト値:100

consumerGroup

課金されません

ログデータの読み取りに使用されるコンシューマグループの名前。

initialPosition

課金されません

データが読み取られる開始点。 有効な値: beginendtimestamp デフォルト値: begin

説明

チェックポイントがSimple Log Serviceに存在する場合、チェックポイントは優先的に使用されます。

timestamp

課金されません

UNIXタイムスタンプ。 initialPositionパラメーターをtimestampに設定した場合、このパラメーターを設定する必要があります。

デシリアライザー

課金されます

イベントの逆シリアル化モード。 有効な値:

  • DELIMITED: 区切り文字モード。 デフォルト値です。

  • JSON: JSONモード。

  • Custom deserializer: カスタム逆シリアル化モード。 このモードでは、列の完全な名前を指定する必要があります。

課金されません

列。 deserializerパラメーターをDELIMITEDに設定した場合、このパラメーターを設定する必要があります。 複数の列はコンマ (,) で区切ります。 列は、データエントリと同じ順序でソートされます。

separatorChar

課金されません

区切り文字。1文字でなければなりません。 deserializerパラメーターをDELIMITEDに設定した場合、このパラメーターを設定する必要があります。 デフォルトでは、コンマ (,) が使用されます。

quoteChar

課金されません

引用だ deserializerパラメーターをDELIMITEDに設定した場合、このパラメーターを設定する必要があります。 デフォルトでは、二重引用符 (") が使用されます。

escapeChar

課金されません

エスケープ文字。 deserializerパラメーターをDELIMITEDに設定した場合、このパラメーターを設定する必要があります。 デフォルトでは、二重引用符 (") が使用されます。

appendTimestamp

課金されません

timestampパラメーターで指定したタイムスタンプをフィールドとして各ログに追加するかどうかを指定します。 deserializerパラメーターをDELIMITEDに設定した場合、このパラメーターを設定する必要があります。 デフォルト値:false

sourceAsField

課金されません

ログソースを__source__という名前のフィールドとして追加するかどうかを指定します。 deserializerパラメーターをJSONに設定した場合、このパラメーターを設定する必要があります。 デフォルト値:false

tagAsField

課金されません

ログタグをフィールドとして追加するかどうかを指定します。 このフィールドの名前は__tag __:{ Tag name} の形式です。 deserializerパラメーターをJSONに設定した場合、このパラメーターを設定する必要があります。 デフォルト値:false

timeAsField

課金されません

__time__という名前のフィールドとしてログ時間を追加するかどうかを指定します。 deserializerパラメーターをJSONに設定した場合、このパラメーターを設定する必要があります。 デフォルト値:false

useRecordTime

課金されません

Simple log Serviceからログデータを読み取るときに、ログのtimestampフィールドの値をログ時刻として使用するかどうかを指定します。 デフォルト値:false この値は、現在の時刻がログ時刻として使用されることを示します。 デフォルト値:false

ソースの設定例の詳細については、『GitHub』をご参照ください。