時系列サポートの強化

一般的な構成

Things Cloud オペレーショナルストアは、メジャーメントデータの時系列サポート(いわゆる時系列コレクション)を強化しています。次のセクションでは、この機能を有効/無効にする方法をまとめています。

備考
強化された時系列サポートは、プラットフォーム管理者から新しいテナントに対してデフォルトで使用可能となっています。

時系列サポートの構成方法

強化された時系列サポートは、テナント構成として REST API 経由で構成できます。次の例は、サブテナントの時系列コレクションを 有効 にする方法を示しています。

POST {sub-tenant-url}/tenant/options
Content-Type: application/json
{
    "category": "configuration",
    "key": "timeseries.mongodb.collections.mode",
    "value": "ENABLED"
}

次の例は、サブテナントの時系列コレクションを 無効 にする方法を示しています。

POST {sub-tenant-url}/tenant/options
Content-Type: application/json
{
    "category": "configuration",
    "key": "timeseries.mongodb.collections.mode",
    "value": "DISABLED"
}
備考
テナントオプションは親テナントから継承されません。つまり、エンタープライズテナント(親テナント)でプロパティを有効にしても、サブテナントには影響しません。

構成の影響

構成はメジャーメントデータを保存するコレクションに影響します。プロパティを有効または無効にすることで、システムはバックグラウンドでコレクションを切り替えます。そのため、データが複数のコレクションに存在するような状況になることがあります。このような状態を回避するには、テナントセットアップの開始時、できればメジャーメントデータがまだ保存されていないときにのみプロパティを構成してください。移行とシームレスな構成は、将来のリリースの一部になります。

重要
いったん有効にしたプロパティを DISABLED(無効)に戻すことは、データ消失につながる可能性があるため避けてください。問題や緊急事態が発生した場合にのみ実施してください。

サポートされていない API

次の API はサポートされておらず、代替機能もありません。

  • GET /measurement/measurements/{id}

または、GET /measurement/measurements API を使用してメジャーメントの一覧を取得することもできます。デバイス(source)IDと、デバイスからメジャーメントが送信された正確な時刻を指定することで、結果セットを大幅に絞り込むことができます。返される各メジャーメントドキュメントには識別子が含まれている点に注意してください。

  • DEL /measurements/measurement/{id}

将来のバージョンでこの操作のサポートが追加される予定です。

次の API は一部がサポートされています。

  • DEL /measurements/measurement/

パラメータ dateFromdateTo はサポートされており、時間単位で切り捨てください(例: 2022-08-19T14:00:00.000Z)。そうでない場合はエラーが返されます。

時系列コレクションが有効かどうかの確認方法

次のリクエストで、時系列コレクション プロパティの値を確認することができます。

GET /tenant/options/configuration/timeseries.mongodb.collections.mode
Content-Type: application/json

構成が有効な場合のレスポンス例:

{
"category": "configuration",
"key": "timeseries.mongodb.collections.mode",
"value": "ENABLED"
}

テナントに構成が一切設定されていない場合、上記のリクエストに対し 404 のレスポンスコードが返されます。

移行プロセスの説明

テナント管理者は、テナントまたは任意のサブテナントの時系列コレクションの移行をスケジュールできます。メジャーメントの時系列形式には、次の利点をもたらします。

  • メジャーメント クエリのパフォーマンス向上
  • ストレージ消費量の削減

一般的な構成で説明されているように、API には特定の制限があることに注意してください。

必要条件

この機能を利用するには、テナントが Timeseries-migration マイクロサービスを登録している必要があります。 管理アプリケーションは、拡張機能 c8y-timeseries-migration-plugin を登録している必要があります。

ユーザーは、「テナント管理」権限タイプに対して次の権限を持っている必要があります。

  • すべてのサブテナントの移行ステータスを表示する:読み取り権限
  • 移行活動を実行する:管理者権限

時系列の移行をトリガーする

テナント移行を開始するには、次の手順に従います。

  1. プラグインがインストールされているアプリケーションで、移行 > 時系列 に移動します。デフォルトでは、これは管理アプリケーションです。
  2. 使用可能なテナントのリストから、移行をトリガーするテナントを選択します。
  3. テナント リストのテナントの行にマウスを移動し、Add to queue をクリックして操作を確認します。テナントの移行ステータスが Queued に更新されます。これは、テナントが移行キューに追加されたことを意味します。
