关于Cloud Pub/Sub推送端点调用日志及请求记录查询的技术咨询
Cloud Pub/Sub推送端点调用日志及请求记录查询的技术咨询
嘿,我之前排查类似问题的时候踩过不少坑,给你分享几个能找到这些调用记录的实用方法:
调整Cloud Logging(原Stackdriver)的过滤条件:你之前没找到应该是筛选范围不对,Pub/Sub的推送请求日志是关联到订阅(Subscription)而非主题(Topic)的。在Cloud Logging控制台里,用这个过滤器就能精准定位:
resource.type="pubsub_subscription" AND protoPayload.methodName="google.pubsub.v1.SubscriberService.Push" AND protoPayload.request.push_endpoint="你的推送端点完整URL"执行查询后,每条日志条目里都会包含推送的时间戳、请求状态、端点信息等,完全满足你“某个时间调用了端点”的需求。
查看端点所属服务的日志:如果你的推送端点部署在GCP的服务上(比如Cloud Functions、Cloud Run、App Engine),直接去对应服务的日志面板里找就行。比如Cloud Functions的日志会自动记录所有触发请求,包括Pub/Sub推送的,你可以按时间排序,再结合请求来源标识快速定位。
自定义端点日志(备用方案):如果上面的方法都没法满足你的细节需求,最简单的方式就是在推送端点的代码里加一行日志输出——每次收到请求时,打印当前时间、请求ID或者Pub/Sub消息ID。这种方式虽然需要改代码,但能让你完全掌控记录的内容,排查问题时特别好用。
之前我一开始也只盯着Topic的日志找,后来才发现推送的日志全在Subscription下面,调整过滤条件后立刻就找到了,你可以试试第一个方法,应该能解决你的问题。
备注:内容来源于stack exchange,提问作者Alex Flint
相关产品推荐
相关产品推荐

