查询和查看日志概览

本文档介绍了如何使用 Google Cloud 控制台查询、查看和分析日志条目。您可以使用两个界面:Logs Explorer 和 Log Analytics。您可以使用这两个界面查询、查看和分析日志;不过,它们使用不同的查询语言,并且具有不同的功能。如需对日志数据进行问题排查和探索,我们建议您使用Logs Explorer。如需生成分析洞见和趋势,我们建议您使用 Log Analytics。您可以通过发出 Logging API 命令来查询日志并保存查询。您还可以使用 Google Cloud CLI 查询日志。

Logs Explorer

Logs Explorer 旨在帮助您排查问题并分析服务和应用的性能。例如,直方图会显示错误率。如果您看到错误猛增或其他有趣的现象,可以找到并查看相应的日志条目。当日志条目与错误组相关联时,日志条目会附带一个选项菜单,您可以通过该菜单访问有关错误组的更多信息。

Cloud Logging API、Google Cloud CLI 和Logs Explorer支持相同的查询语言。为了在使用Logs Explorer时简化查询构建,您可以通过使用菜单、输入文本以及在某些情况下使用单个日志条目显示中包含的选项来构建查询

Logs Explorer 不支持汇总操作,例如统计包含特定模式的日志条目数。如需执行汇总操作,请在日志存储桶上启用分析功能,然后使用 Log Analytics。

如需详细了解如何使用Logs Explorer搜索和查看日志,请参阅使用Logs Explorer查看日志

Log Analytics

借助 Log Analytics,您可以运行查询来分析日志数据,然后查看或绘制查询结果图表。借助图表,您可以识别日志在一段时间内的模式和趋势。以下屏幕截图展示了 Log Analytics 中的图表功能:

Log Analytics 的界面。

例如,假设您要排查问题,并且希望了解在一段时间内向特定网址发出的 HTTP 请求的平均延迟时间。将日志存储桶升级为使用 Log Analytics 后,您可以使用 SQL 查询来查询存储在日志存储桶中的日志。这些 SQL 查询还可以包含pipe语法。通过对日志进行分组和汇总,您可以深入了解日志数据,从而缩短问题排查时间。

借助 Log Analytics,您可以查询日志视图分析视图。日志视图具有固定的架构,该架构与 LogEntry 数据结构相对应。由于分析视图的创建者决定了架构,因此分析视图的一个用例是将日志数据从 LogEntry 格式转换为更适合您的格式。

您还可以使用 BigQuery 查询数据。例如,假设您想使用 BigQuery 将日志中的网址与已知恶意网址的公开数据集进行比较。若要让 BigQuery 能够看到您的日志数据,请将您的存储桶升级为使用 Log Analytics,然后创建关联的数据集

您可以继续使用Logs Explorer排查问题,并在升级后的日志存储桶中查看各个日志条目。

限制

  • 如需升级现有日志存储桶以使用 Log Analytics,请遵守以下限制:

    • 日志存储桶处于解锁状态,除非它是 _Required 存储桶。
    • 存储桶没有待处理的更新。
  • 对于已升级为使用 Log Analytics 的日志存储桶,您无法移除 Log Analytics 支持。

  • 只有在升级完成后写入的日志条目才可用于分析。

  • 如果日志存储桶已配置字段级访问权限控制,您将无法使用 Log Analytics 页面查询日志视图。不过,您可以通过 Logs Explorer 页面发出查询,也可以查询关联的 BigQuery 数据集。由于 BigQuery 不支持字段级访问权限控制,因此如果您查询关联的数据集,则可以查询日志条目中的所有字段。

  • 如果您查询的是使用不同的 Cloud KMS 密钥配置的多个日志存储桶,除非满足以下限制条件,否则查询会失败:

    • 日志存储桶位于同一位置。
    • 日志存储桶的父级资源的文件夹或组织已配置默认密钥
    • 默认密钥与日志存储桶位于同一位置。

    满足上述限制条件后,父级的 Cloud KMS 密钥会对 Log Analytics 查询生成的任何临时数据进行加密。

  • 在运行查询之前,系统不会移除重复的日志条目。这种行为与使用Logs Explorer查询日志条目时不同,后者会通过比较日志名称、时间戳和插入 ID 字段来移除重复条目。如需了解详情,请参阅问题排查:我的 Log Analytics 结果中存在重复日志条目

价格

Cloud Logging 不会对将日志路由到支持的目标位置收费;但目标位置可能会收取费用。除了 _Required 日志存储桶之外,Cloud Logging 会针对将日志流式传输到日志存储桶以及存储时间超过日志存储桶默认保留期限的情况收取费用。

Cloud Logging 不会针对复制日志、创建日志范围/分析视图,或通过 Logs Explorer/Log Analytics 页面发出的查询收取费用。

有关详情,请参阅以下文档:

将存储桶升级为使用 Log Analytics 并创建关联的数据集时,无需支付 BigQuery 注入或存储费用。为日志存储桶创建关联的数据集时,您不会将日志数据注入到 BigQuery 中。您可以通过关联的数据集获得对日志存储桶中存储的日志数据的读取权限。

在 BigQuery 关联的数据集上运行 SQL 查询(包括使用 BigQuery Studio页面、BigQuery API 和 BigQuery 命令行工具)时,需要支付 BigQuery 分析费用。

博客

如需详细了解 Log Analytics,请参阅以下博文:

后续步骤