重要
移行キューに複数のテナントを追加できますが、移行は一度に 1 つのテナントに対してのみ実行されます。キュー内の次のテナントの移行は、以前に移行されたテナントを承認するまで開始されません。
  1. 移行プロセスがトリガーされると、テナントのステータスは Queued から In progress に変更されます。データが処理され、検証されて新しいコレクションに移行されると、移行のステータスが Verified に変わり、Ongoing migration セクションおよびテナント行にマウスを移動したテナントリストに Approve and finish migration ボタンが表示されます。Approve and finish migration をクリックして、プロセスを確認します。
  2. 確認ポップアップが表示され、次の情報が提供されます。
  • データ移行プロセスを確認した後に使用される、時系列メジャーメントの新しい形式
  • 7 日後にレガシーコレクションが削除されること 確認 をクリックします。これにより、移行のステータスが Approved に変更されます。
    重要
    承認は元に戻せません。移行が確認され、ステータスが Approved に変更された後は、新しいデータ形式で問題が発生した場合でも、データ損失なしにレガシーデータ形式へ戻すことはできません。強化された時系列サポート機能が、上記すべての影響とともに完全に有効になります。
  • この時点までは、課金メトリクスはレガシーデータ形式に保存されているデータに基づいて計算されます。確認後は、課金メトリクスは新しい時系列最適化データ形式に基づいて計算されます。
  1. 7 日後にレガシーメジャーメントコレクションが削除され、移行ステータスが Completed に変更されます。
備考
テナントのステータスが Queued の場合、メジャーメントの移行をキャンセルできます。ステータスが In progress に変更された後、プロセスは Verified 状態に達してユーザーの確認を待つまで停止できなくなります。

移行ステータス

ステータス ユーザーが管理 説明
Legacy measurements はい テナントがまだ移行されていないことを示します。テナントがレガシーメジャーメントを使用している場合、移行がスケジュールされます。
Queued はい テナントが移行キューに追加されていることを示します。この状態のテナントは、移行のために選択できます。この状態から Cancel migration ができます。
In progress いいえ メジャーメントコレクションの移行が現在進行中であることを示します。
Migrated いいえ メジャーメントコレクションの移行が完了したことを示します。
Verifying いいえ 移行されたデータの検証が進行中であることを示します。
Verified はい すべての移行プロセスが完了し、ユーザーの承認が必要であることを示します。
Approved いいえ 移行が完了し、レガシーコレクションが 7 日以内に削除されることを示します。
Completed いいえ 移行が完了し、レガシーコレクションが削除されたことを示します。
Failed いいえ 移行プロセス中にエラーが発生したことを示します。エラーメッセージに提供される情報は、サポートチケットと一緒に転送する必要があります。

説明と進行状況の監視

時系列移行 ページは 2 つのセクションに分かれています。 一番上のセクションは Ongoing migration と呼ばれ、それぞれのテナントの進行中の移行の現在の状態が表示されます。このセクションでは、アクティブなプロセスを制御できます。情報は、移行が開始され、進行中の状態(In progress、Migrated、Verifying、Verified)のいずれかになった後にのみ表示されます。

ここでは、次の情報を確認できます。

  • テナント: 移行プロセスがトリガーされたテナント名
  • リクエスト者: 移行を開始したユーザー名
  • 移行範囲: 日付範囲。開始日が移行される最も古いメジャーメントの日付、終了日が最も新しいメジャーメントの日付です。これは、移行が開始された時点でもあります。
  • 移行ステータス: 右側に表示されるこのバーには、さまざまな機能があります。状態に応じて、進行中のプロセスの現在の状態に関する視覚的な情報を提供したり、特定のプロセス状態を制御できるようにします。ステータスの詳細については、移行ステータスを参照してください。

2 つ目のセクションには、テナントごとに次の情報を含む テナントのリスト が表示されます。

  • テナント: テナント名
  • ID: テナントID
  • ドメイン: テナントドメイン
  • 親テナントID: 親テナントID
  • ステータス: 指定されたテナントの現在の移行状態
  • リクエスト日: テナントが移行のキューに追加された日付
  • リクエスト者: 移行をリクエストしたユーザーのテナント ID と名前
  • 承認日: 移行が管理者によって承認された日付
  • 承認者: 移行を承認したユーザーのテナント ID と名前

テナントの行にマウスを移動すると、移行の状態に応じて次のいずれかのボタンが表示されます。

  • Add to queue: テナントが レガシーメジャーメント 状態の場合、テナントを移行キューに割り当てます。
  • Cancel migration: テナントが Queued 状態の場合、テナントを移行キューから削除します。移行がすでに開始されている場合、移行を中止することはできません。
  • Approve and finish migration: 移行が Verified 状態の場合、移行を承認します。承認待ちのテナントがある場合、他の移行は開始されないことに注意してください。