排查 Eventarc for Cloud Run 问题

本页面介绍如何解决您在使用 Eventarc for Cloud Run 时可能遇到的问题。

有关您可能会遇到的其他问题,请参阅以下问题排查页面:

Cloud Run 服务未收到事件

如果服务未收到事件,以下解决方法可能有用:

Cloud Audit Logs 事件

  • 检查是否已为服务的审核日志启用管理员读取数据读取数据写入访问权限。

    转到“审核日志”

  • 确认创建触发器以后等待了足够长的时间。触发器最长可能需要两分钟才能正常运行。
  • 满足 Eventarc 触发器创建的前提条件
  • 确认事件过滤器没有过于严格。如需了解详情,请参阅 Cloud Audit Logs 的事件过滤条件
  • 通过 Logs Explorer 确认受监控服务在生成审核日志。

    转到 Logs Explorer

  • 检查 Cloud Run 页面上的 Cloud Run 日志:

    转到 Cloud Run

    点击您在 Cloud Run 中创建的服务,然后导航到日志标签页。 如果日志显示服务收到不正常状态代码,则表示 Cloud Run 服务拒绝了事件。

Pub/Sub 消息

  • 确认 Eventarc 触发器已创建。
  • 确认 Pub/Sub 主题已创建并关联到 Eventarc 触发器。
  • 确认 Pub/Sub 主题存在:转到 Pub/Sub 并搜索该主题。
  • 确认创建触发器以后等待了足够长的时间。 触发器最长可能需要两分钟才能正常运行。
  • 检查 Cloud Run 页面上的 Cloud Run 日志。

    转到 Cloud Run

    点击您在 Cloud Run 中创建的服务,然后导航到日志标签页。 如果日志显示服务收到不正常代码,则表示 Cloud Run 服务拒绝了事件。

已设置触发器,但目标未收到事件

  • 确认发送的事件载荷未超过事件大小 (512KB) 的限制。Pub/Sub 推送订阅也受一组资源限制的约束,例如每个发布区域的吞吐量。这可确保 Pub/Sub 事件载荷小于 512KB。

  • 找到与 Cloud Run 触发器关联的 Pub/Sub 主题。

    1. 转到 Pub/Sub > 主题

      打开“主题”

    2. 验证 Pub/Sub 主题名称包含已创建的触发器的名称。

  • 使用 topic/send_message_operation_count 指标监控消息是否发布到主题。如果消息未发布到主题,请检查 Cloud Audit Logs 并确保受监控服务正在发出日志。如果记录了日志,但事件未被传送,请与支持团队联系

  • 使用按 response_code 分组的 subscription/push_request_count 指标监控消息是否成功推送。如果报告了推送错误,请检查 Cloud Run 服务日志。如果接收端点返回不正常状态代码,则表示 Cloud Run 代码未按预期工作,您必须与支持团队联系

找不到 Pub/Sub 主题

Pub/Sub 主题可能已移除或修改。您创建触发器时,系统会创建一个新的 Pub/Sub 主题,因此请删除现有触发器并再次创建触发器

INVALID_ARGUMENT 服务不存在错误消息

如果您收到 INVALID_ARGUMENT: cloud run service "SERVICE_NAME" in region "REGION_NAME" does not exist 错误消息,则表示服务账号已被删除。如果目标服务的服务账号已被删除,则事件将不会传送到 Cloud Run。创建新的 Cloud Run 服务账号

Cloud Run 服务故障

即使 Cloud Run 服务发生故障,Pub/Sub 也会默认将事件保留七天,并重新尝试将事件发送到目标。如需详细了解 Pub/Sub 资源限制,请参阅配额和限制