使用状況の統計と課金

使用状況の統計の表示

必要条件

アプリケーションアクセス:

ユーザーは、マネジメントテナント または エンタープライズテナント(親テナント) の管理アプリケーションへのアクセス権を持つ必要があります。

ロールとアクセス権限:

  • テナントの使用状況の統計を表示する:「テナント管理」権限タイプの読み取り権限

使用状況の統計 ページには、各サブテナントの統計情報が表示されます。

サブテナント統計

サブテナントごとに次の情報が提供されます(スペースが限られているため、上のスクリーンショットではすべての項目は表示されていません)。

フィールド 説明
ID サブテナントのID
テナント サブテナント名
APIリクエスト デバイスおよびアプリケーションからのリクエストを含む、APIリクエスト総数
デバイスAPIリクエスト デバイスからのAPIリクエスト数
ストレージ(MB) アカウントに保存されているデータ量
ピークストレージ(MB) ストレージのピーク値
ルートデバイス 子デバイスを除くルートデバイス数。デバイス数の詳細も参照
ルートデバイスのピーク数 子デバイスを除くルートデバイスのピーク数
デバイス 子デバイスを含む、サブテナントに接続されたデバイスの合計数
デバイスのピーク 子デバイスを含むデバイスのピーク数
エンドポイントデバイス ゲートウェイやエッジを除くリーフデバイス
登録済みアプリケーション サブテナントに登録されているアプリケーション数
作成日時 サブテナントの作成日時
作成されたアラーム 作成されたアラーム数
更新されたアラーム 更新されたアラーム数
作成されたインベントリ 作成されたマネージドオブジェクト数
更新されたインベントリ 更新されたマネージドオブジェクト数
作成されたイベント 作成されたイベント数
更新されたイベント 更新されたイベント数
作成された計測値 作成されたメジャーメント数
作成されたオペレーション 作成されたオペレーション数
更新されたオペレーション 更新されたオペレーション数
受信転送合計 すべての受信転送の合計(アラームの作成、アラームの更新、イベントの作成、イベントの更新、インベントリの作成、インベントリの更新、メジャーメントの作成、オペレーションの作成、オペレーションの更新)
CPU(M) マイクロサービスのCPU使用率(CPUミリコアで指定)、詳細はマイクロサービスの使用状況を参照
メモリ(MB) マイクロサービスのメモリ使用量、詳細はマイクロサービスの使用状況を参照
親テナント 親テナント名(マネジメントテナントにのみ利用可能)
外部参照 このフィールドは個別の用途向けです。例えば、CRMシステムへのリンクや内部顧客番号などを追加できます

さらに、カスタムプロパティが設定されている場合は表示されます。

カスタムプロパティは、プロパティライブラリで定義し、テナントのカスタムプロパティタブで値を設定できます。

トップメニューバーに開始日と終了日を追加して 適用 をクリックすると、ある期間の使用統計リストをフィルター処理できます。使用状況の統計 ページには、この期間のすべてのサブテナントの数値が表示されます。

備考
選択した期間の後にテナントが作成された場合、そのテナントは表示されますが、数字は「0」です。

列名の横にあるフィルターアイコン をクリックし、フィルター条件を指定して、任意の列のリストをフィルター処理したり、並べ替えることもできます。詳細は、絞り込み(フィルタリング)を参照してください。

重要
ここで使用される日付/時刻の範囲は、タイムゾーンが異なるためにサーバーの時刻と異なる場合があります。

使用状況の統計表をエクスポートする

  1. トップメニューバーの右側にある「CSV をエクスポート」をクリックして、統計表の現在のビューを CSV ファイルにエクスポートします。
  2. 表示されるダイアログボックスで、フィールド区切り記号、小数点記号、および文字セットを指定して、CSV 出力をカスタマイズできます。
  3. ダウンロードをクリックしてエクスポートを開始します。

CSV ファイルがダウンロードされます。

デバイス数の詳細

