成本优化
Citrix Director 现在推出了一项名为“成本优化”的新功能,该功能可帮助您有效地分析虚拟机和会话的使用情况。 此功能提供了有关如何优化成本的有见地的直观表示。 它还可以帮助您消除不必要的计算机,从而降低成本。
为了支持成本优化,还引入了以下警报:
还可以检查最近进行过电源操作的计算机,以分析导致出现用户问题的电源开启故障和增加成本的电源关闭故障。 有关详细信息,请参阅检查最近执行过电源操作的计算机部分。
单击主页页面左侧菜单中的成本优化选项卡,访问成本优化页面。

在成本优化主页上,可以执行以下操作:
- 链接入门 - 访问此链接以了解有关成本优化功能的更多信息。
- 查看成本优化页面 - 可以在成本优化页面上提供反馈
- 刷新数据。
- 查看警报 - 可以查看严重警报和警告警报。
成本优化页面包括以下功能:
如何计算优化成本
每台计算机每小时的成本以虚拟机管理程序支持的货币显示。 本部分内容介绍如何计算 Azure 计算机和其他计算机的成本。
Azure 计算机的成本
计算成本的优先顺序如下:
- 当 ‘Microsoft.Consumption/pricesheets/read 权限可用时,有效价格将以在 Azure 订阅中配置的货币显示。
- 如果权限不可用,则会显示 Azure 零售价。 有关详细信息,请参阅 Azure Retail Prices overview(Azure 零售价格概述)。
- 当有效价格或零售价不可用时,将根据管理员在 Web Studio 中输入的成本显示成本。 有关详细信息,请参阅文档的计算机成本部分。
- 如果 Web Studio 中未提及任何费用,则假定默认费用 1 美元。
要查找 Azure 的帐户详细信息并添加查找有效价格所需的权限,请执行以下操作:
- 导航到 Citrix DaaS。
- 单击托管选项卡以查找托管连接帐户。
-
查找托管选项卡中提到的应用程序 ID。

- 转到 Azure AD 并查找步骤 3 中记下的应用程序 ID。
-
转到订阅 > 访问控制(IAM) > 选择为托管连接 SPN 配置的自定义角色。


- 向角色中添加 Microsoft.Consumption/pricesheets/read 权限。
如何验证 Azure 零售价
如果 Microsoft.Consumption/pricesheets/read 不可用,则会显示 Azure 零售价。 现在您可以使用零售价价格 API 获取所有 Azure 服务的零售价。 以前,检索 Azure 服务价格的唯一方法是使用 Azure 定价计算器或使用 Azure 门户。 有关详细信息,请参阅 Azure Retail Prices overview(Azure 零售价格概述)。
计算 Azure 以外的计算机的成本
对于其他计算机,成本是根据管理员在 Web Studio 中输入的成本显示的。 如果 Web Studio 中未提及任何费用,则假定默认费用 1 美元。
导出数据
可以使用数据集成和 ODATA 查询导出成本优化页面上的数据。 要导出数据,请单击成本优化页面上的导出数据,此时将显示以下选项:
- 设置数据集成
- 用于成本优化的 ODATA 查询

