你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Monitor 提供了两种大规模访问指标数据的方法:数据平面或指标 Batch API 和指标导出。 尽管这两者都可用于收集指标数据,但它们对于不同的用例更为有效。 本文提供了使用这些服务的方案比较,以及有关何时使用哪个服务的建议。
数据平面指标批量查询
数据平面 API 或指标 Batch 查询允许在单个 API 调用中查询最多 50 个资源的历史指标数据。 该查询支持基于订阅、指标、时间和其他维度进行筛选,并提供聚合,例如总和、平均值、最小值和最大值。
批量查询可以显著提高查询吞吐量,并降低流量限制的风险。 有关如何使用数据平面指标批处理 API 的详细信息,请参阅 Azure Monitor 指标数据平面 API。 此服务非常适合在一段时间内查询指标数据以及单个订阅和区域中的多个资源的情况。
指标导出
指标导出使用数据收集规则(DCR)将平台指标近乎实时地流式传输到不同的 Azure 目标,例如存储帐户、事件中心和 Log Analytics 工作区,用于持久存储。 虽然可以筛选导出的指标,但无法访问历史数据。 此服务非常适合想要跨订阅和资源实时导出指标数据的方案。 有关如何使用指标导出服务的详细信息,请参阅 使用数据收集规则导出指标。
比较和建议
情景 | 数据平面 API | 指标导出 | 建议 |
---|---|---|---|
主要用例 | 在单个订阅和区域中查询具有历史深度的多个资源的指标数据 | 跨订阅和资源导出指标数据 | 建议使用数据平面指标批处理 API 来查询指标,并有权访问 93 天的数据。 建议使用“指标导出”功能将指标数据连续导出到 Azure 和外部目标。 |
查询包含多个资源的大型订阅 | 在单次批量调用中查询多个资源,包括对 93 天的历史数据进行筛选和聚合。 | 无查询支持。 实时连续导出指标数据。 | “Data plane Metrics Batch API” 更适合这项任务,因为它支持查询并可以访问历史数据。 指标导出无法查询数据,并且无法访问历史信息。 |
以近乎实时的方式将指标连续导出到存储帐户、事件中心、Log Analytics 工作区。 | 可能但效率低下。 需要创建重复查询机制来提取数据,以及将数据存储在目标的方法。 | 使用数据收集规则进行一次性配置,实时导出指标。 数据可以无缝发送并存储在存储帐户、事件中心和 Log Analytics 工作区中。 | 指标导出提供“一经设置,高枕无忧”完全托管功能。 使用数据平面 API 需要进行更多的开发工作来提取和存储目标中的数据。 |
查询和导出的限制 | 数据平面 API 允许在单个 API 调用中查询最多 50 个资源 ID。 | 指标导出的资源数没有限制,这些资源可以与单个数据收集规则相关联。 单个资源最多只能与 5 个 DCR 相关联 | 指标导出可能更适合查询资源的无限制数据。 |
独立软件供应商 (ISV) 查询和分析指标。 | 数据平面 API 可以帮助第三方应用程序从客户订阅中查询指标。 | 指标导出需要创建数据收集规则和导出资源指标的特定权限级别。 | 对于 ISV,建议使用数据平面 API。 |
计费 | 对于低量数据,数据平面 API 更便宜。 有关详细信息,请参阅 Azure Monitor 定价、导出。 | 对于大量数据,指标导出的成本较低,因为它具有基于事件的计费模型。 有关详细信息,请参阅 Azure Monitor 定价、原生指标。 | 建议将数据平面 API 用于低容量数据。 建议对大量数据使用指标导出。 |