google-cloud-platform - 用于监控谷歌云 pubsub 中未传递消息的 REST API
问题描述
我想实现一项服务来监视未传递的消息并在达到阈值或进一步处理时发送通知。
我已经浏览了 Stackdriver。它为我提供了监控和警报,它仅提供获取 metricDescriptor 的 API,但不提供获取未传递消息的 API,如您在Stackdriver Monitoring API中所见。
实际上是否有提供的 API 来获取指标值?
解决方案
您可以通过projects.timeSeries.list 方法获取值。您可以将名称设置为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
设置为具有未得到订阅者的认可。
推荐阅读
- python - How to get the mean of a 3D array over 2D?
- javascript - 如何使用弹出式 Chrome 扩展程序请求和捕获地理位置
- authentication - 每个用户的 Directus 访问令牌
- python - Python - 由于缺少 DLL,Tensorflow 不会导入
- javascript - Reactjs - × TypeError:无法读取未定义的属性“原型”
- python - Pandas 将单元格值应用于 geonamescache 函数/大文件
- mysql - 如何在子查询结果中默认一个值?
- bash - 使文件看起来没有混乱
- c++ - Microsoft Visual Studio Professional 2013,变量在哪里定义和编辑?
- python - 用填充的数据框和不同的列名填充空数据框