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.
但不清楚:
- 如何通过subscription_id
筛选数据
- 如何获取当前值而不是 TimeSeries 数据
对于你的第一个问题,将 setFilter
中的 metric.label.subscription_id
替换为 resource.label.\"subscription_id\"
对于第二个问题,您可以参考文档示例 here:确保时间间隔至少为 60 秒(61 秒对我有效)。以任何方式获取按结束时间排序的最后一个值
使用 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.
但不清楚:
- 如何通过subscription_id 筛选数据
- 如何获取当前值而不是 TimeSeries 数据
对于你的第一个问题,将
中的setFilter
metric.label.subscription_id
替换为resource.label.\"subscription_id\"
对于第二个问题,您可以参考文档示例 here:确保时间间隔至少为 60 秒(61 秒对我有效)。以任何方式获取按结束时间排序的最后一个值