使用和自定义成本优化工作簿
本文介绍如何安装和编辑成本优化工作簿。 成本优化工作簿是一些最常用的工具的中心点,可帮助实现利用率和效率目标。 它提供了一系列见解,包括:
- 顾问成本建议
- 空闲资源标识
- 管理未正确解除分配的虚拟机
- 深入了解如何使用适用于 Windows、Linux 和 SQL 数据库的 Azure 混合权益选项
该工作簿包括对计算、存储和网络的见解。 该工作簿还为某些查询提供了快速修复选项。 快速修复选项允许你直接从工作簿页面应用建议的优化,从而简化优化过程。
该工作簿有两个主要部分:速率优化和使用优化。
速率优化
此部分重点介绍通过解决与费率相关的因素来优化 Azure 成本的策略。 它包括来自顾问成本建议的见解、有关如何使用适用于 Windows、Linux 和 SQL 数据库的 Azure 混合权益选项的指南,等等。 它还包括有关基于承诺的折扣(例如预留和 Azure 节省计划)的建议。 费率优化对于降低每小时或每月的资源成本至关重要。
以下是具有 Azure 混合权益的 Windows 虚拟机的“速率优化”部分的示例。
使用优化
使用优化的目的是确保 Azure 资源得到有效使用。 此部分提供了有关如何识别闲置资源、管理未正确解除分配的虚拟机以及实施建议以提高资源效率的指南。 专注于使用优化,以最大限度地提高资源利用率并最大限度地降低成本。
以下是 AKS 的“使用优化”部分的示例。
有关成本优化工作簿的详细信息,请参阅使用成本优化工作簿了解和优化 Azure 成本。
使用工作簿
Azure Monitor 工作簿提供灵活的画布来分析数据以及在 Azure 门户中创建丰富的可视报表。 然后,你可以自定义它们以显示有关 Azure 环境的视觉对象和交互式信息。 它允许你查询 Azure 中的各种数据源,并根据需要修改或处理数据。 然后,你可以选择使用任何可用的可视化效果来显示它,最后与团队共享工作簿,以便每个人都可以使用它。
成本优化工作簿位于 Azure 顾问的工作簿库中,不需要任何设置。 但是,如果你想要对工作簿进行更改(例如添加或自定义查询),则可以将工作簿复制到环境中。
在顾问中查看工作簿
- 登录 Azure 门户。
- 搜索 Azure 顾问。
- 在左侧导航菜单中,选择“工作簿”。
- 在“工作簿库”中,选择“成本优化(预览)”工作簿模板。
- 选择要浏览的区域。
将工作簿部署到 Azure
如果想对原始工作簿进行修改,则请注意:其模板作为 FinOps 工具包的一部分提供,只需几个步骤即可部署。
确认你具有下述用来部署和使用工作簿的最低特权角色。
使用以下选项之一部署成本优化工作簿模板。
部署到 Azure
选择订阅、位置、资源组并为工作簿命名。 然后,选择“查看 + 创建”以部署工作簿模板。
在“查看 + 创建”页面上,选择“创建”。
部署完成后,可以在“输出”页上查看并复制工作簿 URL。 该 URL 会将你直接带到已创建的工作簿。 下面是一个示例。
编辑新查询并将其包括到工作簿中
如果要在工作簿中编辑或包括更多查询,可以根据需要编辑模板。
该工作簿主要基于 Azure Resource Graph 查询。 但是,工作簿支持许多不同的源。 它们包括 KQL、Azure 资源管理器、Azure Monitor、Azure 数据资源管理器、自定义终结点等。
你还可以合并来自不同源的数据,以增强见解体验。 Azure Monitor 有多个可关联的数据源,这些数据源通常对会审和诊断工作流至关重要。 可以使用合并控件合并或联接数据以提供丰富的见解。
下面介绍了如何创建查询并将其添加到工作簿中的 Azure 混合权益选项卡。 对于本示例,你可以添加代码示例部分中的代码,以便确定哪些 Azure Stack HCI 群集未使用 Azure 混合权益。
- 打开“工作簿”并选择“编辑”。
- 选择“速率优化选项卡”,其中显示使用 Azure 混合权益的虚拟机。
- 在右侧(最后一个“编辑”选项的右侧)页面底部,选择省略号 (…),然后选择“添加”。 此操作在最后一个组之后添加新项。
- 选择“添加查询”。
- 将“数据源”更改为“Azure Resource Graph”。 将“资源类型”保留为“订阅”。
- 在“订阅”下选择列表选项,然后在“资源参数”下选择“订阅”。
- 从代码示例部分复制示例代码并将其粘贴到编辑器中。
- 将代码示例中的 ResourceGroup 名称更改为 Azure Stack HCI 群集所在的名称。
- 在页面底部,选择“完成编辑”。
- 保存对工作簿所做的更改并查看结果。
了解代码部分
尽管本文的目的不是重点讨论 Azure Resource Graph 查询,但了解查询示例的用途非常重要。 该代码示例包含三个部分。
在第一部分,以下代码标识你自己的订阅并将其分组。
ResourceContainers | where type =~ 'Microsoft.Resources/subscriptions' | where tostring (properties.subscriptionPolicies.quotaId) !has "MSDNDevTest_2014-09-01" | extend SubscriptionName=name
它查询 ResourceContainers
表并删除开发/测试表,因为 Azure 混合权益不适用于开发/测试资源。
在第二部分,该查询查找并评估你的 Stack HCI 资源。
resources
| where resourceGroup in ({ResourceGroup})
| where type == 'microsoft.azurestackhci/clusters'
| extend AHBStatus = tostring(properties.softwareAssuranceProperties.softwareAssuranceIntent)
| where AHBStatus == "Disable"
此部分查询 Resource
表。 它按资源类型 microsoft.azurestackhci/clusters
进行筛选。 它创建一个名为 AHBStatus
的新列,其中包含我们拥有软件保证信息的属性。 我们只需要其中的 AHBStatus
设置为 Disable
的资源。
在最后一部分,查询将 ResourceContainerstable
与 resources
表联接起来。 此联接有助于识别资源所属的订阅。
ResourceContainers | "Insert first code section go here"
| join (
resources "Insert second code section here"
) on subscriptionId
| order by type asc
| project HCIClusterId,ClusterName,Status,AHBStatus
最后,你查看最相关的列。 由于工作簿具有 ResourceGroup
参数,因此可以通过示例代码筛选每个资源组的结果。
代码示例
以下是用于插入到工作簿中的完整代码示例。
ResourceContainers | where type =~ 'Microsoft.Resources/subscriptions' | where tostring (properties.subscriptionPolicies.quotaId) !has "MSDNDevTest_2014-09-01" | extend SubscriptionName=name
| join (
resources
| where resourceGroup in ({ResourceGroup})
| where type == 'microsoft.azurestackhci/clusters'
| extend AHBStatus = tostring(properties.softwareAssuranceProperties.softwareAssuranceIntent)
| where AHBStatus == "Disable"
| extend HCIClusterId=properties.clusterId, ClusterName=properties.clusterName, Status=properties.status, AHBStatus=tostring(properties.softwareAssuranceProperties.softwareAssuranceIntent)
) on subscriptionId
| order by type asc
| project HCIClusterId,ClusterName,Status,AHBStatus
详细了解工作簿
要了解有关 Azure Monitor 工作簿的详细信息,请参阅使用 Azure Monitor 工作簿可视化从多个数据源合并的数据培训模块。
详细了解 FinOps 工具包
成本优化工作簿是 FinOps 工具包的一部分,FinOps 工具包是 FinOps 解决方案的开源集合,可帮助你管理和优化云成本。
有关详细信息,请参阅 FinOps 工具包文档。
后续步骤
- 要了解有关成本优化工作簿的详细信息,请参阅使用 Azure Monitor 工作簿可视化从多个数据源合并的数据。