设置数据集成
可以将成本优化数据与 Monitor Service API 集成,使用该 API 可以收集数据来排除故障并对问题进行分类。 有关详细信息,请参阅集成和数据导出页面。
用于成本优化的 ODATA 查询
可以使用成本优化页面上可用的示例 ODATA 查询来导出数据。
开始使用 ODATA
以下链接可帮助您开始使用 ODATA:
- ODATA 概述
- 使用 Citrix Cloud 中的 OData v4 端点访问 Citrix Monitor Service 数据的不同方法
- 在 Citrix Monitor Service 数据中使用 OData V4 汇总查询
- 如何使用 OData 和 API 客户端将 PowerBI 与 DaaS Monitor 连接
- 使用 Postman 获取登录时间较长的用户的详细信息
- 如何访问 Monitor Service 数据
- 数据访问协议
- Monitor 模式
- 监控通知
示例 ODATA 查询
找出未使用的 VDA
要找出未使用的 VDA,必须提供该 VDA 的桌面组 ID、开始日期和结束日期。
有关减少未使用资源支出的详细信息,请参阅合理调整工作负载。
示例查询:
https://<DDC URL>/monitorodata/ResourceUtilizationSummary?$apply=filter(DesktopGroupId eq desktop-group-id and granularity eq 1440 and SummaryDate ge startdate and SummaryDate lt enddate)/groupby((MachineId), aggregate(cast(TotalSessionCount, Edm.Int32) with average as AvgTotalSessionCount))/filter(AvgTotalSessionCount eq 0.0)/aggregate($count as UnusedVDACount)
<!--NeedCopy-->
以分钟为单位了解每日平均正常运行时间
要了解每日平均正常运行时间(分钟),必须提供以下信息:
- 桌面组 ID
- 开始日期
- 结束日期
- 结束日期与开始日期之间的天数差。
有关减少未使用资源支出的详细信息,请参阅合理调整工作负载。
示例查询:
https://[<DDC URL>|https://api-us.cloud.com/monitorodata/ResourceUtilizationSummary?$apply=filter(DesktopGroupId] /monitorodata/ResourceUtilizationSummary?$apply=filter(desktopGroupId eq desktop-group-id and granularity eq 1440 and SummaryDate ge startdate and SummaryDate lt enddate)/groupby((MachineId), aggregate(cast(UptimeInMinutes, Edm.Int32) div day-difference with sum as TotalUptimeInMinutes))/aggregate(TotalUptimeInMinutes with average as DailyAverageUptimeInMinutes)
<!--NeedCopy-->
找出失败的计算机电源操作
有关失败的计算机电源操作的详细信息,请参阅失败的打开电源操作和失败的关闭电源操作。
示例查询:
https:// <DDC URL> /monitorodata/Machines?$filter=LifecycleState eq 0 and DesktopGroup/SessionSupport eq 1 and (cast(LastPowerActionReason,'Edm.Int32') eq 6 or cast(LastPowerActionReason,'Edm.Int32') eq 7 or cast(LastPowerActionReason,'Edm.Int32') eq 8) and (cast(LastPowerActionFailureReason,'Edm.Int32') eq 300 or cast(LastPowerActionFailureReason,'Edm.Int32') eq 402 or cast(LastPowerActionFailureReason,'Edm.Int32') eq 401) and MachineRole eq 0&$orderby=Name&$skip=0&$top=50&$expand=DesktopGroup($select=Name)&$select=Sid,Id,Name,IsAssigned,IPAddress,FaultState,LastDeregisteredCode,FailureDate,CurrentPowerState,CurrentSessionCount,IsInMaintenanceMode,LastPowerActionFailureReason,LastPowerActionCompletedDate
<!--NeedCopy-->
了解总节省金额
有关成本节省金额的详细信息,请参阅成本节省金额页面。
示例查询:
https://[<DDC URL>|https://api-us.cloud.com/monitorodata/ResourceUtilizationSummary?$apply=filter(DesktopGroupId] /monitorodata/MachineCostSavingsSummaries?$apply=aggregate(TotalAmountSaved with sum as TotalAmountSavedSum)
<!--NeedCopy-->
了解计算机状态
有关成本节省金额的详细信息,请参阅成本节省金额页面。
示例查询:
https:// <DDC URL> /monitorodata/MachineCostSavingsSummaries?$filter=SummaryDate eq 2024-08-09T06:00:00Z&$select=TotalMachinesCount,PowerManagedMachinesOff,PowerManagedMachinesInHibernate,PowerManagedMachinesOnWithSessions,PowerManagedMachinesOnWithoutSessions
<!--NeedCopy-->