データ粒度と保持
データ値の集計
-
モニターサービスは、ユーザーセッションの使用状況、ユーザーログオンパフォーマンスの詳細、セッション負荷分散の詳細、接続およびマシンの障害情報など、さまざまなデータを収集します。データはカテゴリに応じて異なる方法で集計されます。ODataメソッドAPIを使用して提示されるデータ値の集計を理解することは、データを解釈するために不可欠です。例:
- 接続されたセッションとマシンの障害は一定期間に発生します。したがって、それらは期間中の最大値として公開されます。
- ログオン期間は時間の長さを測定するものであるため、期間中の平均として公開されます。
- ログオン数と接続障害は期間中の発生回数であるため、期間中の合計として公開されます。
同時データ評価
セッションが同時と見なされるには、重なっている必要があります。ただし、時間間隔が1分の場合、その1分間のすべてのセッション(重なっているかどうかにかかわらず)は同時と見なされます。間隔のサイズが非常に小さいため、精度を計算するのに伴うパフォーマンスオーバーヘッドは、追加される価値に見合いません。セッションが同じ時間に発生しても、同じ分に発生しない場合、それらは重なっているとは見なされません。
サマリーテーブルと生データの相関
-
データモデルはメトリックを2つの異なる方法で表します:
- サマリーテーブルは、メトリックの分、時間、日ごとの時間粒度での集計ビューを表します。
-
生データは、セッション、接続、アプリケーション、およびその他のオブジェクトで追跡される個々のイベントまたは現在の状態を表します。
-
API呼び出し全体またはデータモデル自体内でデータを関連付けようとするときは、次の概念と制限事項を理解することが重要です:
- 部分的な間隔のサマリーデータなし。 メトリックのサマリーは、長期間にわたる履歴トレンドのニーズを満たすように設計されています。これらのメトリックは、完全な間隔についてサマリーテーブルに集計されます。データ収集の開始時(利用可能な最も古いデータ)または終了時の部分的な間隔については、サマリーデータはありません。1日の集計(Interval=1440)を表示する場合、最初と最新の不完全な日にはデータがないことを意味します。これらの部分的な間隔について生データが存在する可能性がありますが、それは決して集計されません。特定のデータ粒度について、最も早いおよび最も遅い集計間隔を決定するために、特定のサマリーテーブルから最小および最大のSummaryDateを取得します。SummaryDate列は間隔の開始を表します。Granularity列は、集計データの間隔の長さを表します。
- 時間による相関。 メトリックは、前のセクションで説明したように、完全な間隔についてサマリーテーブルに集計されます。それらは履歴トレンドに使用できますが、生イベントはトレンド分析のために集計されたものよりも状態においてより最新である可能性があります。サマリーと生データの時間ベースの比較は、発生する可能性のある部分的な間隔、または期間の開始と終了についてサマリーデータがないことを考慮に入れる必要があります。
- 欠落および潜在イベント。 イベントが欠落しているか、集計期間に対して潜在的である場合、サマリーテーブルに集計されるメトリックはわずかに不正確になる可能性があります。モニターサービスは正確な現在の状態を維持しようとしますが、欠落または潜在イベントのためにサマリーテーブルの集計を過去に戻って再計算することはありません。
- 接続の高可用性。 接続HA中、現在の接続のサマリーデータ数にギャップが生じますが、セッションインスタンスは生データで引き続き実行されています。
- データ保持期間。 サマリーテーブルのデータは、生イベントデータのスケジュールとは異なるグルーミングスケジュールで保持されます。データは、サマリーテーブルまたは生テーブルからグルーミングによって削除されたために欠落している可能性があります。サマリーデータの異なる粒度について、保持期間も異なる場合があります。低い粒度のデータ(分)は、高い粒度のデータ(日)よりも迅速にグルーミングされます。グルーミングのためにある粒度からデータが欠落している場合、より高い粒度で見つかる可能性があります。API呼び出しは要求された特定の粒度のみを返すため、ある粒度でデータを受信しないことは、同じ期間のより高い粒度についてデータが存在しないことを意味しません。
- タイムゾーン。 メトリックはUTCタイムスタンプで保存されます。サマリーテーブルは時間ごとのタイムゾーン境界で集計されます。時間ごとの境界にないタイムゾーンの場合、データが集計される場所に関していくつかの不一致がある可能性があります。
粒度と保持
Monitorによって取得される集計データの粒度は、要求された時間 (T) スパンの関数です。ルールは次のとおりです。
- 0 < T <= 30 日の場合、1時間ごとの粒度を使用
- T > 31 日の場合、1日ごとの粒度を使用
集計データから取得されない要求データは、生のセッションおよび接続情報から取得されます。このデータは急速に増加する傾向があるため、独自のグルーミング設定があります。グルーミングにより、関連データのみが長期的に保持されます。これにより、レポート作成に必要な粒度を維持しながら、パフォーマンスが向上します。
| # | 設定名 | 影響を受けるスキーマテーブル | Monitorページで影響を受けるテーブルとグラフ | Premiumの保持日数 | Advancedの保持日数 |
|---|---|---|---|---|---|
| 1 | GroomSessionsRetentionDays | MonitorData.SessionおよびMonitordata.Connectionテーブル | この設定は、セッションの詳細、ユーザーセッションごとのログオン期間、トレンドページ上のアプリケーションベースの使用状況テーブルに影響を与えます。 | 90 | 31 |
| 2 | GroomFailuresRetentionDays | MonitorData.MachineFailureLogおよびMonitorData.ConnectionFailureLog | トレンドページ: この設定は、障害タブのグラフとテーブルに影響を与えます。 | 90 | 31 |
| 3 | GroomLoadIndexesRetentionDays | MonitorData.LoadIndex | この設定は、トレンドページの「ロード評価インデックス」タブに表示されるデータに影響を与えます。 | 3 | 3 |
| 4 | GroomDeletedRetentionDays | LifecycleStateが「Deleted」であるMonitorData.Machine、MonitorData.Catalog、MonitorData.DesktopGroup、およびMonitorData.Hypervisorエンティティ。この設定は、関連するSession、SessionDetail、Summary、Failure、またはLoadIndexレコードも削除します。 | LifecycleStateが「Deleted」であるMachine、Catalog、DesktopGroup、およびHypervisorエンティティ。この設定は、関連するSession、SessionDetail、Summary、Failure、またはLoadIndexレコードも削除します。 | 90 | 31 |
| 5 | GroomSummariesRetentionDays | MonitorData.DesktopGroupSummary、MonitorData.FailureLogSummary、およびMonitorData.LoadIndexSummary | この設定は、トレンドページのすべてのグラフデータに影響を与えます。 | 365 | 31 |
| 6 | GroomMachineHotfixLogRetentionDays | MonitorData.Hotfix | この設定は、マシン詳細ページに表示されるVDAホットフィックスデータに影響を与えます。 | 90 | 31 |
| 7 | GroomHourlyRetentionDays | すべてのSummaryテーブル | これは、トレンドページに表示される週次グラフに影響を与えます。 | 32 | 31 |
| 8 | GroomApplicationInstanceRetentionDays | MonitorData.ApplicationInstance | この設定は、容量管理タブのグラフとテーブル、およびトレンドページのアプリケーション使用状況テーブルに影響を与えます。 | 90 | 該当なし |
| 9 | GroomNotificationLogRetentionDays | MonitorData.NotificationLog | この設定は、Monitorに表示されるアラートに影響を与えます。 | 90 | 該当なし |
-
10 GroomResourceUsageRawDataRetentionDays MonitorData.Resourceutilization この設定は、「履歴マシン使用率」マシン詳細ページに表示されるCPUおよびメモリグラフ、およびコスト最適化領域の「ワークロード適正化タブ」のデータ計算に影響を与えます。 3 3 11 GroomResourceUsageHourDataRetentionDays MonitorData.Resourceutilizationsummary この設定は、「履歴マシン使用率」マシン詳細ページに表示されるCPUおよびメモリグラフ、およびコスト最適化領域の「ワークロード適正化タブ」のデータ計算に影響を与えます。 30 30 -
12 GroomResourceUsageDayDataRetentionDays MonitorData.Resourceutilizationsummary この設定は、トレンドページの「マシンリソース使用率」および特定のマシンの「マシン使用率」ページに表示されるCPUおよびメモリグラフに影響を与えます。 365 31 13 GroomProcessUsageRawDataRetentionDays MonitorData.ProcessUtilization この設定は、マシン履歴使用状況ページに表示されるプロセスごとのリソース傾向情報に影響を与えます。 1 1 14 GroomProcessUsageHourDataRetentionDays MonitorData.ProcessUtilizationHourSummary この設定は、マシン履歴使用状況ページに表示されるプロセスごとのCPUおよびメモリ使用傾向に影響を与えます。 7 7 15 GroomProcessUsageDayDataRetentionDays MonitorData.ProcessUtilizationDaySummary この設定は、マシン履歴使用状況ページに表示されるプロセスごとのCPUおよびメモリ使用傾向に影響を与えます。 30 30 16 GroomSessionMetricsDataRetentionDays MonitorData.Sessionmetrics この設定は、ユーザー詳細ページの「セッションパフォーマンス」タブに表示されるすべてのグラフに影響を与えます。 1 1 17 GroomMachineMetricDataRetentionDays MonitorData.Machinemetrics この設定は、トレンドページの「リソース使用率」タブのグラフとテーブルに影響を与えます。 3 3 18 GroomMachineMetricDaySummaryDataRetentionDays MonitorData.MachineMetricDaySummary この設定は、トレンドページの「リソース使用率」タブのグラフとテーブルに影響を与えます。 365 31 19 GroomApplicationErrorsRetentionDays MonitorData.ApplicationError この設定は、アプリケーションページの「アプリケーションエラー」列に表示されるエラー詳細に影響を与えます。 1 1 20 GroomApplicationFaultsRetentionDays MonitorData.Applicationfailure この設定は、アプリケーションページの「アプリケーション障害」列に影響を与えます。 1 1
注意:
Monitorサービスデータベースの値を変更することはできません。
データを長期間保持することは、テーブルサイズに以下の影響を与えます。
-
1時間ごとのデータ。 1時間ごとのデータがデータベースに最大2年間保持される場合、1000のデリバリーグループを持つサイトでは、データベースが次のように増加する可能性があります。
1000 デリバリーグループ x 24 時間/日 x 365 日/年 x 2 年 = 17,520,000 行のデータ。集計テーブル内のこれほど大量のデータがパフォーマンスに与える影響は甚大です。ダッシュボードデータはこのテーブルから取得されるため、データベースサーバーへの要件は大きくなる可能性があります。過度に大量のデータは、パフォーマンスに劇的な影響を与える可能性があります。
-
セッションおよびイベントデータ。 これは、セッションが開始され、接続/再接続が行われるたびに収集されるデータです。大規模なサイト (10万ユーザー) の場合、このデータは急速に増加します。例えば、これらのテーブルの2年分のデータは1TBを超えるデータとなり、ハイエンドのエンタープライズレベルのデータベースが必要になります。