LogBus Windows版使用ガイド
このセクションでは、データ転送ツールLogBusのWindows版の使用方法を紹介します:
連携を始める前に、まずデータルールをお読みください。TEのデータ形式とデータルールを理解したうえで、本ガイドを読んで連携を進めてください。
LogBusでアップロードするデータは、TEのデータ形式に従う必要があります
LogBus Windows版のダウンロード
最新バージョン: 1.3.0
更新日: 2021-10-19
1. LogBusの概要
LogBusツールは主に、バックエンドのログデータをリアルタイムでTEのバックエンドにインポートするために使用します。その中核となる動作原理はFlumeに似ており、サーバーのログディレクトリ内のファイルストリームを監視し、ディレクトリ内のいずれかのログファイルに新しいデータが発生すると、新しいデータを検証してリアルタイムでTEのバックエンドに送信します。
次のようなユーザーには、LogBusによるデータ連携をお勧めします:
- サーバーSDKを使用し、LogBusでデータをアップロードするユーザー
- データの正確性やディメンションへの要求が高く、クライアントSDKだけではデータ要件を満たせない、またはクライアントSDKを接続しにくい
- バックエンドのデータプッシュ処理を自社で開発したくない
- 大量の履歴データを転送する必要がある
2. 使用前のデータ準備
1.まず、転送するデータをETLでTEのデータ形式に変換し、ローカルに書き込むかKafkaクラスターに転送します。サーバーSDKのローカルファイル書き込み用またはKafka用のconsumerを使用している場合は、データはすでに正しい形式になっているため、変換は不要です。
2.アップロードするデータのファイルを保存するディレクトリ、またはKafkaのアドレスとtopicを決め、LogBusの関連設定を行います。LogBusはファイルディレクトリ内のファイルの変更を監視する(ファイルの新規作成を監視するか、既存ファイルをtailする)か、Kafka内のデータをサブスクライブします。
3.監視ディレクトリに保存されていて、すでにアップロード済みのデータログの名前を直接変更しないでください。ログの名前を変更するとファイルを新規作成したことになるため、LogBusがこれらのファイルを再アップロードし、データが重複する可能性があります。
4.LogBusのデータ転送コンポーネントにはデータバッファーが含まれているため、LogBusのディレクトリが使用するディスク容量はやや大きくなる場合があります。LogBusをインストールするノードのディスク容量が十分にあることを確認してください。1つのプロジェクトにデータを転送する(つまりAPP_IDを1つ追加する)ごとに、少なくとも10Gのストレージ容量を確保する必要があります。
3. LogBusのインストールとアップグレード
3.1 LogBusのインストール
1.LogBusの圧縮パッケージをダウンロードして解凍します。
2.解凍後のディレクトリ構成:
- bin:起動プログラムのフォルダー
- conf:設定ファイルのフォルダー
- lib:機能ファイルのフォルダー
4. LogBusのパラメーター設定
1.解凍後のconfディレクトリに入ると、設定ファイルlogBus.conf.Templateがあります。このファイルにはLogBusのすべての設定パラメーターが含まれています。初めて使用する場合は、logBus.confに名前を変更してください。
2.logBus.confファイルを開いて、関連パラメーターを設定します
4.1 プロジェクトとデータソースの設定(必須)
- プロジェクトのAPP_ID
APP_IDは重複して設定できません
##APPIDはtga公式サイトのtokenです。TEの管理画面の「プロジェクト設定」ページで接続するプロジェクトのAPPIDを取得し、ここに入力してください。複数のAPPIDは","で区切ります
APPID=APPID_1,APPID_2
- 監視ファイルの設定(いずれか1つを選択してください。必須)
4.1.1.データソースがローカルファイルの場合
##LogBusが読み取るデータファイルのパスとファイル名(ファイル名はあいまい一致に対応), 読み取り権限が必要です
##異なるAPPIDはカンマで区切り、同じAPPIDの異なるディレクトリはスペースで区切ります
##TAIL_FILEのファイル名はワイルドカードによるマッチングに対応しています
TAIL_FILE=C:/path1/dir*/log.*,C:/path3/txt.*
TAIL_FILEは、複数のパス配下にある複数のサブディレクトリ内の、複数のファイルの監視に対応しています
対応するパラメーター設定は次のとおりです:
APPID=APPID1,APPID2
TAIL_FILE=C:/root/log_dir1/dir_*/log.* C:/root/log_dir*/log*/log.*,C:/test_log/*
具体的なルールは次のとおりです:
- 同じAPP_IDの複数の監視パスはスペースで区切ります
- 異なるAPP_IDの監視パスはカンマ"
,"で区切ります。カンマで区切った監視パスが、それぞれのAPP_IDに対応します - 監視パス内のディレクトリは、ワイルドカードによる監視に対応しています
- ファイル名は、ワイルドカードによる監視に対応しています
- パス区切り文字には"
/"または"\\\\"を使用できます。"\"は使用しないでください。例:C:/root/_.logまたはC:\\\\root\\\\_.log
監視対象のログファイルをサーバーのルートディレクトリに保存しないでください。
4.1.2.データソースがkafkaの場合
パラメーターKAFKA_TOPICSで複数のtopicを監視する場合は、各topicをスペースで区切ります。複数のAPP_IDがある場合は、各APP_IDが監視するtopicを半角カンマで区切ります。パラメーターKAFKA_GROUPIDは一意である必要があります。パラメーターKAFKA_OFFSET_RESETでは、Kafkaのkafka.consumer.auto.offset.resetパラメーターを設定できます。指定できる値はearliestとlatestで、デフォルトはearliestです。
注意:データソースのKafkaのバージョンは0.10.1.0以上である必要があります
単一APP_IDの例:
APPID=appid1
######kafka 設定
#KAFKA_GROUPID=tga.group
#KAFKA_SERVERS=localhost:9092
#KAFKA_TOPICS=topic1 topic2
#KAFKA_OFFSET_RESET=earliest
複数APP_IDの例:
APPID=appid1,appid2
######kafka 設定
#KAFKA_GROUPID=tga.group
#KAFKA_SERVERS=localhost:9092
#KAFKA_TOPICS=topic1 topic2,topic3 topic4
#KAFKA_OFFSET_RESET=earliest
4.2 転送パラメーターの設定(必須)
##転送設定
##転送先のurl
##http転送の場合は次を使用してください
PUSH_URL=https://global-receiver-ta.thinkingdata.cn/logbus
##オンプレミス版のサービスをご利用の場合は、転送URLを次のように変更してください:http://データ受信URL/logbus
##1回あたりの最大転送件数
#BATCH=10000
##少なくともこの間隔で1回転送します(単位:秒)
#INTERVAL_SECONDS=600
##転送スレッド数。デフォルトはシングルスレッドです。ネットワーク環境が悪い場合の使用を推奨します。マルチスレッドではより多くのメモリとCPUリソースを消費します
#NUMTHREAD=1
##ファイル転送の圧縮形式:gzip,snappy,none
#COMPRESS_FORMAT=none
4.3 コンバーターの設定(任意)
##コンバーターのタイプは現在json csv regex splitterに対応しています
#PARSE_TYPE=json
##追加の固定プロパティ。形式:name value,name1 value1
#LABELS=
##プロパティ名とタイプ。PARSE_TYPEがcsv regex splitterの場合に適用されます。形式:name type,name1 type1
##対応しているタイプ:float int string date list bool
#SCHEMA=
##区切り文字を指定します。PARSE_TYPEがcsv splitterの場合は空にできません
#SPLITTER=
##list型の区切り文字を指定します。list型がある場合に適用されます。デフォルトは,
#LIST_SPLITTER=,
##正規表現。PARSE_TYPEがregexの場合は空にできません
#FORMAT_REGEX=
4.4 監視ファイルの削除設定(任意)
# 監視ディレクトリのファイル削除。コメントを外すとファイル削除機能が有効になります
# 日単位(day)または時間単位(hour)でのみ削除できます
# UNIT_REMOVE=hour
# どれくらい前のファイルを削除するか
# OFFSET_REMOVE=20
# アップロード済みの監視ファイルを削除する間隔(分)
# FREQUENCY_REMOVE=60
4.5 設定ファイルの例
##################################################################################
## thinkingdataデータ分析プラットフォームの転送ツールlogBusの設定ファイル
##コメントアウトされていないものは必須パラメーター、コメントアウトされているものは任意パラメーターです。ご自身の状況に応じて
##適切に設定してください
##環境要件:java8+。詳しい要件はtga公式サイトを参照してください
##https://docs.thinkingai.cn/zh/integration/logbus_legacy_installation
##################################################################################
##APPIDはtga公式サイトのtokenです
##異なるAPPIDはカンマで区切ります。重複して設定することはできません
APPID=from_tga1,from_tga2
#-----------------------------------source----------------------------------------
######file-source
##LogBusが読み取るデータファイルのパスとファイル名(ファイル名はあいまい一致に対応), 読み取り権限が必要です
##異なるAPPIDはカンマで区切り、同じAPPIDの異なるディレクトリはスペースで区切ります
##TAIL_FILEのファイル名はワイルドカードによるマッチングに対応しています
TAIL_FILE=C:/path1/log.* C:/path2/txt.*,C:/path3/log.* C:/path4/log.* C:/path5/txt.*
######kafka-source
#KAFKA_GROUPID=tga.flume
#KAFKA_SERVERS=
#KAFKA_TOPICS=
#KAFKA_OFFSET_RESET=earliest
#------------------------------------sink-----------------------------------------
##転送設定
##転送先のurl
##オンプレミス版のサービスをご利用の場合は、転送URLを次のように変更してください:http://${RECEIVER_URL}/logbus(RECEIVER_URLはデータ受信URLです)
##PUSH_URL=https://global-receiver-ta.thinkingdata.cn/logbus
PUSH_URL=http://${RECEIVER_URL}/logbus
##1回あたりの最大転送件数
#BATCH=10000
##少なくともこの間隔で1回転送します(単位:秒)
#INTERVAL_SECONDS=60
##### http転送
##ファイル転送の圧縮形式:gzip,snappy,none
#COMPRESS_FORMAT=none
##各データにuuidプロパティを追加するかどうか
#IS_ADD_UUID=true
#------------------------------------parse----------------------------------------
##コンバーターのタイプは現在json csv regex splitterに対応しています
#PARSE_TYPE=json
##追加の固定プロパティ。形式:name value,name1 value1
#LABELS=
##プロパティ名とタイプ。PARSE_TYPEがcsv regex splitterの場合に適用されます。形式:name type,name1 type1
##対応しているタイプ:float int string date list bool
#SCHEMA=
##区切り文字を指定します。PARSE_TYPEがcsv splitterの場合は空にできません
#SPLITTER=
##list型の区切り文字を指定します。list型がある場合に適用されます。デフォルトは,
#LIST_SPLITTER=,
##正規表現。PARSE_TYPEがregexの場合は空にできません
#FORMAT_REGEX=
#------------------------------------other----------------------------------------
##監視ディレクトリ配下のファイル削除。コメントを外す(下の2つのフィールドを両方とも外す必要があります)とファイル削除機能が有効になり、1時間ごとにファイル削除プログラムが起動します
##unit単位でoffsetより前のファイルを削除します
##どれくらい前のファイルを削除するか
#OFFSET_REMOVE=
##日(day)または時間(hour)単位の削除のみ指定できます
#UNIT_REMOVE=
5. LogBusの起動
初めて起動する前に、次の点を確認してください:
1.javaのバージョンの確認
binディレクトリに入ると、check_java.batとlogbus.batの2つのスクリプトがあります
このうちcheck_javaは、javaのバージョンが要件を満たしているかどうかを確認するためのものです。スクリプトを実行し、javaのバージョンが要件を満たしていない場合は、Java version is less than 1.8やCan't find java, please install jre first.などのメッセージが表示されます
JDKのバージョンを更新するか、次のセクションの内容を参照してLogBus専用のJDKをインストールしてください
2.LogBus専用JDKのインストール
LogBusをデプロイするノードで、環境の都合によりJDKのバージョンがLogBusの要件を満たさず、要件を満たすJDKバージョンに置き換えることもできない場合は、この機能を使用できます。
binディレクトリに入ると、install_logbus_jdk.batがあります。
このスクリプトを実行すると、LogBusの作業ディレクトリにjavaディレクトリが追加されます。LogBusはデフォルトでこのディレクトリ内のJDK環境を使用します。
3.logBus.confの設定を完了し、パラメーターと環境のチェックコマンドを実行します
logBus.confの設定については、LogBusの設定のセクションを参照してください
設定が完了したらenvコマンドを実行し、設定パラメーターが正しいかどうかを確認します
logbus.bat env
赤色のエラーメッセージが出力された場合は設定に問題があります。設定ファイルのエラーが表示されなくなるまで修正してください。
logBus.confの設定を変更した後は、新しい設定を反映させるためにLogBusを再起動する必要があります
4.LogBusの起動
logbus.bat start
起動が完了するとlogkit.exeが1つ起動します。閉じないでください。閉じるとデータが重複してアップロードされる可能性があります
6. LogBusコマンドの詳細
6.1 ヘルプ情報
パラメーターなし、または--helpか-hを指定すると、ヘルプ情報が表示されます
LogBusの主なコマンドは次のとおりです:
usage: logbus <命令|辅助命令> [选项]
命令:
start 启动logBus.
restart 重启logBus.
stop 安全退出logBus.
reset 重置logBus读取记录.
stop_atOnce 强制退出logBus.
辅助命令:
env 运行环境校验.
server [-url <url>|-url <url> -appid <appid>] 测试接收端网络情况
show_conf 显示当前logBus配置信息.
version 显示版本号.
update 更新logbus到最新版本.
选项:
-appid <appid> 项目appid
-h,--help 显示帮助文档并退出.
-path <path> 指定测试文件的绝对路径
-url <url> 指定测试的url地址
示例:
logbus.bat start 启动logBus.
logbus.bat stop 安全退出logBus.
logbus.bat restart 重启logBus.
logbus.bat server -url http://${接收端地址}/logbus -appid ***** 测试接收端网络情况
6.2 転送チャネルの確認server -url
フォーマットの検証が完了したら、データチャネルが疎通しているかどうかも確認する必要があります。server -urlコマンドで検証できます。検証時には、TEプラットフォームで取得したAPP_IDを入力できます。APP_IDはプロジェクトに紐付いているため、入力前に、入力するAPP_IDがお使いのプロジェクトに対応していることを必ず確認してください
logbus.bat server -url http://${受信側アドレス}/logbus -appid ${appid}
6.3 設定情報の表示show_conf
show_confコマンドを使用してLogBusの設定情報を確認できます。表示内容は下図のとおりです:
logbus.bat show_conf
6.4 起動環境のチェックenv
envを使用して起動環境をチェックできます。出力された情報の後ろにアスタリスクが付いている場合は、設定に問題があります。アスタリスクが表示されなくなるまで修正してください。
logbus.bat env
6.5 LogBusのバージョンアップupdate
updateでバージョンをオンライン更新できます。このコマンドはLogBusを最新バージョンに更新します
logbus.bat update
6.6 起動start
形式の検証、データチャネルのチェック、環境のチェックが完了したら、LogBusを起動してデータをアップロードできます。LogBusはファイルに新しいデータが書き込まれたかどうかを自動的に検出し、新しいデータがあればアップロードします。
logbus.bat start
6.7 停止stop
LogBusを停止する場合は、stopコマンドを使用してください。このコマンドには時間がかかりますが、データが失われることはありません。
logbus.bat stop
6.8 停止stop_atOnce
LogBusをすぐに停止したい場合は、stop_atOnceコマンドを使用してください。このコマンドはデータの損失を招く可能性があります。
logbus.bat stop_atOnce
6.9 再起動restart
restartコマンドでLogBusを再起動できます。設定パラメーターを変更した後に新しい設定を反映させる場合に適しています。
logbus.bat restart
6.10 リセットreset
resetを使用するとLogBusがリセットされます。このコマンドは必ず慎重に使用してください。使用するとファイルの転送記録がクリアされ、LogBusはすべてのデータを再アップロードします。状況がはっきりしないままこのコマンドを使用すると、データが重複する可能性があります。ThinkingAIの担当者に相談してから使用することをお勧めします。
logbus.bat reset
リセットコマンドを使用した後は、startを実行してデータの転送を再開する必要があります
6.11 バージョン番号の確認version
使用しているLogBusのバージョン番号を確認したい場合は、versionコマンドを使用できます。LogBusにこのコマンドがない場合は、初期のバージョンを使用しています
logbus.bat version
7. ChangeLog
バージョン 1.3.0 --- 2021/10/19
- TE形式以外のデータのアップロードに対応
バージョン 1.2.0 --- 2021/05/26
- cygWinモードに対応
バージョン 1.1.0 --- 2020/08/28
- #UUIDの追加に対応
- #event_idと#first_check_idに対応
- マルチスレッドでの送信に対応
- 区切り文字による解析と正規表現による解析に対応
バージョン 1.0.0 --- 2020/06/25
- LogBus-Windowsをリリース

