成本优化
Citrix Monitor 现已推出一项名为“成本优化”的新功能,可帮助您有效分析虚拟机和会话的使用情况。此功能提供富有洞察力的可视化表示,说明如何优化成本。它还有助于您消除不必要的计算机,从而降低成本。
为支持成本优化,还引入了以下警报:
您还可以检查最近执行过电源操作的计算机,以分析导致用户问题的电源开启失败和增加成本的电源关闭失败。有关详细信息,请参阅检查最近执行过电源操作的计算机部分。
单击主页左侧菜单中的成本优化选项卡,访问成本优化页面。
在成本优化主页上,您可以执行以下操作:
- “入门”链接 - 访问此链接可了解有关成本优化功能的更多信息。
- 查看成本优化页面 - 您可以就成本优化页面提供反馈。
- 刷新数据。
- 查看警报 - 您可以查看严重警报和警告警报。
- 导出数据
成本优化页面包含以下功能:
如何计算成本优化成本
每台计算机每小时的成本以管理程序支持的货币显示。本部分介绍如何计算 Azure 计算机和其他计算机的成本。
Azure 计算机的成本
计算成本的优先级顺序如下:
-
当
Microsoft.Consumption/pricesheets/read
权限可用时,有效价格将以 Azure 订阅中配置的货币显示。此成本计算方法处于预览阶段。 -
如果权限不可用,则显示 Azure 零售价格。有关详细信息,请参阅 Azure 零售价格概述。
注意:
请确保您有权访问
https://prices.azure.com
终结点,以启用有效价格或零售价格详细信息的检索。 - 当有效价格或零售价格不可用时,成本将根据管理员在 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 零售价格概述。
计算非 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 数据
- 数据访问协议
ODATA 查询示例
查找未使用的 VDA
要查找未使用的 VDA,您必须提供桌面组 ID、VDA 的开始日期和结束日期。
有关减少未使用的资源支出的更多信息,请参阅工作负载规模调整。
查询示例:
https://api-us.cloud.com/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://api-us.cloud.com/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://api-us.cloud.com/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://api.cloud.com/monitorodata/MachineCostSavingsSummaries?$apply=aggregate(TotalAmountSaved with sum as TotalAmountSavedSum)
<!--NeedCopy-->
查找计算机状态
有关成本节约的更多信息,请参阅成本节约页面。
查询示例:
https://api.cloud.com/monitorodata/MachineCostSavingsSummaries?$filter=SummaryDate eq 2024-08-09T06:00:00Z&$select=TotalMachinesCount,PowerManagedMachinesOff,PowerManagedMachinesInHibernate,PowerManagedMachinesOnWithSessions,PowerManagedMachinesOnWithoutSessions
<!--NeedCopy-->