成本优化

Citrix Monitor 现已推出一项名为“成本优化”的新功能,可帮助您有效分析虚拟机和会话的使用情况。此功能提供富有洞察力的可视化表示,说明如何优化成本。它还有助于您消除不必要的计算机,从而降低成本。

为支持成本优化,还引入了以下警报:

您还可以检查最近执行过电源操作的计算机,以分析导致用户问题的电源开启失败和增加成本的电源关闭失败。有关详细信息,请参阅检查最近执行过电源操作的计算机部分。

单击主页左侧菜单中的成本优化选项卡,访问成本优化页面。

成本优化页面

成本优化主页上,您可以执行以下操作:

  • “入门”链接 - 访问此链接可了解有关成本优化功能的更多信息。
  • 查看成本优化页面 - 您可以就成本优化页面提供反馈。
  • 刷新数据。
  • 查看警报 - 您可以查看严重警报和警告警报。
  • 导出数据

成本优化页面包含以下功能:

如何计算成本优化成本

每台计算机每小时的成本以管理程序支持的货币显示。本部分介绍如何计算 Azure 计算机和其他计算机的成本。

Azure 计算机的成本

计算成本的优先级顺序如下:

  1. Microsoft.Consumption/pricesheets/read 权限可用时,有效价格将以 Azure 订阅中配置的货币显示。此成本计算方法处于预览阶段。

  2. 如果权限不可用,则显示 Azure 零售价格。有关详细信息,请参阅 Azure 零售价格概述

    注意:

    请确保您有权访问 https://prices.azure.com 终结点,以启用有效价格或零售价格详细信息的检索。

  3. 当有效价格或零售价格不可用时,成本将根据管理员在 Web Studio 中输入的成本显示。有关详细信息,请参阅文档的计算机成本部分。
  4. 如果 Web Studio 中未提及成本,则默认成本为 $1。

要查找 Azure 帐户详细信息并添加查找有效价格所需的权限,请执行以下操作:

  1. 导航到 Citrix DaaS。
  2. 单击托管选项卡以查找托管连接帐户。
  3. 查找托管选项卡中提及的应用程序 ID

    托管选项卡

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

    Azure 门户

    Azure 门户订阅

  6. 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 查询示例

查找未使用的 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-->
成本优化