FinOps 工具包故障排除指南

本文介绍如何正确部署和配置 FinOps 工具包解决方案。 如果你有特定的错误代码,请查看 常见错误 以了解详细信息和缓解步骤。 如果需要更彻底的演练来验证配置,请使用适用于你的以下步骤。


是否有特定的错误代码?

如果你有特定的错误代码,我们建议从 常见错误 开始,以直接说明你遇到的问题。 还有有关如何缓解或解决此问题的信息。


验证 FinOps 中心部署

使用以下步骤验证 FinOps 中心部署:

步骤 1:验证成本管理导出

  1. 转到成本管理导出并确保导出状态为 Successful
  2. 如果失败,请确保为部署中心的订阅注册了成本管理资源提供程序。

步骤 2:验证数据工厂管道

  1. 转到数据工厂工作室,然后转到“监视”,并确保两个管道都在运行。
  2. 将上次运行时与上次成本导出的时间进行比较。 它们应该接近。
  3. 在数据工厂工作室中打开数据工厂实例,然后选择“管理 > 作者 > 触发器”。 msexports_FileAdded验证触发器是否已启动。 如果没有,请启动它。
  4. 如果触发器无法以“资源提供程序未注册”错误启动,请在Azure 门户中打开订阅,然后选择“设置>资源提供程序”,选择Microsoft.EventGrid 行,然后选择“注册”。 注册可能需要几分钟时间。
  5. 注册完成后,再次启动 msexports_FileAdded 触发器。
  6. 启动触发器后,重新运行所有连接的成本管理导出。 数据应在 10-20 分钟内完全引入。
  7. 如果引入管道未运行并且显示 MappingColumnNameNotFoundInSourceFile 错误消息,请验证导出是否已配置为 FOCUS 1.0-preview(v1) ,而不是 1.0

步骤 3:验证存储帐户 - msexports 容器

  1. msexports 容器是成本管理将“原始”导出推送到的位置。 此容器不应有 CSV 文件,因为中心将它们转换为 parquet 文件。
  2. 如果在 msexports 容器中看到 CSV 文件,请参阅“ 验证数据工厂管道”。

步骤 4:验证存储帐户 - 引入容器

  1. 引入容器是客户端(如 Power BI)连接到拉取数据的位置。 此容器每个月应始终有一个或多个 parquet 文件。
  2. 如果在引入容器中看不到任何 parquet 文件,请检查容器中的 mseports CSV 文件。
  3. 如果在 msexports 容器中找到 CSV 文件,则表示数据工厂管道不起作用。 请返回“ 验证数据工厂管道”。
  4. 如果 msexports 容器中没有 CSV 文件,并且引入容器中没有 parquet 文件,则表示成本管理导出未正常运行。 返回“ 验证成本管理导出”。

验证 Power BI 配置

使用以下步骤验证 Power BI 配置:

步骤 1:标识存储 URL

在开始验证 Power BI 配置之前,需要知道是否使用以下机制之一连接到数据:

  • 适用于 Power BI 的成本管理连接器 - 非常适合需求有限的小型帐户。 如果报告总成本超过 200 万美元,则不建议这样做。
  • 存储中的成本管理导出 - 需要将数据从成本管理导出到存储帐户。 不需要其他部署。
  • FinOps 中心 - 需要部署 FinOps 中心解决方案

如果需要帮助来选择最佳方法以满足需求,请参阅 “选择 Power BI 数据源”。

如果使用成本管理连接器,请参阅 在 Power BI Desktop 中使用成本管理连接器创建视觉对象和报表。

如果使用 FinOps 中心,则可以从Azure 门户中的部署输出复制 URL:

  1. 导航到部署 FinOps 中心的资源组。
  2. 菜单中选择“设置>部署”。
  3. 选择中心部署。
  4. 在菜单中选择“ 输出 ”。
  5. 复制 storageUrlForPowerBI 值。
  6. 将此 URL 粘贴到 Power BI 中的中心存储 URL 中。
  7. 如果对任何数据使用原始导出,请使用以下步骤。
  8. 如果不对任何数据使用原始导出,请将中心存储 URL 粘贴到 Power BI 中的导出存储 URL 中。

    注意

    Power BI 要求设置这两个参数,以便Power BI 服务刷新数据集。

如果对任何数据集使用没有 FinOps 中心的原始导出(即使使用中心获取成本数据),则可以从Azure 门户中的存储帐户获取 Data Lake Storage URI:

  1. 在 Azure 门户中导航到存储帐户。
  2. 菜单中选择“设置>终结点”。
  3. 复制 Data Lake Storage>Data Lake Storage URL。
  4. 将此 URL 粘贴到 Power BI 中的“导出存储 URL ”。
  5. 如果对任何数据使用 FinOps 中心,请遵循前面的步骤。
  6. 如果不对任何数据使用 FinOps 中心,请将导出存储 URL 粘贴到 Power BI 中的中心存储 URL 中。

    注意

    Power BI 要求设置这两个参数,以便Power BI 服务刷新数据集。

步骤 2:将 Power BI 连接到存储

决定是否要使用用户或服务主体帐户或使用存储帐户密钥(也称为 SAS 令牌)连接到存储。

  • 使用用户或服务主体帐户
    1. 确保对要使用的帐户显式具有存储 Blob 数据读取者角色。 即使拥有“所有者”或“参与者”权限,也不会继承此权限。
  • 使用 SAS 令牌
    1. 确保为令牌设置以下权限:
      • 允许的服务:Blob
      • 允许的资源类型:容器和对象
      • 允许的权限:读取和列出
    2. 确保还设置了有效的开始和到期日期/时间。

步骤 3:排查连接错误

  1. 如果尝试连接到存储帐户并收到 Access to the resource is forbidden 错误,则可能缺少一些权限。 若要确保你拥有正确的权限,请参阅将 Power BI 连接到存储
  2. 如果看到有关访问被禁止的错误,请查看连接到的计费帐户是否正确。 Power BI 报表随附了一个示例计费帐户,如果不将它更改为自己的 ID,则无法连接。

步骤 4:排查缺少的数据数月的问题

  1. 如果 Power BI 报表不包含整整几个月的数据,请通过检查功能区中的转换数据>编辑参数来确认 Power BI 报表中的日期参数。 有关详细信息,请参阅 “设置第一个报表 ”。
    • 数定义报表中显示的关闭月份数(在本月之前)。 即使导出数据,也不会显示此范围之外的数据。 如果已定义,此参数将替代其他参数。
    • RangeStart 和 **RangeEnd 定义要在报表中显示的显式日期范围数据。 这些日期之前或之后的任何内容均未显示。
    • 如果 RangeStart 为空,则包含 RangeEnd 之前的所有历史数据。
    • 如果 RangeEnd 为空,则包含 RangeStart的所有新数据。
    • 如果所有日期参数均为空,则包含所有可用数据。

相关解决方案: