InfluxDB または TSDB for InfluxDB から Lindorm にデータを移行するには、Lindorm Tunnel Service (LTS) を使用できます。このトピックでは、InfluxDB から LindormTSDB に完全データを移行する方法について説明します。
前提条件
InfluxDB のバージョンが 1.8.13 以降であること。
LindormTSDB がアクティブ化されていること。
LTS がアクティブ化されていること。詳細については、「LTS サービスを購入し、LTS Web UI にログインする」をご参照ください。
注意事項
仮想プライベートクラウド (VPC) を使用してデータを移行し、InfluxDB インスタンス、Lindorm インスタンス、および LTS インスタンスが同じ VPC に属していることを確認して、ネットワーク接続を確保することをお勧めします。
移行中、データは InfluxDB インスタンスから読み取られ、LindormTSDB に書き込まれます。以下の項目の値が大きいと、ワークロードが大きくなり、システムの安定性に影響を与える可能性があります。そのため、データ移行の前に、InfluxDB インスタンスの仕様、ワークロード、および以下の項目の値に基づいて、データ移行の影響を評価してください。
説明インスタンスが過負荷になっている場合は、データ移行の前にインスタンスの構成をスペックアップすることをお勧めします。
InfluxDB インスタンスの時系列の数
移行するデータの合計サイズ
各時系列のデータが報告される平均頻度
移行するデータの時間範囲
各データ移行タスクが分割される間隔
デフォルトでは、InfluxDB で使用されるタイムスタンプの長さは 19 ビットで、ナノ秒単位の時間を示します。 LindormTSDB で使用されるタイムスタンプの長さは 13 ビットで、ミリ秒単位の時間を示します。データが InfluxDB から LindormTSDB に移行されると、データのタイムスタンプはミリ秒単位の時間を示す 13 ビットの長さに切り捨てられます。
LTS を使用すると、特定の時間範囲内の既存データを Lindorm インスタンスに移行できます。ただし、LTS は増分データ移行の効果を保証できません。そのため、既存データを移行する前に、増分データを InfluxDB と Lindorm の両方に書き込むことをお勧めします。
データ保持ポリシー を構成して、InfluxDB のデータを物理的に分離できます。 コールド/ホットデータ分離ポリシーと生存時間 ( TTL ) を構成して、LindormTSDB のデータを物理的に分離できます。 これにより、LindormTSDB にデータが移行される InfluxDB データベースの保持ポリシーは変更されません。
説明詳細については、「データ保持ポリシーの構成」および「データモデルの作成」をご参照ください。
データ移行タスクは、同時サブタスクを実行しません。データベースの保持ポリシーと時間範囲に基づいて、複数のデータ移行タスクを作成できます。このようにして、複数のデータ移行タスクを同時に開始して、移行の同時実行性を向上させることができます。
セルフマネージド InfluxDB インスタンスから LindormTSDB にデータを移行する場合は、Lindorm テクニカルサポート (DingTalk ID: s0s3eg3) にお問い合わせください。
データソースの構成
LindormTSDB データソースの構成
LTS の Web UI にログインします。詳細については、「LTS サービスを購入し、LTS Web UI にログインする」をご参照ください。
左側のナビゲーションウィンドウで、
を選択します。[データソースの追加] ページで、次のパラメーターを構成します。
[名前]: データソースの名前を入力します。
[データソースの種類]: [lindorm-tsdb] を選択します。
[パラメーター]: 次の形式でパラメーターを指定します。
{ "address": "http://ld-bp17j28j2y7pm****-proxy-tsdb-pub.lindorm.rds.aliyuncs.com:8242", "client":"sdk", "schemaPolicy":"WEAK", "accessId": "", "accessKey": "", }
パラメーター
パラメーター
説明
address
[HTTP 用の Lindormtsdb エンドポイント]。詳細については、「エンドポイントの表示」をご参照ください。
client
値を
sdk
に設定します。schemaPolicy
値を
WEAK
に設定します。説明このパラメーターはオプションです。このパラメーターを指定しない場合は、テーブルスキーマを手動で作成する必要があります。詳細については、「スキーマの制約ポリシー」をご参照ください。
accessId
該当なし
該当なし
[追加] をクリックします。ステータスが [関連付け済み] の場合、データソースが追加されています。
InfluxDB データソースの構成
[データソースの追加] ページで、次のパラメーターを構成します。
[名前]: データソースの名前を入力します。
[データソースの種類]: [influxdb] を選択します。
[パラメーター]: 次の形式でパラメーターを指定します。
{ "address": "https://ts-xxxxx:8086", "hdfsUri":"file:///", "accessId": "", "accessKey": "", }
パラメーター
パラメーター
説明
address
HTTPS 用の TSDB for InfluxDB エンドポイント。
hdfsUri
値を
file:///
に設定します。
データ移行タスクの構成と開始
LindormTSDB にターゲットデータベースとターゲットテーブルを作成します。ターゲットデータベースは InfluxDB のソースデータベースに対応し、ターゲットテーブルは InfluxDB のメジャーに対応します。詳細については、「CREATE DATABASE」および「CREATE TABLE」をご参照ください。
説明データは、作成したターゲットデータベースとテーブルにのみ移行されます。 LindormTSDB データソースを構成するときに スキーマポリシー
WEAK
パラメーターを に設定すると、システムは自動的にターゲットテーブルを作成します。LTS Web UI の左側のナビゲーションウィンドウで、
を選択します。[LINDORM TSDB 履歴データ同期] ページで、[新しいジョブの作成] をクリックし、次のパラメーターを指定します。
ソースクラスタ: InfluxDB データソースを選択します。
ターゲットクラスタ: LindormTSDB データソースを選択します。
テーブルマッピング: 移行するデータの範囲を指定します。フォーマット:
{ "type": "shard", "source_database": "test.autogen", "sink_database": "test", "startTime": 1, "endTime": 0 }
パラメーター
説明
source_database
InfluxDB のソースデータベースとデータ保持ポリシー。フォーマット:
<データベース名>.<データ保持ポリシー名>
。例:test.autogen
。説明データベース名のみを指定すると、システムは保持ポリシーが
autogen
であるデータのみを移行します。効果は<データベース名>.autogen
と同等です。sink_database
LindormTSDB に作成したターゲットデータベースにパラメーターを設定します。
startTime
データを移行する時間範囲の開始時刻。 13 桁の UNIX タイムスタンプ形式で時間を指定します。単位: ミリ秒。
endTime
データを移行する時間範囲の終了時刻。デフォルト値は
0
で、現在のタイムスタンプより前に生成されたデータを移行することを指定します。 13 桁の UNIX タイムスタンプ形式で時間を指定します。単位: ミリ秒。type
該当なし
移行の進捗状況の表示
左側のナビゲーションウィンドウで、
を選択します。表示されるページで、タスク名をクリックして、タスクの実行ステータスを表示します。