本文介绍如何正确部署和配置 FinOps 工具包解决方案。 如果你有特定的错误代码,请查看 常见错误 以了解详细信息和缓解步骤。 如果需要更彻底的演练来验证配置,请使用适用于你的以下步骤。
是否有特定的错误代码?
如果你有特定的错误代码,我们建议从 常见错误 开始,以直接说明你遇到的问题。 还有有关如何缓解或解决此问题的信息。
验证 FinOps 中心部署
使用以下步骤验证 FinOps 中心部署:
步骤 1:验证成本管理导出
- 转到成本管理导出并确保导出状态为
Successful
。 - 如果失败,请确保为部署中心的订阅注册了成本管理资源提供程序。
- 向成本管理团队提交支持请求,以进一步调查。
步骤 2:验证数据工厂管道
- 在数据工厂工作室中,选择左侧菜单中的“监视”,并确认管道已成功运行。
- 如果管道失败,请查看错误代码和消息,并检查 常见错误 是否有缓解步骤。
- 将上次运行时与上次导出的时间进行比较。 它们应该接近。
- 选择“ 管理>作者>触发器 ”并验证
msexports_ManifestAdded
触发器是否已启动。 如果没有,请启动它。 - 如果触发器无法以“资源提供程序未注册”错误启动,请在 Azure 门户中打开订阅,选择 “设置>资源提供程序”,选择 Microsoft.EventGrid 行,然后选择“ 注册”。 注册可能需要几分钟时间。
- 注册完成后,再次启动
msexports_ManifestAdded
触发器。 - 启动触发器后,重新运行所有连接的成本管理导出。 数据应在 10-20 分钟内完全引入。
- 如果数据摄取管道未运行并且显示
MappingColumnNameNotFoundInSourceFile
错误消息,请确保导出已为 受支持的数据集和版本进行配置。
步骤 3:验证存储帐户 - msexports 容器
- msexports 容器是成本管理将“原始”导出推送到的位置。
- 确认最近导出路径中没有 CSV 或 parquet 文件。
- 如果存在成本管理导出的 CSV 或 parquet 文件,请打开数据工厂编辑器并确认 msexports_ExecuteETL 和 msexports_ETL_ingestion 管道是否成功。
- 引入完成后,将删除导出的文件,除非 msexports 容器配置为具有正保留策略。
步骤 4:验证存储帐户 - 引入容器
- 引入容器是客户端(如 Power BI)连接到拉取数据的位置。 此容器每个月应始终有一个或多个 parquet 文件。
- 如果在导入容器中看不到任何 parquet 文件,请检查 msexports 容器中的文件。
- 如果在 msexports 容器中找到 CSV 或 parquet 文件,则表示数据工厂管道不起作用。 请返回“ 验证数据工厂管道”。
- 如果 msexports 容器中没有文件,并且引入容器中没有 parquet 文件,则表示成本管理导出未正常运行。 请返回 “验证成本管理导出”。
验证 Power BI 配置
使用以下步骤验证 Power BI 配置:
步骤 1:标识存储 URL
在开始验证 Power BI 配置之前,需要知道是否使用以下机制之一连接到数据:
- 适用于 Power BI 的成本管理连接器 - 非常适合需求有限的小型帐户。 如果报告总成本超过 200 万美元,则不建议这样做。
- 存储中的成本管理导出 - 需要将数据从成本管理导出到存储帐户。 不需要其他部署。
- FinOps 中心 - 需要部署 FinOps 中心解决方案。
如果需要帮助来选择最佳方法以满足需求,请参阅 “选择 Power BI 数据源”。
如果使用成本管理连接器,请参阅 在 Power BI Desktop 中使用成本管理连接器创建视觉对象和报表。
如果使用 FinOps 中心,则可以从Azure 门户中的部署输出复制 URL:
- 导航到部署 FinOps 中心的资源组。
- 在菜单中选择“设置>部署”。
- 选择中心部署。
- 在菜单中选择“ 输出 ”。
- 复制 storageUrlForPowerBI 值。
- 将此 URL 粘贴到 Power BI 中的中心存储 URL 中。
- 如果对任何数据使用原始导出,请使用以下步骤。
- 如果不对任何数据使用原始导出,请将中心存储 URL 粘贴到 Power BI 中的导出存储 URL 中。
注意
Power BI 要求设置这两个参数,以便Power BI 服务刷新数据集。
如果对任何数据集使用没有 FinOps 中心的原始导出(即使使用中心获取成本数据),则可以从Azure 门户中的存储帐户获取 Data Lake Storage URI:
- 在 Azure 门户中导航到存储帐户。
- 在菜单中选择“设置>终结点”。
- 复制 Data Lake Storage>Data Lake Storage URL。
- 将此 URL 粘贴到 Power BI 中的“导出存储 URL ”。
- 如果对任何数据使用 FinOps 中心,请遵循前面的步骤。
- 如果不对任何数据使用 FinOps 中心,请将导出存储 URL 粘贴到 Power BI 中的中心存储 URL 中。
注意
Power BI 要求设置这两个参数,以便Power BI 服务刷新数据集。
步骤 2:将 Power BI 连接到存储
决定是否要使用用户或服务主体帐户或使用存储帐户密钥(也称为 SAS 令牌)连接到存储。
-
使用用户或服务主体帐户
- 确保对要使用的帐户显式具有存储 Blob 数据读取者角色。 即使拥有“所有者”或“参与者”权限,也不会继承此权限。
-
使用 SAS 令牌
- 确保为令牌设置以下权限:
- 允许的服务:Blob
- 允许的资源类型:容器和对象
- 允许的权限:读取和列出
- 确保还设置了有效的开始和到期日期/时间。
- 确保为令牌设置以下权限:
步骤 3:排查连接错误
- 如果尝试连接到存储帐户并收到
Access to the resource is forbidden
错误,则可能缺少一些权限。 若要确保你拥有正确的权限,请参阅将 Power BI 连接到存储。 - 如果看到有关访问被禁止的错误,请查看连接到的计费帐户是否正确。 Power BI 报表随附了一个示例计费帐户,如果不将它更改为自己的 ID,则无法连接。
步骤 4:排查缺少的数据数月的问题
- 如果 Power BI 报表不包含整整几个月的数据,请通过检查功能区中的转换数据>编辑参数来确认 Power BI 报表中的日期参数。 有关详细信息,请参阅 “设置第一个报表 ”。
- 月 数定义报表中显示的关闭月份数(在本月之前)。 即使导出数据,也不会显示此范围之外的数据。 如果已定义,此参数将替代其他参数。
- RangeStart 和 RangeEnd 定义要在报表中显示的显式日期范围数据。 这些日期之前或之后的任何内容均未显示。
- 如果 RangeStart 为空,则包含 RangeEnd 之前的所有历史数据。
- 如果 RangeEnd 为空,则包含 RangeStart 后的所有新数据。
- 如果所有日期参数均为空,则包含所有可用数据。
对 Power BI 查询故障进行调试
如果 Power BI 返回未知错误,请使用以下步骤来识别问题。
识别失败的查询
- 打开该报表。
- 在功能区中,选择“转换数据转换数据>”。
- 在 “Power Query 编辑器” 窗口中,查找左侧查询列表中失败的查询。
- 根据文件夹跳转到故障排除部分。
排查存储查询错误
- 在 “Power Query 编辑器” 窗口中,选择左侧查询列表中失败的查询。
- 在右侧的 “已应用步骤 ”部分中,选择 RawData 步骤。
- 如果该步骤出现错误,请跳到 排查ftk_Storage错误。
- 如果此步骤有效,请选择下面的下一步,跳过以小写或下划线开头的任何内容。
- 重复步骤 4,直到找到错误的第一步。
- 共享在任何问题或支持请求中失败的第一步的名称,以帮助进一步进行故障排除。
故障排除 ftk_Storage 错误
- 在 “Power Query 编辑器” 窗口中,右键单击左侧 的ftk_Storage 函数,然后选择“ 复制”。
- 右键单击 ftk_Storage(2), 然后选择 “高级编辑器”。
- 删除第一行,并将该
data = if datasetType...
行替换为data = "focuscost",
。 - 选择对话框右下角的 “完成 ”。
- 选择左侧的 ftk_Storage (2),然后单击顶部功能区中的刷新预览。
- 在右侧已应用步骤中,选择最后一步。
- 如果此步骤出错,请选择其前一步骤(跳过任何带下划线或首字符小写的步骤)。
- 重复步骤7,直到找到一个有效的解决方案。
- 共享在任何问题或支持请求中失败的第一步的名称,以帮助进一步进行故障排除。
故障排除中心* 和存储* 查询错误
- 在 “Power Query 编辑器” 窗口中,选择左侧的失败查询,然后单击顶部功能区中的 “刷新预览 ”。
- 在右侧的“已应用步骤”中,选择最后一步。
- 如果该步骤出现错误,请选择它之前的步骤(避开含有下划线或首字符是小写的内容)。
- 重复第三步,直到找到一个可行的。
- 共享在任何问题或支持请求中失败的第一步的名称,以帮助进一步进行故障排除。
提供反馈
请您给我们一个简短的评价,让我们知道我们做得怎么样。 我们将使用这些评审来改进和扩展 FinOps 工具和资源。
如果您在寻找特定的东西,可以为现有想法投票或者创建新想法。 与他人分享想法,以获得更多的选票。 我们专注于拥有最多选票的想法。
相关内容
相关解决方案: