你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

识别成本的异常情况和意外变化

本文帮助你使用成本管理和计费来识别云成本的异常情况和意外变化。 对 Azure 订阅使用成本管理和计费功能不收取任何费用。 首先在成本分析中对订阅进行异常情况检测,以根据成本和使用趋势识别任何非典型使用模式。 然后介绍如何深入查看成本信息以查找和调查成本高峰与低谷。

还可以创建异常警报,以在检测到异常时自动收到通知。

一般情况下,可能需要调查三种类型的变化:

  • 新成本 - 例如,已启动或添加的资源(如虚拟机)。 新成本通常显示为从零开始的成本。
  • 消除的成本 - 例如,已停止或删除的资源。 消除的成本通常显示为归零的成本。
  • 成本变化(增加或减少)– 例如,资源以某种方式变化,导致成本增加或减少。 某些变化(例如调整虚拟机大小)可能显示为新的计量,该计量会取代同一资源下已消除的计量。

识别成本异常情况

与本地成本相比,云附带大幅节省成本的承诺。 但是,节省成本需要积极主动地规划、管理和监视云解决方案。 即使采用主动流程,也仍可能发生成本意外情况。 例如,你可能会注意到某些内容已更改,但不确定是什么内容。 对订阅使用成本管理异常情况检测有助于最大程度地减少意外的发生。

无论你是否知道自己是否存在成本异常情况,只要成本分析发现了任何异常,它就会在“见解”中予以通知。 如果未发现异常,成本分析会显示“未检测到异常情况”。

在成本分析中查看异常情况

选择订阅范围后,成本分析智能视图中会提供异常情况检测。 可以在见解中查看异常情况状态。

注意

成本异常警报不适用于 Azure 政府客户。

在 Azure 门户中,从“Azure 主页”导航到“成本管理”。 选择订阅范围,然后在左侧菜单中选择“成本分析”。 在视图列表中,选择“智能视图”下的任一视图。 在以下示例中,选择了“资源”智能视图。 如果存在成本异常情况,则会看到一项见解。

一个示例屏幕截图,其中显示了一个见解。

如果不存在任何异常情况,则会看到“未检测到异常情况”见解,其中会确认评估的日期。

一个示例屏幕截图,其中显示了“未检测到异常”消息。

深入查看异常情况详细信息

若要深入了解已更改内容的基础数据,请选择见解链接。 这样就会在经典成本分析中打开一个视图,让你可以按资源组查看评估时间范围内的每日使用情况。

沿用前面的标记为“每日运行费用下降 748%(9 月 28 日)”的异常情况示例,让我们在选择链接后检查该异常情况的详细信息。 以下示例插图显示了有关异常情况的详细信息。 请注意短期暂用资源的成本大幅增加、成本高峰以及最终下降的变化。

一个示例屏幕截图,其中显示了生存期较短的资源的成本增加。

每日评估订阅的成本异常情况,并将当天的总使用情况与过去 60 天的预测总使用情况进行比较,以分析最近使用情况的公有模式。 例如,每周一出现高峰。 在一天结束 (UTC) 后,异常情况检测将运行 36 小时,以确保提供完整的数据集。

异常情况检测模型是一种单变量时序、无监督预测和基于重建的模型,该模型使用 60 天的历史使用情况进行训练,然后预测当天的预期使用情况。 异常情况检测预测使用名为 WaveNet 的深度学习算法。 它不同于成本管理预测。 如果总规范化用法根据预先确定的置信区间超出预期范围,则确定其异常。

可以使用成本分析对监视的每个订阅使用异常情况检测。 若要为你的订阅启用异常情况检测,请打开成本分析智能视图,并在页面顶部的范围选择器中选择该订阅。 会有一条通知指出已加入你的订阅,你会在 24 小时内开始看到异常情况检测状态。

创建异常警报

你可以创建警报,以在检测到异常情况时自动收到通知。 创建异常情况警报需要成本管理参与者或更高角色,或者需要自定义角色的 Microsoft.CostManagement/scheduledActions/write 权限。 有关详细信息,请参阅每个角色的特征行为

注意

根据发送电子邮件时规则创建者的当前访问权限发送异常警报。 如果组织有永久禁止向用户分配更高权限的策略,则可以使用服务主体并直接使用计划操作 API 创建警报。

异常警报电子邮件包括资源组计数和成本更改的摘要。 它还包括与前 60 天相比当天的顶级资源组更改。 此外,它具有指向 Azure 门户的直接链接,以便你可以查看成本并进一步调查。

异常警报电子邮件仅在检测到异常时发送一次。

  1. 在 Azure 主页中,选择“工具”下的“成本管理”。
  2. 验证是否在页面顶部范围内选择了正确的订阅。
  3. 在左侧菜单中,选择“成本警报”。
  4. 在工具栏中选择“+ 添加”。
  5. 在“创建警报规则”页上,选择“ 异常 ”作为“警报类型”。
  6. 输入所有所需的信息,然后选择“创建”。
    屏幕截图显示了创建警报规则页面,可以在其中输入有关警报的通知信息。 可以通过导航到左侧导航菜单中的“警报规则”来查看和管理异常警报规则。

下面是为异常警报生成的示例电子邮件。

一个屏幕截图,其中显示了异常警报电子邮件示例。

手动查找意外的成本变化

让我们查看一个有关查找成本变化的更详细示例。 导航到“成本分析”并选择订阅范围时,首先会出现“累计成本”视图。 以下屏幕截图显示了你可能会看到的内容示例。

一个示例屏幕截图,其中显示了“累计成本”视图。

对于默认视图和当前月份(2022 年 3 月),示例插图未显示任何低谷或高峰。

