REST API 用于监控 google 云 pubsub 中未送达的消息
REST API for monitoring undelivered message in google cloud pubsub
我想实现一项服务来监控未送达的消息,并在它达到阈值或进一步处理时发送通知。
我已经浏览过 Stackdriver。它为我提供了监控和警报,它只提供了 API 来获取 metricDescriptor,但它没有提供 API 来获取未送达的消息,正如您在 Stackdriver Monitoring API.[= 中看到的那样13=]
实际上是否提供了 API 来获取指标值?
您可以通过 projects.timeSeries.list method 获取值。您可以将名称设置为 projects/<your project>
,将过滤器设置为 metric.type = "pubsub.googleapis.com/subscription/num_undelivered_messages"
,并将结束时间(如果需要一定范围的值,还包括开始时间)设置为代表 RFC3339 UTC "Zulu" 格式,例如 2018-10-04T14:00:00Z
。如果您想查看特定订阅,请将过滤器设置为 metric.type = "pubsub.googleapis.com/subscription/num_undelivered_messages" AND resource.label.subscription_id = "<subscription name>"
。
结果将是一种或多种 TimeSeries 类型(取决于您是否指定了特定订阅),其中 points
字段包括指定时间范围内的数据点,每个这将使 value
的 int64Value
设置为尚未被订阅者确认的消息数。
我想实现一项服务来监控未送达的消息,并在它达到阈值或进一步处理时发送通知。
我已经浏览过 Stackdriver。它为我提供了监控和警报,它只提供了 API 来获取 metricDescriptor,但它没有提供 API 来获取未送达的消息,正如您在 Stackdriver Monitoring API.[= 中看到的那样13=]
实际上是否提供了 API 来获取指标值?
您可以通过 projects.timeSeries.list method 获取值。您可以将名称设置为 projects/<your project>
,将过滤器设置为 metric.type = "pubsub.googleapis.com/subscription/num_undelivered_messages"
,并将结束时间(如果需要一定范围的值,还包括开始时间)设置为代表 RFC3339 UTC "Zulu" 格式,例如 2018-10-04T14:00:00Z
。如果您想查看特定订阅,请将过滤器设置为 metric.type = "pubsub.googleapis.com/subscription/num_undelivered_messages" AND resource.label.subscription_id = "<subscription name>"
。
结果将是一种或多种 TimeSeries 类型(取决于您是否指定了特定订阅),其中 points
字段包括指定时间范围内的数据点,每个这将使 value
的 int64Value
设置为尚未被订阅者确认的消息数。