我想实现一项服务,以监视未送达的邮件并在达到阈值或进一步处理时发送通知。
我已经查看了Stackdriver。它为我提供了监视和警报,它仅提供获取metricDescriptor的API,却不提供获取未送达消息的API,正如您在Stackdriver Monitoring API中看到的那样。
实际上是否有提供API来获取指标值?
答案 0 :(得分:3)
您可以通过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
的{{1}}设置为订阅者尚未确认的消息数。