aliyun-log-flume プラグインを使用して Log Service と Apache Flume を統合し、ログデータの書き込みと消費を行います。
背景情報
aliyun-log-flume は、Log Service と Apache Flume を接続するプラグインであり、Log Service と HDFS や Kafka などの他のシステムとの間のデータ交換を可能にします。このプラグインは、シンクとソースを提供します。
-
シンク:Flume は他のデータソースからデータを読み取り、Log Service に書き込みます。
-
ソース:Flume は Log Service からログデータを消費し、他のシステムに書き込みます。
詳細については、「aliyun-log-flume」をご参照ください。
手順
-
Apache Flume をダウンロードしてインストールします。
詳細については、「Apache Flume」をご参照ください。
-
aliyun-log-flume プラグインをダウンロードし、
/flume/libディレクトリに配置します。詳細については、「aliyun-log-flume-1.3.jar」をご参照ください。
-
/flume/confディレクトリに、flumejob.conf という名前の設定ファイルを作成します。 -
Flume を起動します。
シンク
シンクは、他のデータソースから Log Service にデータを書き込み、2 つの解析形式をサポートします。
-
SIMPLE:Flume イベント全体を単一のフィールドとして Log Service に書き込みます。
-
DELIMITED:Flume イベントを区切り文字形式のデータとして扱い、設定されたカラム名に基づいてフィールドに解析し、Log Service に書き込みます。
シンクのパラメーターを次の表に示します。
|
パラメーター |
必須 |
説明 |
|
type |
はい |
シンクのタイプです。このパラメーターを |
|
endpoint |
はい |
Log Service プロジェクトのエンドポイントです。例: |
|
project |
はい |
Log Service プロジェクトの名前です。 |
|
Logstore |
はい |
Logstore の名前です。 |
|
accessKeyId |
はい |
Alibaba Cloud アカウントの AccessKey ID です。RAM ユーザーの AccessKey ペアを使用することを推奨します。詳細については、「AccessKeyの作成」をご参照ください。 |
|
accessKey |
はい |
Alibaba Cloud アカウントの AccessKey Secret です。RAM ユーザーの AccessKey ペアを使用することを推奨します。詳細については、「AccessKeyの作成」をご参照ください。 |
|
batchSize |
いいえ |
各バッチで Log Service に書き込むデータエントリの数です。デフォルト値:1000。 |
|
maxBufferSize |
いいえ |
バッファーキューのサイズです。デフォルト値:1,000 エントリ。 |
|
serializer |
いいえ |
イベントのシリアル化形式です。有効な値:
|
|
columns |
いいえ |
このパラメーターは、 |
|
separatorChar |
いいえ |
このパラメーターは、 |
|
quoteChar |
いいえ |
このパラメーターは、 |
|
escapeChar |
いいえ |
このパラメーターは、 |
|
useRecordTime |
いいえ |
データの |
シンクの設定例については、「GitHub」をご参照ください。
ソース
ソースは Log Service からログデータを消費し、他のシステムに送信します。2 つの出力形式をサポートしています。
-
DELIMITED:データを区切り文字形式で Flume に書き込みます。
-
JSON:データを JSON 形式で Flume に書き込みます。
ソースのパラメーターを次の表に示します。
|
パラメーター |
必須 |
説明 |
|
type |
はい |
ソースのタイプです。このパラメーターを |
|
endpoint |
はい |
Log Service プロジェクトのエンドポイントです。例: |
|
project |
はい |
Log Service プロジェクトの名前です。 |
|
Logstore |
はい |
Logstore の名前です。 |
|
accessKeyId |
はい |
Alibaba Cloud アカウントの AccessKey ID です。RAM ユーザーの AccessKey ペアを使用することを推奨します。詳細については、「AccessKeyの作成」をご参照ください。 |
|
accessKey |
はい |
Alibaba Cloud アカウントの AccessKey Secret です。RAM ユーザーの AccessKey ペアを使用することを推奨します。詳細については、「AccessKeyの作成」をご参照ください。 |
|
heartbeatIntervalMs |
いいえ |
クライアントと Log Service 間のハートビート間隔です。デフォルト値:30,000 ms。 |
|
fetchIntervalMs |
いいえ |
データ取得間隔です。デフォルト値:100 ms。 |
|
fetchInOrder |
いいえ |
データを順次消費するかどうかを指定します。デフォルト値: |
|
batchSize |
いいえ |
各バッチで読み取るデータエントリの数です。デフォルト値:100。 |
|
consumerGroup |
いいえ |
データの読み取りに使用されるコンシューマーグループの名前です。 |
|
initialPosition |
いいえ |
データの読み取りを開始する初期位置です。有効な値:begin、end、timestamp。デフォルト値:begin。 説明
サーバー側にチェックポイントが存在する場合、それが優先されます。 |
|
timestamp |
いいえ |
このパラメーターは、 |
|
deserializer |
はい |
イベントのデシリアル化形式です。有効な値:
|
|
columns |
いいえ |
このパラメーターは、 |
|
separatorChar |
いいえ |
このパラメーターは、 |
|
quoteChar |
いいえ |
このパラメーターは、 |
|
escapeChar |
いいえ |
このパラメーターは、 |
|
appendTimestamp |
いいえ |
このパラメーターは、 |
|
sourceAsField |
いいえ |
このパラメーターは、 |
|
tagAsField |
いいえ |
このパラメーターは、 |
|
timeAsField |
いいえ |
このパラメーターは、 |
|
useRecordTime |
いいえ |
Log Service からの元のログ時間を Flume イベントのタイムスタンプとして使用するかどうかを指定します。 |
ソースの設定例については、「GitHub」をご参照ください。