用 Google Agent Skills 查 Cloud Run 错误日志,可以让 cloud-logging-query-generation 生成 LQL 过滤条件,再到 Google Cloud 的 Logs Explorer 运行。先确认当前项目和时间范围,再查看命中的日志。
先给助手服务名和错误级别
跟助手说明要查询的是 cloud run 服务,给出具体的服务名就行,下面示例里用的 my-service 是占位符。如果不需要多余说明,只要筛选表达式,可以直接要求助手只输出 lql 代码。
使用 cloud-logging-query-generation,为 Cloud Run 服务 my-service 生成 ERROR 及更高级别的 Logs Explorer 查询。只生成表达式。
resource.type="cloud_run_revision" resource.labels.service_name="my-service" severity>=ERROR
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

到 Logs Explorer 粘贴并执行
先切换到目标服务所在的云项目,打开 Logs Explorer 界面。如果查询编辑区没展开,点 Show query 把它调出来。把生成语句里的示例服务名替换成你自己的实际服务名,选好覆盖故障发生时段的时间范围,再点 Run query 运行查询。

没有结果怎么逐项排查?
先临时删掉 severity 的级别限制,看看同一个服务下能不能查到普通日志。要是结果还是空的,就逐一核对所选项目对不对、服务名有没有写错、时间范围有没有覆盖故障时段,以及当前账号有没有对应日志的访问权限。如果能看到普通日志,唯独找不到 ERROR 级别的内容,再去确认你的应用是不是把错误信息正确写到了 severity 字段里。最后点开任意一条命中的日志记录,核对时间、所属服务和具体错误内容是否符合预期。
怎么从一条失败请求追到容器日志?
如果问题表现为 HTTP 500,可先从请求日志找失败调用。把下面的服务名换成你的实际值,再把时间缩到故障发生前后。这个查询按 HTTP 响应状态查找请求,适用于已知错误出现在接口响应的情况。
resource.type="cloud_run_revision"
resource.labels.service_name="my-service"
log_id("run.googleapis.com/requests")
httpRequest.status>=500
先看请求,再沿 trace 查上下文
打开命中记录,查看 httpRequest.status、时间和 resource.labels.revision_name。如果日志含有 trace,复制完整值作为过滤条件,再去查同一请求关联的应用日志。应用需要写入相同的 trace 才会关联。如果没有 trace,可以用同一个修订版本和更小的时间窗口缩小范围。
应用报错和 HTTP 失败分别怎么判断?
请求状态用来判断客户端收到的响应,日志级别用来判断应用如何标记事件。排查时分别执行两组条件,避免同时限制状态和级别后漏掉记录。若 500 有结果但 ERROR 没结果,检查应用有没有按结构化日志写入 severity,并确认自己查看的是正确的日志范围。











