使用审核日志排查 Pub/Sub 问题

Pub/Sub 会生成审核日志,以记录 Pub/Sub 资源的管理和访问活动。这些活动的一些示例包括创建主题、更新订阅或删除快照。您可以使用这些日志来排查问题并确保消息传递基础架构的安全性。

以下是有关 Pub/Sub 中的审核日志的一些重要注意事项:

  • Pub/Sub 审核日志使用服务名称 pubsub.googleapis.com

  • Pub/Sub 有不同类型的日志。包括:

    • 管理员活动日志会记录创建、删除或更新主题和订阅等操作。

    • 数据访问日志会记录检索主题或列出订阅等操作。

    • 系统事件日志会记录移除闲置订阅等事件。

  • Pub/Sub 不会记录消息操作(例如发布、订阅或确认消息)。

如需详细了解 Pub/Sub 的审核日志,请参阅审核日志

查看 Pub/Sub 审核日志

日志浏览器提供了一个集中位置,可供您访问 Google Cloud中的所有日志数据。您可以使用 Logs Explorer 查看 Pub/Sub 日志。

  1. 获取查看日志浏览器所需的权限。

    如需了解更多信息,请参阅准备工作

  2. 在 Google Cloud 控制台中,前往 Logs Explorer 页面。

    转到日志浏览器

  3. 选择一个现有的 Google Cloud 项目、文件夹或组织。

  4. 如需显示与 Pub/Sub 相关的所有审核日志,请在查询编辑器字段中输入以下查询:

     protoPayload.serviceName="pubsub.googleapis.com"
    
    此图展示了如何在查询编辑器字段中输入查询。
    图 1 输入查询。
  5. 点击运行查询

  6. 如需显示特定资源和审核日志类型的审核日志,请在“查询构建器”窗格中执行以下操作:

    1. 对于所有资源,选择要查看其审核日志的 Google Cloud 资源。例如,选择 Cloud Pub/Sub 主题,然后选择主题名称。

    2. 对于所有日志名称,选择要查看的审核日志类型。

      例如:

      • 对于管理员活动审核日志,请输入 activity

      • 对于系统事件审核日志,请选择 system_event

查询会自动运行。

如何使用审核日志排查 Pub/Sub 问题

  1. 确定您要调查的具体问题。下面列出了一些潜在问题:

    • 确定是谁创建、删除或修改了主题、订阅、快照或架构。

    • 跟踪主题或订阅设置的变化。

    • 验证主题或订阅是否存在以及其当前状态。

    不过,您无法使用审核日志来排查与消息发布和传送相关的问题。您不会找到有关消息递送失败、消息重复或消息排序问题的日志。审核日志也无法帮助您发现订阅者速度缓慢或消息确认问题。如需排查消息级问题,您需要依赖其他工具,例如监控指标、死信队列和应用日志。

  2. 根据问题,构建查询以过滤审核日志。例如,如需了解是谁删除了订阅,请按 protoPayload.methodName="google.pubsub.v1.Publisher.DeleteSubscription" 过滤。

    如需调查创建订阅时可能出现的错误,请按 protoPayload.methodName="google.pubsub.v1.Subscriber.CreateSubscription" 进行过滤。

  3. 检查日志条目中的时间戳、正文和资源名称,以了解事件顺序并找出任何异常。

如需详细了解如何构建适用于 Pub/Sub 的审核日志查询,请参阅审核日志记录