簡體   English   中英

計算 Pubsub 主題中未確認消息的數量

[英]Count number of unacknowledged messages in a Pubsub topic

一旦來自 pubsub 主題的所有消息都得到確認,我想執行一個操作。 我嘗試將 Stackdriver 監控 API 用於度量“按雲區域分解的未確認消息的數量”,但不了解區域過濾器以及為什么需要它。 在哪里可以查看我的主題使用的區域? 並且由於某些未知原因,對於某些主題,API 調用完全無緣無故失敗。 了解所有消息是否已被確認的最佳方法是什么。

Cloud Pub/Sub 主題沒有未確認消息的概念。 這純粹是單個訂閱的屬性,有多少消息尚未確認。

如果任何訂閱中的未確認消息年齡過高,您可以使用Stackdriver Alerting來提醒您。 將 Resource Type 設置為“Cloud Pub/Sub Subscription”,將 Metric 設置為“Oldest Unacked Message”,並在任何時間序列違反某個閾值時發出警報。

嘗試改用 指標subscription/num_undelivered_messages subscription/num_unacked_messages_by_\\region ,它在 GA 中並且不需要指定區域。

如果您正在尋找一種編程方式來實現這一點,這可能會有所幫助:

from google.cloud import monitoring_v3
from google.cloud.monitoring_v3 import query

project = "my-project"
client = monitoring_v3.MetricServiceClient()
result = query.Query(
         client,
         project,
         'pubsub.googleapis.com/subscription/num_undelivered_messages', 
         minutes=60).as_dataframe()

print(result['pubsub_subscription'][project]['subscription_name1'][0])
print(result['pubsub_subscription'][project]['subscription_name2'][0])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM