Google 云指标 - 获取按 subscription_id 筛选的 pub/sub 指标

Google Cloud Metrics - get pub/sub metric filtered by subscription_id

使用 GCP 并在 Metrics Explorer 中获得以下数据:

我需要使用 Java 客户端获取特定 subscription_id 中 undelivered_messages 的当前数量。

找到以下示例: https://cloud.google.com/monitoring/custom-metrics/reading-metrics

ListTimeSeriesRequest.Builder requestBuilder =
          ListTimeSeriesRequest.newBuilder()
              .setName(name.toString())
              .setFilter(
                  "metric.type=\"pubsub.googleapis.com/subscription/num_undelivered_messages\" AND metric.label.subscription_id = \"myexporter\"")
              .setInterval(interval)
              .setView(ListTimeSeriesRequest.TimeSeriesView.HEADERS);

导致错误:

Caused by: io.grpc.StatusRuntimeException: NOT_FOUND: The metric referenced by the provided filter is unknown. Check the metric name and labels.

但不清楚:

  1. 对于你的第一个问题,将 setFilter

    中的 metric.label.subscription_id 替换为 resource.label.\"subscription_id\"
  2. 对于第二个问题,您可以参考文档示例 here:确保时间间隔至少为 60 秒(61 秒对我有效)。以任何方式获取按结束时间排序的最后一个值