デバイス数の計算では、最上位のデバイスのみが デバイス マーカー フラグメント c8y_IsDevice でマークされているものと想定しています。 したがって、計算には次の式が使用されます。

  • ルートデバイス: c8y_IsDeviceフラグメントを持つすべてのデバイス
  • すべてのデバイス: c8y_IsDeviceフラグメントを持つすべてのデバイスと、全デバイス階層からの子デバイス
  • リーフデバイス: c8y_IsDeviceフラグメントを持つデバイスから始まるデバイス階層のリーフのみ

子デバイスも c8y_IsDevice フラグメントでマークされている場合、計算結果が予想と異なる場合があります。

マイクロサービスの使用状況

マイクロサービスの使用状況機能は、各マイクロサービスのサブテナントごとのリソース使用状況に関する情報を収集します。これにより、エンタープライズテナント(親テナント) とサービスプロバイダーは、サブスクリプションだけでなくリソース使用状況に基づいてテナントに課金できます。

課金モード

Things Cloud では、2 つの課金モードを提供します。

  • サブスクリプションベースの課金: テナントがマイクロサービスを登録している場合、リソース使用状況は所有者に割り当てられ、一定の料金が課金されます。

  • リソースベースの課金: マイクロサービスで使用されるリソース数を明示して課金を計算します。

課金モードはマイクロサービスマニフェストでマイクロサービスごとに指定され、「billingMode」フィールドに設定されます。

リソース: 課金モードをリソースベースに設定します。これはデフォルトのモードで、サブスクリプションベースの課金モードに明示的に切り替えられていないすべてのマイクロサービスに適用されます。

サブスクリプション: 課金モードをサブスクリプションベースに設定します。

分離レベル

マイクロサービスには、テナントごとの分離とマルチテナントの分離の 2 つの分離レベルがあります。

サブスクリプションベースの課金の場合、リソース使用量全体は、分離レベルに関係なく常にマイクロサービスの所有者に割り当てられますが、登録したテナントにはサブスクリプションの料金が請求されます。

リソースベースの課金の場合、課金は分離レベルによって異なります。

  • 各テナント: サブスクライバーのテナントには、使用されたリソースに対して課金されます。
  • マルチテナント: マイクロサービスの所有者は、使用したリソースに対して課金されます。

マルチテナント分離レベルの場合、マイクロサービスの所有者(エンタープライズテナント(親テナント)のマネジメントテナントまたはサービスプロバイダーなど)は、サブテナントの使用済みリソースに対して課金されます。サブテナントは、マイクロサービスの所有者とサブスクライブされたテナント間の契約に従って、サブスクリプションに基づいて課金される必要があります。登録されたアプリケーションのリストは、テナントアプリケーションの一部として subscribedApplications として利用できます。

課金モードと分離レベルに対するリソース使用量の割り当て

課金モード マイクロサービス分離 割り当てられたリソース使用量
サブスクリプションベース 各テナント 所有者
サブスクリプションベース マルチテナント 所有者
リソースベース 各テナント サブスクライバー
リソースベース マルチテナント 所有者

収集された値

テナントごとに、次の値が毎日収集されます。

  • CPU使用率(CPUミリコアで指定、1000m = 1 CPU)
  • メモリ使用量(MBで指定)

マイクロサービスリソースは、マイクロサービスマニフェストで1日ごとに定義された上限に基づいてカウントされます。毎日の終わりにリソースの使用状況に関する情報がテナント統計に収集されます。また、マイクロサービスが一日中サブスクライブされていない場合も考慮されます。

テナントがマイクロサービスに12時間サブスクライブされ、マイクロサービスに4つのCPUと4GBのメモリがある場合、2000 CPUミリコアと2048MBのメモリとしてカウントされます。

課金目的で、CPU使用率とメモリ使用量に加えて、課金の原因(所有者やテナントのサブスクリプションなど)が収集されます。

{ "name": "cep", "cpu": 6000, "memory": "20000", "cause": "Owner" }, { "name": "cep-small", "cpu": 1000, "memory": "2000", "cause": "Subscription for tenant" }

マイクロサービスの使用状況に関する情報は、使用状況の統計 ページに表示されます。

テナント統計

