使用和自定义 FinOps 工作簿
本文介绍如何安装和编辑 FinOps 工作簿。 FinOps 工作簿是常见工具的中心接入点,可帮助实现 FinOps 目标。 每个工作簿提供一系列符合 FinOps 功能的见解,包括:
- 顾问成本建议
- 空闲资源标识
- 管理未正确解除分配的虚拟机
- 深入了解如何使用适用于 Windows、Linux 和 SQL 数据库的 Azure 混合权益选项
工作簿包括用于计算、存储、网络等的见解。 工作簿还提供一些快速修复选项,用于直接从工作簿执行建议的操作,从而简化优化过程。
使用工作簿
Azure Monitor 工作簿提供灵活的画布来分析数据以及在 Azure 门户中创建丰富的可视报表。 然后,你可以自定义它们以显示有关 Azure 环境的视觉对象和交互式信息。 它允许你查询 Azure 中的各种数据源,并根据需要修改或处理数据。 然后,你可以选择使用任何可用的可视化效果来显示它,最后与团队共享工作簿,以便每个人都可以使用它。
成本优化工作簿位于 Azure 顾问的工作簿库中,不需要任何设置。 但是,如果要部署其他工作簿或对其进行更改(例如添加或自定义查询),可以将工作簿复制到环境。
在顾问中查看成本优化工作簿
- 登录到 Azure 门户。
- 搜索 Azure 顾问。
- 在左侧导航菜单中,选择“工作簿”。
- 在工作簿库中,选择 成本优化(预览) 工作簿模板。
- 选择要浏览的区域。
将 FinOps 工作簿部署到 Azure
如果要修改成本优化工作簿或使用其他 FinOps 工作簿,请从 FinOps 工具包部署 FinOps 工作簿模板。
首先,确认你具有以下最低特权角色来部署和使用工作簿。
使用以下选项之一部署 FinOps 工作簿模板:
选择订阅、位置、资源组,并为工作簿指定一个名称。 然后,选择“查看 + 创建”以部署工作簿模板。
在“查看 + 创建”页面上,选择“创建”。
部署完成后,可以在“输出”页上查看并复制工作簿 URL。 该 URL 会将你直接带到已创建的工作簿。
编辑新查询并将其包括到工作簿中
如果要在工作簿中编辑或包括更多查询,可以根据需要编辑模板。
工作簿主要基于 Azure Resource Graph 查询。 但是,工作簿支持许多不同的源。 它们包括Kusto 查询语言(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 工作簿概述。