データの粒度と保持
データ値の集計
Monitor Serviceは、ユーザーセッション使用状況、ユーザーログオンの処理性能の詳細、セッションの負荷分散の詳細、および接続とマシンのエラー情報を含む、さまざまなデータを収集します。 データはカテゴリにより異なる方法で集計されます。 OData Method APIを使って示されたデータ値の集計を理解することは、データの解釈に不可欠です。 次に例を示します:
- 接続セッション(Connected Session)やマシンエラー(Machine Failure)は一定の期間の状態を示すため、 その期間内の最大値として公開されます。
- ログオン期間(LogOn Duration)は時間の長さを示す指標であるため、期間内の平均として公開されます。
- ログオン数(LogOn Count)および接続障害(Connection Failure)は一定の期間に発生した数を示し、期間内の合計値として公開されます。
同時データ評価
重複しているセッションは同時発生していると考える必要があります。 ただし、時間間隔が1分の場合、その1分内のすべてのセッションが(重複していても重複していなくても)同時と見なされます。 この間隔のサイズは非常に小さいため、精度の計算に関連するパフォーマンス上のオーバーヘッドを考慮する必要はありません。 2つのセッションがその1時間内の別々の1分間に発生する場合、それらは重複しているとはみなされません。
サマリー表と生データの相関
データモデルでは、以下の2つの方法でメトリックが示されます:
- サマリーテーブルでは、分単位、時間単位、および日単位のメトリックを集計したものが示されます。
- 生データは、セッション、接続、アプリケーション、およびそのほかのオブジェクト内で記録された個々のイベントまたは現在の状態を示します。
データをAPIコール間またはそのデータモデル内で関連付けるときは、以下の概念および制限事項を考慮してください。
- **未完の間隔にはサマリーデータがありません。 完結した間隔のサマリーテーブルに集計されます。 データ収集の開始時(利用可能な最も古いデータ)や終了時の未完の間隔のサマリーデータはありません。 これは、1日(間隔=1440)の集計値の場合、最初と最後の未完の1日にはデータがないことを意味します。 これらの未完の間隔に生データが存在しても、そのデータが集計されることはありません。 各データ粒度の最初と最後の集計間隔は、各サマリーテーブルから最小と最大のSummaryDateを取得することで決定できます。 SummaryDate列は、間隔の開始時を示します。 Granularity列はその集計データの間隔の長さを示します。</li>
- 時間による関連付け。前述のように、メトリックは完結した間隔のサマリーテーブルに集計されます。 これらの値は履歴傾向を知る目的で使用できますが、生イベントの方が集計された値よりも傾向分析に適切な状態を示している場合があります。 要約データと生データの時間ベースの比較では、発生する可能性のある部分区間、または期間の開始と終了の要約データがないことを考慮する必要があります。
- 欠落イベントまたは潜在イベント。集計期間で欠落または潜在しているイベントがあると、サマリーテーブルに集計されたメトリックが正確でない場合があります。 Monitor Serviceでは現在の状態の正確な維持が試行されますが、過去にさかのぼって欠落イベントや潜在イベントをサマリーテーブルに再集計することはありません。
- 接続の高可用性。接続の高可用性中は、現在の接続の概要データ集計にギャップが発生しますが、セッションインスタンスは生データで引き続き実行されます。
- データの保持期間。サマリーテーブルのデータは、生イベントデータとは異なるグルーミングスケジュールで保持されます。 このため、サマリーテーブルまたは生テーブルのクリーンアップにより、データが消去されている場合があります。 データの保有期間は、サマリーデータの粒度によっても異なる場合があります。 低い粒度(分単位)のデータは、高い粒度(日単位)のデータよりも早くクリーンアップされます。 特定の粒度のデータが消去されていても、より高い粒度のデータが存在している場合があります。 APIコールでは指定した粒度のデータのみが返されるため、データを取得できない場合でもその期間内のより高い粒度では取得できることがあります。
- タイムゾーン。格納されるメトリックのタイムスタンプではUTCが使用されます。 サマリーテーブルは1時間区切りのタイムゾーンごとに集計されます。 1時間区切りのタイムゾーンに属さない場合は、データの集計先に不整合が生じることがあります。</ul>
データの粒度と保持
Directorで取得される集計データの粒度は、要求された時間(T)の関数です。 以下の規則があります。
- 0 < T <= 1時間 - 分単位の粒度を使用
- 0 < T <= 30日 - 時間単位の粒度を使用
- T > 31日 - 1日単位の粒度を使用
集計データから取得されないデータを要求すると、生のセッション(Session)および接続(Connection)情報から取得されます。 このデータの量はすぐに大きくなるため、専用のスケジュールでクリーンアップされます。 クリーンアップにより、意味のあるデータのみが長期間保持されます。 また、レポートに必要な粒度を維持しながら良好なパフォーマンスが提供されます。 Premium Editionでは、クリーンアップ保持を必要な保持日数に変更できます。変更しない場合にはデフォルト値が使用されます。 サイト構成データベースとの接続が切れた場合、Monitor Serviceは、以下の表に指定されているPremium資格のデフォルトの保持日数を使用します:
設定にアクセスするには、Delivery Controller™で以下のPowerShellコマンドを実行します:
asnp Citrix.*
Get-MonitorConfiguration
Set-MonitorConfiguration -<setting name> <value>
<!--NeedCopy-->
| # | 設定名 | 影響を受けるスキーマテーブル | 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 | GroomMinuteRetentionDays | すべてのサマリーテーブル | この設定は、[傾向]ページに表示される「過去2時間」の期間のグラフに影響します。 | 3 | 3 |
| 8 | GroomHourlyRetentionDays | すべてのサマリーテーブル | これは、[傾向]ページに表示される週次グラフに影響します。 | 32 | 31 |
| 9 | GroomApplicationInstanceRetentionDays | MonitorData.ApplicationInstance | この設定は、[容量管理]タブのグラフとテーブル、および[傾向]ページのアプリケーションごとの使用量テーブルに影響します。 | 90 | 該当なし |
| 10 | GroomNotificationLogRetentionDays | MonitorData.NotificationLog | この設定は、Monitorに表示されるアラートに影響します。 | 90 | 該当なし |
| 11 | GroomResourceUsageRawDataRetentionDays | MonitorData.Resourceutilization | この設定は、[マシンの詳細]ページの[マシン使用率の履歴]に表示されるCPUおよびメモリのグラフと、コスト最適化部分の[ワークロードの適正化]タブのデータ計算に影響します。 | 3 | 3 |
| 12 | GroomResourceUsageMinuteDataRetentionDays | MonitorData.ResourceUtilizationSummary | この設定は、[マシンの詳細]ページの[マシン使用率の履歴]に表示される[過去2時間]の期間のCPUおよびメモリのグラフと、コスト最適化部分の[ワークロードの適正化]タブのデータ計算に影響します。 | 7 | 7 |
| 13 | GroomResourceUsageHourDataRetentionDays | MonitorData.Resourceutilizationsummary | この設定は、[マシンの詳細]ページの[マシン使用率の履歴]に表示される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個のデリバリーグループ×24時間/日×365日/年×2年=17,520,000行のデータ」 集計テーブルのデータ量が多いため、パフォーマンスに大きな影響を及ぼします。 ダッシュボードのデータがこのテーブルから取得されると、データベースサーバーに対する要求が高くなることがあります。 データ量が過度に多いと、パフォーマンスが大きく低下することがあります。
-
セッションとイベントのデータ。各セッションの開始時および接続/再接続時に毎回収集されるデータです。 大規模サイト(100,000ユーザーなど)では、このデータの量が急速に増加します。 たとえば、これらのテーブルでは2年間で1TB以上のデータが保持され、高性能なエンタープライズレベルのデータベースが必要になります。