詳細については、Things Cloud OpenAPI仕様の Tenants を参照してください。詳細は、毎日の使用量についてのみ利用可能であることに注意してください。概要クエリの場合、発行されたすべてのリクエストの合計のみが返されます。

スケーリング

自動スケーリングは、マイクロサービスを監視し、可能な限り低いコストで安定した予測可能なパフォーマンスを維持するために容量を自動的に調整します。マイクロサービスマニフェストでプロパティ scale を設定することで、マイクロサービスのスケーリングを簡単に構成できます。

例えば、スケールポリシーがAUTOに設定されたマイクロサービスがあり、CPU使用率から新しいマイクロサービスインスタンスを3時間起動する必要があることが示された場合、課金ログには次のように記録されます: (24/24 + 3/24) * 消費されたリソース

  • 24/24: 1つ目のインスタンスが一日中アクティブ
  • 3/24: 2つ目のインスタンスが3時間のみアクティブ

インスタンス数が変更されるたびに監査記録が作成されることに注意してください。

詳細については、Things Cloud OpenAPI仕様の Audits を参照してください。

タイムゾーンの処理

重要
Things Cloud プラットフォームのサーバーは、デフォルトでUTCタイムゾーンで動作します。他のタイムゾーンもプラットフォームでサポートされており、インストール時にサービスプロバイダーによって選択できます。したがって、一般的な計測機能は、UTC以外のサーバータイムゾーンでも保証されます。

テナントの使用状況統計は、サーバーのタイムゾーンで定義される一日の始まり(BOD)と一日の終わり(EOD)に従って毎日収集されます。その結果、ユーザーのローカルタイムゾーンがサーバーのタイムゾーンと異なる場合、ユーザーによってトリガーされたオペレーションは、サーバーの時間に応じて別の日に割り当てられることがあります。

リクエストカウント - 例 1
デバイス サーバー
タイムゾーン CEST +2h UTC
メジャーメント送信時間 26.08.2020T01:30:00+02:00 25.08.2020T23:30:00Z

結果:

リクエストは、リクエスト処理のサーバー時間である25.08.2020の日付に課金されます。

リクエストカウント - 例 2
デバイス サーバー
タイムゾーン UTC UTC
メジャーメント送信時間 26.08.2020T01:30:00Z 26.08.2020T01:30:00Z

結果:

リクエストは、サーバー時間がデバイス時間と同じである26.08.2020の日付で課金されます。

マイクロサービス リソースの課金 - 例 1
ユーザー サーバー
タイムゾーン CEST +2h UTC
サブスクライブ時間 26.08.2020T12:00:00+02:00 26.08.2020T10:00:00Z
サブスクライブ解除時間 27.08.2020T12:00:00+02:00 27.08.2020T10:00:00Z

結果:

リソースは主に26.08.2020に割り当てられます。UTCタイムゾーンによると、マイクロサービスはその日に14時間アクティブで、翌日は10時間アクティブだったためです。これは、ユーザーの観点からはマイクロサービスは毎日12時間アクティブだったため、ユーザーの期待とは少し異なる可能性があります。

マイクロサービス リソースの課金 - 例 2
ユーザー サーバー
タイムゾーン KI +14h(キリバス諸島) UTC
サブスクライブ時間 26.08.2020T12:00:00+14:00 25.08.2020T22:00:00Z
サブスクライブ解除時間 26.08.2020T20:00:00+14:00 26.08.2020T06:00:00Z

結果:

ユーザーの観点からは、マイクロサービスは26.08.2020に8時間サブスクライブされていましたが、サーバー時間では25.08.2020のEODの2時間前、26.08.2020のBODの6時間後でした。

マイクロサービス リソースの課金 - 例 3
ユーザー サーバー
タイムゾーン CEST AS -11h(米領サモア)
サブスクライブ時間 26.08.2020T12:30:00+2:00 25.08.2020T23:30:00Z
サブスクライブ解除時間 26.08.2020T13:00:00+2:00 25.08.2020T24:00:00Z

結果:

この場合、サーバー時間とユーザー時間の間に大きな時間差があります。すべてのリソースは、サーバー時間に従って25.08.2020の日付に課金されます。

