如何通过 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 订阅?