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

数据平面指标批处理 API 查询与指标导出

Azure Monitor 提供两种大规模访问指标数据的方法:数据平面或指标批处理 API 和指标导出。 虽然两者都用于收集指标数据,但适用于不同的用例。 本文提供了使用这些服务的场景比较,以及有关何时使用哪种服务的建议。

数据平面指标批处理查询

使用数据平面 API 或指标批处理查询,你可以在单次 API 调用中查询最多 50 个资源的历史指标数据。 查询支持根据订阅、指标、时间等维度进行筛选,并提供总和、平均值、最小值、最大值等聚合。 批处理查询可以显著提高查询吞吐量并降低受到限制的风险。 若要详细了解如何使用数据平面指标批处理 API,请参阅 Azure Monitor 指标数据平面 API。 此服务非常适合你想要查询一段时间内的指标数据以及跨单个订阅和区域中的多个资源查询指标数据的场景。

指标导出

指标导出使用数据收集规则 (DCR) 将平台指标准实时地流式传输到不同的 Azure 目标(例如存储帐户、事件中心和 Log Analytics 工作区),以进行持久存储。 虽然你可以筛选要导出的指标,但无法访问历史数据。 此服务非常适合你想要跨订阅和资源连续且实时地导出指标数据的场景。 若要详细了解如何使用指标导出服务,请参阅使用数据收集规则导出指标

比较和建议

场景 数据平面 API 指标导出 建议
主要用例 查询单个订阅和区域中多个资源的具有历史深度的指标数据 跨订阅和资源导出指标数据 建议使用数据平面指标批处理 API 来查询指标,该 API 可以访问 93 天的数据。

建议使用指标导出将指标数据连续导出到 Azure 和外部目标。

查询包含多个资源的大型订阅 在一次批量调用中查询多个资源,包括对 93 天的历史记录进行筛选和聚合。  无查询支持。 连续且实时地导出指标数据 数据平面指标批处理 API 更适合此任务,因为它支持查询并可访问历史数据。 指标导出无法查询数据,也无法访问历史信息。 
准实时地将指标连续导出到存储帐户、事件中心、Log Analytics 工作区。  虽有可能,但效率低下。 需要创建一个重复查询机制来提取数据,并创建一个将数据存储在目标的方法。  使用数据收集规则进行一次性配置,以实时且连续地导出指标。 数据可以无缝发送并存储在存储帐户、事件中心和 Log Analytics 工作区中 指标导出提供“一经设置,高枕无忧”完全托管功能。 使用数据平面 API 需要进行更多的开发工作来提取数据并将其存储在目标。
查询和导出的限制 数据平面 API 允许在单次 API 调用中查询最多 50 个资源 ID。 可以与单个数据收集规则关联的指标导出没有资源数量限制。 单个资源最多只能关联 5 个 DCR 指标导出可能更适合查询资源的无限数据。
独立软件供应商 (ISV) 查询和分析指标。  数据平面 API 可能有助于启用由第三方应用程序查询客户订阅指标的功能。  指标导出需要创建数据收集规则和一定级别的权限才能导出资源指标。 对于 ISV,建议使用数据平面 API。 
计费 对于少量数据,数据平面 API 更便宜。 有关详细信息,请参阅 Azure Monitor 定价:导出。  对于大量数据,指标导出的成本较低,因为它有一个基于事件的计费模型。 有关详细信息,请参阅 Azure Monitor 定价:本机指标 对于少量数据,建议使用数据平面 API。 对于大量数据,建议使用指标导出。