将视图更改为“每日成本”,然后将日期范围扩大至“去年”(2021 年)。 然后,将粒度设置为“每月”。 在下图中可以看到,从 7 月开始,arcticmustang 资源组的成本显著增加。

一个示例屏幕截图,其中显示了每月的成本增加。

让我们更全面地检查该资源组的成本增加。 若要深入到成本变化的时间范围,请更改日期范围。 在以下示例中,我们将自定义日期范围设置为 2021 年 6 月至 7 月,然后将“粒度”设置为“每日”。 在该示例中,该资源组的每日成本大约为 4.56 美元。 6 月 30 日,成本增加至 20.68 美元。 在 7 月 1 日及之后,每日成本达到 30.22 美元。

一个示例屏幕截图,其中显示了每天的成本增加。

到目前为止,我们发现 articmustang 资源组在 6 月底和 7 月初增加了成本。 你可能注意到,成本有两天持续增加。 这种变化之所以持续了两天,是因为在一天的中途发生的变化只会在第二天才能完全表现出来。

让我们继续深入查看数据以详细了解成本增加的问题。 选择成本增加的项 (articmustang) 以自动设置资源组名称的筛选器。 然后,将“分组依据”列表更改为“资源”。 然后将日期范围设置为较短的时间段。 例如,6 月 28 日至 7 月 4 日。 以下示例插图清楚地显示了成本的增加。 资源类型显示为“microsoft.network/virtualnetworkgateways”。

一个示例屏幕截图,其中显示了某个资源类型增加的成本。

接下来,在图表中选择成本增加的资源 articring,为该资源设置另一个筛选器。 现在仅显示该资源的成本。 然后,将“分组依据”列表设置为“计量”。

一个示例屏幕截图,其中显示了某个特定资源增加的成本。

在上一示例中,可以看到名为 VpnGw1 的虚拟专用网络资源在 6 月 30 日已停止使用。 在 6 月 30 日,开始使用了名为 VpnGw3 的更昂贵虚拟专用网络资源。

现在,你便知道发生了哪种变化,以及有变化的成本的价值。 但是,你可能不知道发生这种变化的原因。 此时,应联系创建或使用该资源的人员。 继续阅读下一部分以了解详细信息。

查找资源使用情况变化的相关人员

使用成本分析,你可能会发现资源的使用情况突然发生了变化。 但是,与该资源相关的人员或者变化原因可能并不明显。 通常,给定资源的负责团队知道该资源发生了哪些变化。 在确定出现某些费用的原因时,与这些团队沟通会很有用。 例如,拥有资源的团队创建了资源、更新了资源的 SKU(更改了资源费率),或者由于代码更改而增加了资源上的负载。

Azure Resource Graph 的获取资源更改一文可帮助你查找有关资源配置更改的更多信息。

请继续阅读以下部分,了解有关确定谁拥有某个资源的其他方法。

分析资源的审核日志

如果你有权查看某个资源,应该可以访问其审核日志。 请查看日志以找出最近对资源进行更改的负责用户。 有关详细信息,请参阅查看和检索 Azure 活动日志事件

分析用户在资源父范围的权限

对订阅或资源组拥有写入权限的人员通常会获得有关创建或更新的资源的信息。 他们应该能够解释资源的用途,或者将你引领到知情的人。 若要识别在订阅范围拥有权限的人员,请参阅查看用户对 Azure 资源的访问权限。 可对计费范围、资源组和管理组使用类似的过程。

检查标记的资源

如果你实施了现有的标记资源策略,则有可能使用标识信息标记了资源。 例如,可能使用所有者、成本中心或开发环境信息标记了资源。 如果你尚未实施资源标记策略,请考虑将来采用一个策略来帮助标识资源。

用于识别意外费用的其他策略

如果你使用了上述策略,但仍不知道为何会收到费用,或者在计费问题方面需要其他帮助,请查看以下部分。

为什么我没有收到异常警报的电子邮件?

没有收到警报电子邮件的原因有很多。 请尝试以下操作:

  • 确认计划的创建者继续拥有分配的读者角色或 Microsoft.CostManagement/scheduledActions/read 权限(如果是自定义角色)。
  • 确认你的电子邮件地址显示为收件人,并且是正确的。
  • 请确保没有阻止 microsoft-noreply@microsoft.com 的电子邮件规则。
  • 检查垃圾邮件或垃圾邮件文件夹中是否有来自 microsoft-noreply@microsoft.com 的电子邮件。
  • 检查警报是否已过期或已删除。 可以扩展或创建新的异常警报规则来解决此问题。
  • 请与管理员协作,在 Azure 门户中重新启用查看费用策略。 该策略适用于间接企业协议以及与 Microsoft 合作伙伴达成的 Microsoft 客户协议。

注意

在发送警报电子邮件之前,Azure 会检查警报规则创建者的权限。 如果组织有永久禁止向用户分配更高权限的策略,则可以使用服务主体并直接使用计划操作 API 创建警报。

为什么我无法创建异常警报规则?

请尝试以下步骤:

  • 异常警报规则只能在订阅范围内创建。 请确保已选择正确的范围。
  • 验证你在订阅上是否具有“所有者”、“参与者”或“成本管理参与者”角色。
  • 如果收到一条错误消息,指示你已达到每个订阅五条警报的限制,请考虑编辑现有的异常警报规则。 如果已达到限制,将自己添加为收件人,而不是创建新规则。

获得识别费用方面的帮助

如果你使用了上述策略,但仍不知道为什么会收到费用,或者在计费问题方面需要其他帮助,请创建支持请求

后续步骤