毎日の処理

使用統計は、リクエスト数のような進行する値と、特定の期間における状態のスナップショットである値で構成されます。後者のタイプのデータの場合、値は毎日数回更新されますが、EOD(End of the Day - 一日の終わり)からの値は特定の日に割り当てられた値です。

値のタイプ 更新
リクエスト数フラッシュ 5分ごと
使用済みストレージ 9、17 および EOD
デバイス数 9、17 および EOD
登録されたアプリケーション 9、17 および EOD
マイクロサービスリソース 9、17 および EOD

ライフサイクル

テナント

Things Cloud プラットフォームのテナントには、いくつかの状態があります。

  • アクティブ: テナントがプラットフォームと対話できる一般的な状態。この状態では、すべての課金値が保存および更新されます。
  • サスペンド: サスペンドされたテナントは、リクエスト数とマイクロサービスリソースに対して課金されません。引き続きカウントされる値は、テナントの存在とストレージサイズのみです。マイクロサービスリソースの使用量は「使用済み」として課金されます。つまり、テナントがサスペンド状態に切り替わると、すべてのマイクロサービスが停止するため、課金するリソースがありません。
  • 削除済み: これは元に戻れないポイントです。テナントはリソースに対して課金されませんが、データを復元する方法もありません。

マイクロサービス

マイクロサービスとしてプラットフォームにデプロイされた拡張機能はすべて「使用済み」として課金され、使用開始に応じて課金が開始されます。アプリケーションがテナントに登録されると、アプリケーションの起動プロセスがトリガーされ、いくつかの高レベルのフェーズが実行されます。

  • 保留中: マイクロサービスの開始がスケジュールされていますが、Dockerコンテナはまだ実行されていません。この状態では、マイクロサービスはまだ課金されていません。
  • スケジュール済み: マイクロサービスがノードに割り当てられ、Dockerコンテナの初期化が開始されました。マイクロサービスのリソースはすでに割り当てられているため、課金が開始されます。
  • Not ready: マイクロサービスコンテナはまだ受信トラフィックを処理する準備ができていませんが、アプリケーションはすでに実行されています。
  • Ready: マイクロサービスコンテナは、受信トラフィックを処理する準備ができています。「Ready」は、マイクロサービスマニフェストで定義されたlivenessおよびreadinessプローブに基づいて解決されます。プローブが定義されていない場合、マイクロサービスはすぐに準備完了です。

リソースの課金対象テナントは、監査ログでマイクロサービスの課金が変更された時点を確認できます。例えば、「アプリケーション ‘…’ のインスタンス数をXからYにスケーリング」などの監査ログエントリには、マイクロサービスによって消費されるインスタンスとリソースの変更に関する情報が含まれます。

テナントは、アプリケーションの詳細でアプリケーションのライフサイクル全体も確認できる必要があります。ステータス タブには、アプリケーションの起動の非常に低レベルの段階を示す イベント セクションがあります。最も重要なものは次の通りです。

  • Pod "apama-ctrl-starter-scope-..." created.: テナントに対して新しいマイクロサービスインスタンスの開始がスケジュールされました。これにより、リソースの割り当てが成功したことを意味しますが、アプリケーションはまだ実行されていません(「スケジュール済み」状態に対応)
  • Pulling image "apama-ctrl-starter-scope-...": マイクロサービスの初期化プロセスが開始され、Dockerイメージのダウンロードが進行中です(「スケジュール済み」状態)
  • Container created.: マイクロサービスコンテナが作成されましたが、まだ開始されていません(「スケジュール済み」状態)
  • Container started.: マイクロサービスコンテナが開始されましたが、まだ受信トラフィックを処理する準備ができていません(「Not ready」状態)
備考
マイクロサービスが「Ready」状態に達したとき、イベント セクションにはイベントがありません。これはreadinessプローブに従って発生するためです。

監査ログとイベントは、分離レベルに応じてテナントスペースに保存されます。マルチテナントの分離されたマイクロサービスの場合、これはマイクロサービスの所有者であるテナントであり、テナントごとの分離レベルの場合はサブスクライブされたテナントです。