如何通过 Google Cloud Monitoring JAVA 客户端库获取 Pub/Sub 订阅中未确认消息的数量

Posted

技术标签:

【中文标题】如何通过 Google Cloud Monitoring JAVA 客户端库获取 Pub/Sub 订阅中未确认消息的数量【英文标题】:How to fetch the number of unacknowledged messages in a Pub/Sub Subscription via the Google Cloud Monitoring JAVA Client Library 【发布时间】:2021-01-11 07:35:33 【问题描述】:

我在创建的 Pub/Sub 订阅上有一个编号,它没有附加消费者,并且可以存储长达 7 天的消息。这是因为理想情况下,这些 Pub/Sub 中的消息数量不应超过某个阈值。我想从我的应用程序中定期监视这些 Pub/Sub,然后在数量超过阈值的极少数情况下处理消息。如果没有,即使设置相同的警报也会有所帮助。

我知道我可以从 Google Cloud Console 为订阅设置 Cloud Monitoring 并创建信息中心/警报。有没有办法通过 JAVA 客户端库 (Google Cloud Monitoring Link to Documentation) 以编程方式执行此操作?由于没有很多可用的代码示例,我觉得很难。

TLDR:如何在我的代码中使用 google-cloud-monitoring JAVA 客户端库获取 Pub/Sub 订阅中未确认消息的数量

【问题讨论】:

【参考方案1】:

您可以使用listTimeSeries方法获取数据。

【讨论】:

【参考方案2】:

您可以使用 MetricServiceClient.ListTimeSeriesRequest 以编程方式读取这些指标(例如 subscription/num_undelivered_messages)。 Cloud Monitoring 文档页面包含有关如何初始化客户端库的一般示例:https://cloud.google.com/monitoring/docs/reference/libraries#using_the_client_library

【讨论】:

以上是关于如何通过 Google Cloud Monitoring JAVA 客户端库获取 Pub/Sub 订阅中未确认消息的数量的主要内容,如果未能解决你的问题,请参考以下文章

如何通过HTTP请求验证Google Cloud Vision

如何使用工作负载身份通过 Google Cloud .NET SDK 访问 Google Kubernetes Engine 中的 ESP?

如何通过 Exposed 连接到 Google Cloud SQL

如何通过 terraform 使用服务帐户创建 google cloud pubsub pull 订阅?

Google Cloud Profiling 如何通过分析优化我的代码?

如何理解 Google Spanner Monitor 的错误(组合)?