LogBus2使用ガイド
1. LogBus2の概要
LogBus2は、従来のLogBusをベースに新たに開発されたログ同期ツールです。従来のLogBusと比べて、メモリ使用量は5分の1に削減され、速度は5倍に向上しています。
Logbus2は主に、バックエンドのログデータをリアルタイムでAEのバックエンドにインポートするために使用します。中核となる動作原理はFlumeやLoggieと同様で、サーバーのログディレクトリ配下のファイルストリームを監視し、ディレクトリ配下のいずれかのログファイルに新しいデータが発生すると、新しいデータを検証してリアルタイムでAEのバックエンドに送信します。
次のようなユーザーには、LogBus2を使用したデータ連携をお勧めします:
- サーバーSDK / Kafka / SLSでAE形式のデータを保存しており、LogBus2でデータをアップロードしたいユーザー
- データの正確性やディメンションへの要求が高く、クライアントSDKだけではデータ要件を満たせない、またはクライアントSDKを接続しにくい
- バックエンドのデータプッシュ処理を自社で開発したくない
- 大量の履歴データを転送する必要がある
- メモリ使用量や転送効率にある程度の要件がある
このドキュメントはLogbus v2のバージョンに適用されます。Logbus v1については、LogBus使用ガイド、LogBus Windows版使用ガイドを参照してください
Logbus v1からLogbus v2への移行については、ThinkingAIのテクニカルサポートにお問い合わせください。
2. LogBus2のダウンロード
最新バージョン:2.1.2.2
更新日:2025-11-07
3. 使用前の準備
ファイルタイプ
- アップロードするデータファイルを格納するディレクトリを決め、LogBus2の関連設定を行います。LogBus2はファイルディレクトリ配下のファイルの変更を監視します(新規ファイルの作成を監視するか、既存ファイルをtailします)。
- 監視ディレクトリに格納され、すでにアップロードされたデータログの名前を直接変更しないでください。ログの名前を変更すると新しいファイルを作成したことと同じになり、LogBus2がこれらのファイルを再アップロードして、データが重複するおそれがあります。
- LogBus2の実行ディレクトリには現在のログ転送進捗のスナップショットがあるため、runtimeディレクトリ配下のファイルを独自に操作しないでください
注意:データファイルの格納パスには、オブジェクトストレージや、NFS、SMBなどのクラウドファイルシステムのマウントディレクトリを使用しないでください。読み取り異常の原因になります。
Kafka
- Kafkaのメッセージ形式を確認します。LogbusはKafka Messageのvalueのみを処理します
- 同じユーザーIDのデータが同じパーティションに書き込まれるようにし、データの順序が乱れる問題を防ぎます
- Kafka Consumer Groupの自由な使用を有効にし、複数のLogbusで消費する際の障害を防いでください
- デフォルトではearliestから消費を開始します。指定したオフセットから消費する場合は、先にconsumer groupと特定のオフセットを作成する必要があります
SLS
- Alibaba Cloudに連絡して、Kafkaプロトコルによる消費を有効にしてもらいます
CLS
- CLSの自動分割が無効になっていることを確認します。
- 該当リソースのAK&SKを申請します
4. LogBus2のインストールとアップグレード
インストール
LogBus2のインストールパッケージをダウンロードして解凍します。
解凍後のディレクトリ構成:
- Logbus:LogBus2:バイナリファイル
- conf:
- daemon.json:設定ファイルテンプレート2
- tools:
- configConvert:設定変換ツール
アップグレード
要件:LogBus2のバージョン ≥ 2.0.1.7
次のように直接実行します:
./logbus updateを実行するだけです。アップグレードが完了したら、次を実行します
./logbus start
5. Logbus2の使用と設定
起動パラメーター
起動
./logbus start
停止
./logbus stop
再起動
./logbus restart
設定の確認、AEシステムとの接続性の確認
./logbus env
LogBusの読み取り記録のリセット
./logbus reset
# Kafkaは現在利用できません
転送進捗の確認
./logbus progress
ファイル形式の検証
./logbus dev
# Kafkaは現在利用できません
設定ファイルガイド
デフォルトの設定テンプレート
{
"datasource": [
{
"file_patterns": [
"/data/log1/*.txt", // #ユーザー側でソースデータファイルがある絶対パスに適宜変更してください
"/data/log2/*.log"
],//ファイルマッチパターン
"app_id": "app_id"//app_idはAE公式サイトのtokenです。AEのプロジェクト設定ページで接続するプロジェクトのAPPIDを取得し、ここに入力してください
}
],
"push_url": "http://RECEIVER_URL"//http転送の場合はhttp://receiver.ta.thinkingdata.cn/を使用してください。オンプレミス版のサービスを利用している場合は、転送URLをhttp://データ受信URL/に変更してください
}
よく使う設定
ファイル
{
"datasource": [
{
"type":"file",
"file_patterns": ["/data/log1/*.txt", "/data/log2/*.log"], //ファイルのGlobマッチルール
"app_id": "app_id", //APPIDはAE公式サイトのtokenです。AEのプロジェクト設定ページで接続するプロジェクトのAPPIDを取得し、ここに入力してください
"unit_remove": "day", //ファイル削除の単位。"day", "hour"に対応
"offset_remove": 7,//unit_remove*offset_remove で最終的な削除時間が決まります **offsetは0より大きくする必要があります。そうでない場合は有効になりません
"remove_dirs": true,//フォルダー削除を有効にするかどうか。デフォルトはfalse NOTE:フォルダー配下のすべてのファイルの消費が完了した後にのみ、フォルダーが削除されます
"http_compress": "gzip" //http圧縮を有効にするかどうか。デフォルトは"none"
}
],
"cpu_limit": 4, //Logbus2が使用するCPUコア数を制限
"push_url": "http://RECEIVER_URL"
}
Kafka
{
"datasource": [
{
"type":"kafka", //タイプはKafka
"topic":"ta", //消費するトピック
"brokers":[
"localhost:9091" //Kafka Brokersのアドレス
],
"consumer_group":"logbus", //コンシューマーグループ名
"cloud_provider":"ali", //クラウドベンダー名。"ali"、"tencent"、"huawei"に対応
"username":"", //Kafkaのユーザー名
"password":"", //Kafkaの認証パスワード
"instance":"", //クラウドベンダーのインスタンス名
"protocol":"none", //認証プロトコル。"none"|"plain"|"scramsha256"|"scramsha512"に対応
"block_partitions_revoked":true,
"app_id":"YOUR_APP_ID"
}
],
"cpu_limit": 4, //Logbus2が使用するCPUコア数を制限
"push_url": "http://RECEIVER_URL"
}
SLS
NOTE:SLSで消費する前に、Alibaba Cloudに連絡してSLSのKafka消費プロトコルを有効にしてもらってください
{
"datasource": [
{
"type":"kafka",
"brokers":["{PROJECT}.{ENTRYPOINT}:{PORT}"], //NOTE:詳細は次を参照:https://help.aliyun.com/document_detail/29008.htm#reference-wgx-pwq-zdb
"topic":"{SLS_Logstore_NAME}", //Logstore名
"protocol":"plain",
"consumer_group":"{YOUR_CONSUMER_GROUP}", // ConsumerGroup
"username":"{PROJECT}", // Project名
"disable_tls":true,
"password":"{ACCESS_ID}#{ACCESS_PASSWORD}", // Alibaba Cloud RAMの認可
"app_id":"YOUR_APP_ID"
}
],
"push_url": "http://RECEIVER_URL"
}
CLS
NOTE:使用する前に、消費/書き込みのスループットがLogの保持時間を上回っていることを確認してください
{
"datasource":[
{
"type": "kafka",
"brokers":["YOUR_AZ_ENDPOINT"],
"session_timeout": 9000,
"fetch_max_bytes": 104857600,
"topic": "YOUR_TOPIC",
"protocol": "plain",
"consumer_group": "YOUR_GROUP",
"username": "",
"password": "",
"block_paritions_revoked":"true",
"app_id":"YOUR_APP_ID"
}
],
"push_url":"http://RECEIVER_URL"
}
すべての設定項目
設定項目の一覧と説明
| 設定 | タイプ | 例 | 必須 | 説明 |
|---|---|---|---|---|
| cpu_limit | Number | 4 | Logbus2が使用できる最大CPUコア数を制限します | |
| push_url | String | ✔️ | receiverのアドレス。http/httpsで始まる必要があります。 | |
| datasource | Object list | ✔️ | データソースリスト | |
min_disk_free_space | uint64 | 1024 | logbus2があるディレクトリの空き容量を検出し、設定値を下回ると自動的に終了します。単位はKB、デフォルトは1*1024*1024 |
datasource(データソース設定)
ファイル
| 設定 | タイプ | 例 | 必須 | デフォルト値 | 説明 |
| app_id | String | ✔️ | "" | データ送信先プロジェクトのappid | |
| appid_in_data | Bool | false | false | ファイル内のappidで振り分ける場合にこのオプションを有効にすると、Logbus2はapp_idのappidで振り分けなくなります | |
specified_push_url | Bool | false | true:push_urlを解析せず、ユーザーが設定したpush_urlのまま送信します。つまりhttp://yourhost:yourportです。false:push_urlを解析した後、receiverが規定するlogbus urlで送信します。つまりhttp://yourhost:yourport/logbusです。 | ||
| add_uuid | Bool | false | true:各データにuuidプロパティを追加するかどうか(有効にすると転送効率が低下します)。 | ||
| file_patterns | String list | ✔️ | [""] | ディレクトリのワイルドカードに対応しています。正規表現には現在対応していません。特別な設定がない場合、.gz/.iso/.rpm/.zip/.bz/.rar/.bz2拡張子のファイルはデフォルトでスキップされます | |
| ignore_files | String list | [""] | file_patternsの中から除外するファイル | ||
| unit_remove | String | "" | ユーザーファイルの削除。日 (day) または時間 (hour) 単位で削除します。注意:ファイルの自動削除を設定していない場合、LogBus2のメモリ使用量は徐々に増加します | ||
| offset_remove | Int | 0 | ユーザーファイルの削除。offset_remove>0で、かつunit_removeがdayまたはhourに設定されている場合に、ユーザーファイルの削除機能が有効になります。 | ||
| remove_dirs | Bool | true|false | false | フォルダー削除を有効にするかどうか | |
| http_timeout | String | 500ms | 600s | receiver側にデータを送信する際のタイムアウト時間。デフォルト値:600s。範囲:200ms - 600s。ミリ秒"ms"、秒"s"、分"m"、時間"h"に対応しています。 | |
| iops | int | 20000 | 20000 | Logbusの1秒あたりのデータ流量(件数)の速度制限 | |
| limit | bool | true|false | false | 速度制限のスイッチをONにします | |
| http_compress | String | none | gzip | none | httpで送信する際のデータ圧縮形式。none=圧縮なし。デフォルト値:none。 | |
| filters | object list | イベントフィルター。複数のフィルターはORの関係です | |||
| filters[0].key | string | #event_name | ✔️ | フィルタリング対象のkey | |
| filters[0].value | interface{} | register | ✔️ | フィルタリング対象のvalue | |
| filter[0].type | string | string | string | valueの型。デフォルトはstringで、string | boolean | int64 | regexに対応しています |
Kafka
NOTE:LogbusのKafkaモードを使用する前に、必ずConsumer Groupの自由な使用を有効にしてください
| 設定 | タイプ | 例 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|---|
| brokers | String List | ["localhost:9092"] | ✔️ | [""] | Kafka Brokers |
| topic | String | "ta-msg-chan" | ✔️ | "" | Kafkaの消費トピック |
| consumer_group | String | "ta-consumer" | ✔️ | "" | Kafka Consumer Group |
| protocol | String | "plain" | "none" | Kafkaの認証方式 | |
| username | String | "ta-user" | "" | Kafkaのユーザー名 | |
| password | String | "ta-password" | "" | Kafkaのパスワード | |
| instance | String | "" | "" | CKafkaに必要なインスタンスID | |
| fetch_count | Number | 1000 | 10000 | 1回のPollあたりのメッセージ数 | |
| fetch_time_out | Number | 30 | 5 | Pollのタイムアウト時間 | |
| read_committed | Bool | true | false | KafkaのCommittedデータのみを消費するかどうか | |
| disable_tls | Bool | true | false | tls検証を無効化 | |
| cloud_provider | String | "tencent" | "" | パブリックネットワーク経由でKafkaに接続する場合に有効にします。現在対応しているクラウドベンダー:tencent,huawei,ali | |
| block_partitions_revoked | Bool | false | false | ブロッキング消費を行うかどうか。有効にしない場合、複数のLogbusが同じconsumer_groupに属していると、データが重複する問題が発生します | |
| auto_reset_offset | String | "earliest" | "earliest" | オフセットがコミットされていない場合のデフォルトの動作を指定するパラメーター |
NOTE:Logbusv2は現在、ロードバランシングモードでKafkaを消費します。Logbusv2のデプロイ数≤partition num
監視設定とダッシュボードの構築
次を参照してください:監視設定 DEMO
アラーム設定
次を参照してください:アラーム設定 DEMO
プラグインの使用
次を参照してください:プラグイン設定 DEMO
6. 高度な使い方
単一のLogbusで複数のイベントを送信する
単一のLogbusをデプロイしている場合、IOの制限により、一部の情報の消費が遅れることがあります。例えば
.
├── event_1
│ ├── log.1
│ ├── log.2
│ ├── log.3
│ ├── log.4
│ └── log.5
├── event_2
│ ├── log.1
│ ├── log.2
│ ├── log.3
│ ├── log.4
│ └── log.5
└── event_3
├── log.1
├── log.2
├── log.3
├── log.4
└── log.5
ポーリングの関係で、消費順序はevent_*/log.1 -> event_*/log.2 -> event_*/log.3になります。この場合、ファイルの消費進捗が遅くなることがあります。複数のLogbusを起動し、コンテキスト上の意味を持たないログをGlobで分割して、Globにマッチしたファイルを並列でアップロードすることで対応できます
複数PipeLineの設定
NOTE:複数PipeLineの場合、appidは重複できません
{
"datasource": [
{
"file_patterns": ["/data/log1/*.txt", "/data/log2/*.log"], //ファイルのGlobマッチルール
"app_id": "app_id", //APPIDはAE公式サイトのtokenです。AEのプロジェクト設定ページで接続するプロジェクトのAPPIDを取得し、ここに入力してください
"unit_remove": "day", //ファイル削除の単位。"day", "hour"に対応
"offset_remove": 7,//unit_remove*offset_remove で最終的な削除時間が決まります **offsetは0より大きくする必要があります。そうでない場合は有効になりません
"remove_dirs": true,//フォルダー削除を有効にするかどうか。デフォルトはfalse NOTE:フォルダー配下のすべてのファイルの消費が完了した後にのみ、フォルダーが削除されます
"http_compress": "gzip"//http圧縮を有効にするかどうか。デフォルトはnone
},
{
"file_patterns": ["/data/log1/*.txt", "/data/log2/*.log"], //ファイルのGlobマッチルール
"app_id": "app_id", //APPIDはAE公式サイトのtokenです。AEのプロジェクト設定ページで接続するプロジェクトのAPPIDを取得し、ここに入力してください
"unit_remove": "day", //ファイル削除の単位。"day", "hour"に対応
"offset_remove": 7,//unit_remove*offset_remove で最終的な削除時間が決まります **offsetは0より大きくする必要があります。そうでない場合は有効になりません
"remove_dirs": true,//フォルダー削除を有効にするかどうか。デフォルトはfalse NOTE:フォルダー配下のすべてのファイルの消費が完了した後にのみ、フォルダーが削除されます
"http_compress": "gzip"//http圧縮を有効にするかどうか。デフォルトはnone
}
],
"cpu_limit": 4, //Logbus2が使用するCPUコア数を制限
"push_url": "http://RECEIVER_URL"
}
LogBus2 On Docker
最新イメージの取得
docker pull thinkingdata/ta-logbus-v2:latest
ホストマシンに永続化用のfolderを作成し、設定ファイルを初期化する
mkdir -p /your/folder/path/{conf,log,runtime}
touch /your/folder/path/conf/daemon.json
vim /your/folder/path/conf/daemon.json
⚠️警告:runtimeディレクトリ配下のファイルを独自に削除しないでください
設定テンプレートを編集してdaemon.jsonに書き込む
{
"datasource": [
{
"type":"file",
"app_id": "YOUR APP ID",
"file_patterns": ["/test-data/*.json"]
},
{
"type":"kafka",
"app_id": "YOUR APP ID",
"brokers": ["localhot:9092"],
"topic":"ta-message",
"consumer_group":"ta"
}
],
"push_url": "YOUR PUSH URL WITHOUT SUFFIX OF/logbus"
}
データフォルダーをマウントしてLogBusを起動する
docker run -d \
--name logbus-v2 \
--restart=always \
-v /your/data/folder:/test-data/ \
-v /your/folder/path/conf/:/ta/logbus/conf/ \
-v /your/folder/path/log/:/ta/logbus/log/ \
-v /your/folder/path/runtime/:/ta/logbus/runtime/ \
thinkingdata/ta-logbus-v2:latest
LogBus2 On K8s
環境の準備
- kubectlがk8sクラスターに接続でき、デプロイ権限を持っていること。
- 依存関係のインストール:helmのドキュメントに従って、ローカルのコマンドラインにhelmをインストールします https://helm.sh/zh/docs/intro/install/
logbus v2のhelmファイルのダウンロード
📎 ta-logBusv2-2.0.1.8-helm.tar.gz(2 KB)tar xvf logBusv2-helm.tar && cd logbusv2
logbusの設定
準備
- コンソールで、アップロードするログ用のpvcを作成します
- pvc名を取得し、namespaceを確認します
- AEのapp idとreceiver urlを取得します
values.yamlの編集
pvc:
name: YOUR_PVC_NAME # pvc名
logbus_version: 2.1.0.2
namespace: YOUR_NAMESPACE # namespace名
logbus_configs:
- push_url: "http://RECEIVER_URL" # AEにデータをアップロードするreceiverアドレス
datasource:
- file_patterns:
- "container:ファイルの相対パスのワイルドカード" # 注意:「container:」プレフィックスは削除しないでください
- "container:ファイルの相対パスのワイルドカード" # 注意:「container:」プレフィックスは削除しないでください
app_id: YOUR_APP_ID # AEシステムのapp id
レンダリングされたyamlのプレビュー
helm install --dry-run -f values.yaml logbus .
helmを使用してlogbusv2をデプロイする
helm install -f values.yaml logbus-v2 .
作成されたstatefulsetの確認
kubectl get statefulset
作成されたpodの確認
kubectl get pods
K8s内のLogBusのバージョンの更新
vim values.yaml # 以前のvalues.yamlファイルを編集
# logbus_versionを最新に変更 NOTE:後方互換性を考慮し、latestは使用しないことをお勧めします!
logbus_version:2.0.1.8 -> logbus_version:2.1.0.2
# 保存して終了
helm upgrade -f values.yaml logbus .
# ローリングアップデートを待つ
注意
logbusv2には、マウントしたログのpvcに対する読み書き権限が必要です。
logbusv2は、ファイルの消費記録と実行ログをpodごとにpvcに書き込みます。pvc内のlogbus関連の記録を削除すると、データが再送信されるおそれがあります。
設定の詳細
次のコマンドを実行します:
helm show values .
使用可能な設定を表示します:
# Default values for logbusv2.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
pvc:
name: pvc-logbus
logbus_version: 2.1.0.2
namespace: big-data
logbus_configs:
#### pod 1
#### push_url: receiver url, need http:// https:// prefix
- push_url: "http://192.0.2.10:8992/"
datasource:
- file_patterns:
#### target files relative path in pvc
- "container:/ta-logbus-0/data_path/*"
#### AE app_id
app_id: "thinkingAnalyticsAppID"
#### pod 2
- push_url: "http://192.0.2.11:8992/"
datasource:
- file_patterns:
- "container:/ta-logbus-1/data_path/*"
app_id: "thinkingAnalyticsAppID"
#### pod 3
- push_url: "http://192.0.2.11:8992/"
datasource:
- file_patterns:
- "container:/ta-logbus-2/data_path/*"
app_id: "thinkingAnalyticsAppID"
#### logbus pod requests
#requests:
# cpu: 2
# memory: 1Gi
requests部分は、明示的に設定していない場合、yamlには反映されません。
pvc配下の単一ディレクトリ
pvc:
name: YOUR_PVC_NAME # 実際のpvc名を入力
namespace: YOUR_NAMESPACE # 既存のnamespace
logbus_configs:
- push_url: "http://RECEIVER_URL" # httpまたはhttps。podからアクセスできるAE receiver URLを入力
datasource:
- file_patterns:
- "container:/ta-logbus-0/data_path/*" # "container:"はプレースホルダーです。yamlのデプロイ時に、相対パスがコンテナからアクセスできる絶対パスに置き換えられます。ディレクトリを設定する際は、container:プレフィックスを付ける必要があります。
app_id: "thinkingAnalyticsAppID" # AEシステムのapp id
pvc配下の複数ディレクトリ
pvc内の複数のディレクトリを読み取る場合は、podを分けてデプロイし、各podが1つのフォルダーを担当することをお勧めします。このようにデプロイすると、パフォーマンスとセキュリティが向上します。
pvc:
name: pvc-logbus
namespace: big-data
logbus_configs:
#### pod 1
#### push_url: receiver url, need http:// https:// prefix
- push_url: "http://192.0.2.10:8992/"
datasource:
- file_patterns:
#### target files relative path in pvc
- "container:/ta-logbus-0/data_path/*"
#### AE app_id
app_id: "thinkingAnalyticsAppID"
#### pod 2
- push_url: "http://192.0.2.11:8992/" # 注意:app idとpush urlはそれぞれ個別に設定する必要があります
datasource:
- file_patterns:
- "container:/ta-logbus-1/data_path/*"
app_id: "thinkingAnalyticsAppID"
#### pod 3
- push_url: "http://192.0.2.11:8992/"
datasource:
- file_patterns:
- "container:/ta-logbus-2/data_path/*"
app_id: "thinkingAnalyticsAppID"
複数のpvc
現在は単一のpvcのデプロイのみに対応しています。複数のpvcの場合は、values.yamlファイルを複数回設定する必要があります
7. よくある質問
Q:フォルダー削除を有効にしたのに、LogBusがフォルダーを削除しないのはなぜですか
A:LogBusがフォルダーを削除するのは、現在のフォルダー内のファイルがLogBusによって読み取られ、かつそのフォルダー配下にファイルが1つもない場合のみです
Q:ログがアップロードできないのはなぜですか?
A:LogBusが読み取るデータファイルでは、1件のデータに改行文字を含めないでください。設定するデータファイルは正規表現に対応しておらず、ワイルドカード(Glob)のみ使用できます。設定したデータファイルのルールでファイルにマッチできるかどうかを確認してください
Q:ファイルが重複してアップロードされるのはなぜですか
A:LogBusがファイルを読み取った進捗はruntimeディレクトリに保存されています。誤った操作でこのディレクトリを削除すると、アップロード済みのファイルが重複してアップロードされます。
Q:データスキューが発生するのはなぜですか
A: 現在、AEはお客様のdistinct_idをデータのUUIDとしてshuffleを行っています。大量のデータのdistinct_idに同じ文字列が使われている場合、単一マシンのメモリ負荷が増加し、データスキューのリスクが高まる可能性があります
8. Releases Note
バージョン:2.1.2.2 --- 2025.11.7
追加
- パーサーによるデータ完全性の検証を任意でスキップできる機能を追加
バージョン:2.1.2.1 --- 2025.9.26
追加
- kafkaの接続タイムアウト設定を追加。デフォルト値は15000ms
最適化
- kafkaの消費情報を取得する監視指標の頻度を低減
バージョン:2.1.2.0 --- 2025.5.8
最適化
- franz-goのバージョンを更新
バージョン:2.1.1.9 --- 2025.3.24
追加
- 行全体のフィルタリング機能を追加
バージョン:2.1.1.8 --- 2025.2.23
最適化
- 空行を読み取った際の待機処理ロジックを最適化
バージョン:2.1.1.7 --- 2025.1.20
追加
- フィルターのタイプにregexを追加し、正規表現によるフィルタリングを設定可能に
バージョン:2.1.1.6 --- 2024.12.20
最適化
- envで設定したhttpプロキシの使用に対応
バージョン:2.1.1.4 --- 2024.5.15
最適化
- Kafkaソースでfetch_max_partition_bytesに対応
- DataSourceでリモート検証のスキップに対応。デフォルトは無効
- SIMDを使用してJSON処理を高速化
バージョン:2.1.1.3 --- 2024.2.23
最適化
- Kafka Progressの使い勝手を向上
- auto_reset_offsetパラメーターに対応
- Kafka Clientの関連情報をログに記録
修正
- 強制停止によってLogbusが誤ったプロセスを終了させる問題
- メモリリークの問題
- Goroutineリークの問題
- Kafkaがタイムアウトして消費しない問題
- Windows版が起動に失敗する問題
- Windows版が更新できない問題
バージョン:2.1.1.2 --- 2024.2.2
最適化
- ログ形式および一部のi18nが混在する問題
バージョン:2.1.1.1 --- 2024.1.10
最適化
progressコマンドの正確性
バージョン:2.1.1.0 --- 2023.12.11
修正
- ログのデフォルト値を、デフォルトで7日間保持、1ファイル100Mで分割、最大30個のログを保持するように修正しました。アップグレードしない場合でも、log設定項目を設定すれば対応できます。
影響
- データソースで解析できないエラーデータが大量に発生した場合、ログにエラーデータが記録されるため、ログファイルがどんどん大きくなります。
バージョン:2.1.0.9 --- 2023.10.26
追加
- イベントフィルターに対応し、クライアント側でデータをフィルタリング
- logbusがあるディレクトリの空き容量の検出に対応
バージョン:2.1.0.8 --- 2023.6.06
最適化
- プラグインが正しく終了するように改善
- プロセス間通信とログ出力を最適化
修正
- cpu limitのログ出力
- linux armアーキテクチャのコンパイル処理
バージョン:2.1.0.7 --- 2023.4.07
追加
- kafkaデータソースでprogressコマンドに対応
最適化
- カスタムタグで環境変数の取得に対応
バージョン:2.1.0.6 --- 2023.3.28
最適化
- カスタムタグに対応し、データの送信元を追跡可能に
- カスタムプラグインの区切り文字に対応
バージョン:2.1.0.5 --- 2023.2.20
最適化
- データ振り分け先のプロジェクトで配列に対応し、数値と文字列の基本型と互換
- 監視指標の計算ロジック
バージョン:2.1.0.4 --- 2023.1.12
追加
- 改行文字のないファイルデータソースの読み取り設定に対応
- ループ読み取りの回数と間隔時間の設定に対応
修正
- 監視指標統計の並行処理バグを修正
バージョン:2.1.0.3 --- 2022.12.23
追加
- 設定によってデータ内部のappidを上書き可能に
修正
- appid_in_dataを使用し、appidのデフォルト値を削除
バージョン:2.1.0.2 --- 2022.12.13
追加
- プラグインでプロパティの分割に対応
修正
- 複数pipeline時のmeta_name作成
バージョン:2.1.0.1 --- 2022.11.29
追加
- kafkaデータソースでトランザクションのread committedに対応
- プラグインコマンドでsh環境への依存に対応
修正
- appid未設定時のmeta_name作成
バージョン:2.1.0.0 --- 2022.11.22
追加
- データ振り分け:設定したappidMapに従って、データを異なるプロジェクトに振り分け
- kafkaデータソースで複数topicの消費に対応
- リミッター:送信速度を制限し、サーバー側の負荷を軽減
- 複数pipelineでのデータ送信
- grpcベースのカスタムプラグインパーサー
- リアルタイムのパフォーマンス監視(prometheus、pushgateway、grafana)
修正
- ファイル消費がブロックされる問題
- kafkaデータソースで、logbusが停止できないバグを修正
- fileデータソースで、ファイルのアクティビティが高いと処理から抜け出せないバグを修正
- ファイルリスナーの終了に関する問題を修正
バージョン:2.0.1.8 --- 2022.07.20
追加
- dev(形式検証コマンド)
- Kafka Source
- マルチプラットフォーム対応
修正
- ファイル転送進捗のプロセスが複数回起動される問題
- ログ量の削減
Progressをファイル転送時間順に並べ替え- 複数pipelineの最適化
Docker imageの軽量化
バージョン:2.0.1.7 --- 2022.03.01
最適化
- 実行効率の改善、パフォーマンスの向上
- ファイル削除ロジック
- オフセットファイルのエクスポートロジック
- メモリ使用量

