データ粒度と保持
データ値の集計
Monitor Serviceは、ユーザーセッションの使用状況、ユーザーログオンパフォーマンスの詳細、セッション負荷分散の詳細、接続およびマシン障害情報など、さまざまなデータを収集します。データはカテゴリに応じて異なる方法で集計されます。OData Method APIを使用して提示されるデータ値の集計を理解することは、データを解釈するために不可欠です。例:
-
接続されたセッションとマシン障害は一定期間に発生します。したがって、それらは期間中の最大値として公開されます。
-
ログオン期間は時間の長さを測定するものであるため、期間中の平均値として公開されます。
-
ログオン数と接続障害は一定期間に発生した回数であるため、期間中の合計値として公開されます。
同時データ評価
セッションは、同時と見なされるためには重複している必要があります。ただし、時間間隔が1分の場合、その1分間のすべてのセッション(重複しているかどうかにかかわらず)は同時と見なされます。間隔のサイズが非常に小さいため、精度を計算するのに伴うパフォーマンスオーバーヘッドは、追加される価値に見合いません。セッションが同じ時間内に発生しても、同じ分内に発生しない場合、それらは重複しているとは見なされません。
サマリーテーブルと生データの相関
データモデルは、メトリックを2つの異なる方法で表します。
-
サマリーテーブルは、分、時間、日ごとの時間粒度でメトリックの集計ビューを表します。
-
生データは、セッション、接続、アプリケーション、およびその他のオブジェクトで追跡される個々のイベントまたは現在の状態を表します。
API呼び出し間またはデータモデル自体内でデータを相関させようとするときは、以下の概念と制限を理解することが重要です。
-
部分的な間隔のサマリーデータはありません。 メトリックのサマリーは、長期間にわたる履歴トレンドのニーズを満たすように設計されています。これらのメトリックは、完全な間隔でサマリーテーブルに集計されます。データ収集の開始時(利用可能な最も古いデータ)または終了時の部分的な間隔には、サマリーデータはありません。1日の集計(Interval=1440)を表示する場合、これは最初と最新の不完全な日にはデータがないことを意味します。これらの部分的な間隔には生データが存在する可能性がありますが、それは決して要約されません。特定のデータ粒度について、特定のサマリーテーブルから最小および最大のSummaryDateを抽出することで、最も早い集計間隔と最も遅い集計間隔を決定できます。SummaryDate列は間隔の開始を表します。Granularity列は、集計データの期間の長さを表します。
-
時間による相関。 メトリックは、前述のセクションで説明されているように、完全な間隔でサマリーテーブルに集計されます。これらは履歴トレンドに使用できますが、生イベントはトレンド分析のために要約されたものよりも現在の状態をより正確に反映している可能性があります。サマリーと生データの時間ベースの比較では、発生する可能性のある部分的な間隔、または期間の開始と終了にはサマリーデータがないことを考慮する必要があります。
-
見逃されたイベントと潜在的なイベント。 集計テーブルに集計されるメトリックは、イベントが見逃されたり、集計期間に対して潜在的であったりする場合、わずかに不正確になる可能性があります。モニターサービスは正確な現在の状態を維持しようとしますが、見逃されたイベントや潜在的なイベントのために、集計テーブルの集計を再計算するために過去に遡ることはありません。
-
接続の高可用性。 接続の高可用性中、現在の接続のサマリーデータカウントにギャップが生じますが、セッションインスタンスは引き続き生データで実行されます。
-
データ保持期間。 サマリーテーブルのデータは、生イベントデータのスケジュールとは異なるグルーミングスケジュールで保持されます。サマリーテーブルまたは生テーブルからグルーミングによってデータが削除されたため、データが欠落している可能性があります。保持期間は、サマリーデータの異なる粒度によっても異なる場合があります。粒度の低いデータ(分単位)は、粒度の高いデータ(日単位)よりも早くグルーミングされます。グルーミングによってある粒度からデータが欠落している場合でも、より高い粒度で見つかる可能性があります。API呼び出しは要求された特定の粒度のみを返すため、ある粒度でデータが受信されないからといって、同じ期間のより高い粒度でデータが存在しないという意味ではありません。
-
タイムゾーン。 メトリックはUTCタイムスタンプで保存されます。サマリーテーブルは、時間単位のタイムゾーン境界で集計されます。時間単位の境界に該当しないタイムゾーンの場合、データが集計される場所に関して多少の不一致が生じる可能性があります。
粒度と保持
Directorによって取得される集計データの粒度は、要求された時間 (T) スパンの関数です。ルールは次のとおりです。
-
0 \< T \<= 1時間 - 分単位の粒度を使用
-
0 \< T \<= 30日 - 時間単位の粒度を使用
-
T \> 31日 - 日単位の粒度を使用
集約データから取得されない要求データは、生のセッションおよび接続情報から取得されます。このデータは急速に増加する傾向があるため、独自のグルーミング設定があります。グルーミングにより、関連データのみが長期的に保持されます。グルーミングは、レポート作成に必要な粒度を維持しながら、パフォーマンスを向上させます。Premiumライセンスサイトのお客様は、グルーミング保持期間を希望する保持日数に変更できます。変更しない場合は、デフォルトが使用されます。サイトデータベースとの接続が失われた場合、Monitor Serviceは、以下の表に指定されているPremiumエンタイトルメントのデフォルトの保持日数を使用します。
設定にアクセスするには、Delivery Controller™ で次のPowerShellコマンドを実行します。
asnp Citrix.*
Get-MonitorConfiguration
Set-MonitorConfiguration -<setting name> <value>
| # | 設定名 | 影響を受けるスキーマテーブル | モニターページで影響を受けるテーブルとグラフ | 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 | GroomMinuteRetentionDays | すべてのサマリーテーブル | この設定は、トレンドページに表示される「過去2時間」の時間期間のグラフに影響します。 | 3 | 3 |
| 8 | GroomHourlyRetentionDays | すべてのサマリーテーブル | これは、トレンドページに表示される週次グラフに影響します。 | 32 | 31 |
| 9 | GroomApplicationInstanceRetentionDays | MonitorData.ApplicationInstance | この設定は、キャパシティ管理タブのグラフとテーブル、およびトレンドページのアプリケーション使用状況テーブルに影響します。 | 90 | 該当なし |
| 10 | GroomNotificationLogRetentionDays | MonitorData.NotificationLog | この設定は、Monitor に表示されるアラートに影響します。 | 90 | 該当なし |
| 11 | GroomResourceUsageRawDataRetentionDays | MonitorData.Resourceutilization | この設定は、「Historical Machine Utilization」の「Machine Details」ページに表示されるCPUおよびメモリのグラフに影響します。 | 3 | 3 |
| 12 | GroomResourceUsageMinuteDataRetentionDays | MonitorData.ResourceUtilizationSummary | この設定は、「Historical Machine Utilization」の「Machine Details」ページに表示される「Last 2 Hours」の時間期間のCPUおよびメモリのグラフに影響します。 | 7 | 7 |
| 13 | GroomResourceUsageHourDataRetentionDays | MonitorData.Resourceutilizationsummary | この設定は、「Historical Machine Utilization」の「Machine Details」ページに表示されるCPUおよびメモリのグラフに影響します。 | 30 | 30 |
| 14 | GroomResourceUsageDayDataRetentionDays | MonitorData.Resourceutilizationsummary | この設定は、トレンドページの「リソース使用率」のマシンに表示されるCPUとメモリのグラフ、および特定の「マシン使用率」ページに影響します。 | 365 | 31 |
| 15 | GroomProcessUsageRawDataRetentionDays | MonitorData.ProcessUtilization | この設定は、マシンの履歴使用状況ページに表示されるプロセスごとのリソース傾向情報に影響します。 | 1 | 1 |
| 16 | GroomProcessUsageMinuteDataRetentionDays | MonitorData.ProcessUtilizationMinuteSummary | この設定は、履歴マシン使用率ページに表示される「過去2時間」のプロセスごとのCPUとメモリ使用量グラフに影響します。 | 3 | 3 |
| 17 | GroomProcessUsageHourDataRetentionDays | MonitorData.ProcessUtilizationHourSummary | この設定は、マシンの履歴使用状況ページに表示されるプロセスごとのCPUおよびメモリ使用量の傾向に影響します。 | 7 | 7 |
| 18 | GroomProcessUsageDayDataRetentionDays | MonitorData.ProcessUtilizationDaySummary | この設定は、マシンの履歴使用状況ページに表示されるプロセスごとのCPUおよびメモリ使用量の傾向に影響します。 | 30 | 30 |
| 19 | GroomSessionMetricsDataRetentionDays | MonitorData.Sessionmetrics | この設定は、ユーザー詳細ページの「セッションパフォーマンス」タブに表示されるすべてのグラフに影響します。 | 1 | 1 |
| 20 | GroomMachineMetricDataRetentionDays | MonitorData.Machinemetrics | この設定は、トレンドページの「リソース使用率」タブにあるグラフと表に影響します。 | 3 | 3 |
| 21 | GroomMachineMetricDaySummaryDataRetentionDays | MonitorData.MachineMetricDaySummary | この設定は、トレンドページの「リソース使用率」タブにあるグラフと表に影響します。 | 365 | 31 |
| 22 | GroomApplicationErrorsRetentionDays | MonitorData.ApplicationError | この設定は、アプリケーションページの「アプリケーションエラー」列に表示されるエラー詳細に影響します。 | 1 | 1 |
| 23 | GroomApplicationFaultsRetentionDays | MonitorData.Applicationfailure | この設定は、アプリケーションページの「アプリケーション障害」列に影響します。 | 1 | 1 |
注意:
Monitor Serviceデータベースの値を変更した場合、新しい値を有効にするにはサービスを再起動する必要があります。Monitor Serviceデータベースへの変更は、Citrixサポートの指示の下でのみ行うことをお勧めします。
設定GroomProcessUsageRawDataRetentionDays、GroomResourceUsageRawDataRetentionDays、およびGroomSessionMetricsDataRetentionDaysはデフォルト値の1に制限されており、GroomProcessUsageMinuteDataRetentionDaysはデフォルト値の3に制限されています。プロセス使用状況データは急速に増加する傾向があるため、これらの値を設定するPowerShellコマンドは無効になっています。 また、ライセンスベースの保持設定は次のとおりです。
-
Premiumライセンスサイト - すべての設定のグルーミング保持期間は1000日(Citrixは365日を推奨)に制限されています。
-
Advancedライセンスサイト - すべての設定のグルーミング保持期間は31日に制限されています。
-
その他のすべてのサイト - すべての設定のグルーミング保持期間は7日に制限されています。
例外:
-
GroomApplicationInstanceRetentionDays は、Premiumライセンスサイトでのみ設定できます。
-
GroomApplicationErrorsRetentionDays および GroomApplicationFaultsRetentionDays は、Premiumライセンスサイトでは31日間に制限されます。
長期間データを保持すると、テーブルサイズに以下の影響があります:
-
時間単位のデータ。 時間単位のデータが最大2年間データベースに残ることを許可すると、1000のデリバリーグループを持つサイトでは、データベースが次のように増加する可能性があります:1000のデリバリーグループ x 24時間/日 x 365日/年 x 2年 = 17,520,000行のデータ。集計テーブル内のこれほど大量のデータがパフォーマンスに与える影響は甚大です。ダッシュボードデータはこのテーブルから取得されるため、データベースサーバーへの要件は大きくなる可能性があります。過度に大量のデータは、パフォーマンスに劇的な影響を与える可能性があります。
-
セッションおよびイベントデータ。 セッションが開始され、接続/再接続が行われるたびに収集されるデータです。大規模なサイト(10万ユーザー)の場合、このデータは急速に増加します。たとえば、これらのテーブルの2年分のデータは1TBを超えるデータとなり、ハイエンドのエンタープライズレベルのデータベースが必要になります。