【问题标题】:Azure Monitor - How to list metric for a resourceAzure Monitor - 如何列出资源的指标
【发布时间】:2023-01-26 15:12:02
【问题描述】:

我正在尝试列出 Azure 中资源的指标,例如: https://github.com/Azure-Samples/monitor-dotnet-metrics-api/blob/master/Program.cs

在这里,我首先调用以获取资源的指标定义,并使用我正在调用的指标定义来获取指标。

这种方法的问题是 当我在 azure 中拥有数百万资源时,进行数百万次 API 调用以获取指标定义将花费很多。

任何人都可以在这里帮助我优化这个在更大环境中运行良好的解决方案吗?

【问题讨论】:

    标签: azure


    【解决方案1】:

    是的,进行数百万次 API 调用以获取每个资源的指标定义可能会非常昂贵,尤其是在大型环境中。您可以通过以下几种方式进行优化:

    1. 缓存:优化解决方案的一种方法是缓存每个资源的指标定义。获得资源的指标定义后,您可以将其存储在缓存中并在后续请求中重复使用。这样,您就不必一次又一次地调用 API 来获取同一资源的指标定义。

    2. 批处理:您可以发出批处理请求以一次获取多个资源的指标定义,而不是为每个资源调用一次 API。这样,您可以减少 API 调用次数并降低成本。

    3. 使用 Azure Monitor 的“指标”API:Azure Monitor 的指标 API 允许您检索资源的指标数据,而无需预先知道指标定义。这可以减少检索资源的指标数据所需的 API 调用次数。

    4. 使用 Azure Monitor 的“指标定义”API:Azure Monitor 的指标定义 API 允许您列出资源的指标定义。您可以使用此 API 获取资源可用的指标列表,然后使用指标 API 检索特定指标的数据。这样,您可以减少检索资源数据所需的 API 调用次数。

    5. 使用 Azure Monitor 的“Autoscale”API:Azure Monitor 的 Autoscale API 允许您检索资源的指标数据,而无需预先知道指标定义。这可以减少检索资源的指标数据所需的 API 调用次数。

      在实施之前用小样本测试解决方案的性能很重要。请记住,最佳方法可能取决于您的用例的具体要求。

    【讨论】:

      猜你喜欢
      • 2021-11-11
      • 1970-01-01
      • 2020-03-08
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-15
      相关资源
      最近更新 更多