在 Log Analytics 中查询和查看日志

本文档介绍了如何查询和查看 已升级为使用 Log Analytics 的日志存储分区, 您可以使用 SQL,可用于过滤和聚合日志。 有关 Log Analytics 功能的信息 请参阅 Log Analytics 概览

升级日志存储桶以使用 Log Analytics 时, 您不会限制 访问 Logs Explorer。您可以继续 排查问题并查看 这些存储分区中的日志条目。

了解如何升级日志存储桶以使用 Log Analytics,请参阅以下文档:

准备工作

  1. 如需获取使用 Log Analytics 和执行创建关联的数据集等活动所需的权限, 请让管理员向您授予 项目的以下 IAM 角色:

    • 如需查询 _Required_Default 日志存储分区,请执行以下操作: 日志查看器 (roles/logging.viewer)
    • 如需查询自定义日志存储分区,请执行以下操作: 日志查看访问器 (roles/logging.viewAccessor)
    • (可选)如需创建关联的 BigQuery 数据集,请执行以下操作: Logs Configuration Writer (roles/logging.configWriter)
    • (可选)如需查看关联的 BigQuery 数据集,请执行以下操作: 日志链接访问器 (roles/logging.linkViewer)
    • (可选)如需在 BigQuery 中运行查询,请执行以下操作: BigQuery Job User (roles/bigquery.jobUser)
    • (可选)要在 BigQuery 中查看数据,请执行以下操作: BigQuery Data Viewer (roles/bigquery.dataViewer)
    • (可选)如需将图表保存到信息中心,请执行以下操作: Monitoring Editor (roles/monitoring.editor)

    如需详细了解如何授予角色,请参阅管理访问权限

    您也可以通过自定义角色或其他预定义角色来获取所需的权限。

  2. 对于您要查询的日志视图,请转到日志存储页面。 并验证用来存储存储分区 这些日志视图将升级为使用 Log Analytics。如有必要, 升级日志存储桶

    在 Google Cloud 控制台中,前往日志存储页面:

    前往日志存储

    如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。

  3. 可选:如果您想使用 然后创建一个 关联的 BigQuery 数据集

查询日志视图

在排查问题时,您可能需要 统计包含与模式匹配的字段的日志条目数计算 HTTP 请求的平均延迟时间。您可以 通过对日志视图运行 SQL 查询来执行这些操作。

如需向视图发出 SQL 查询,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 Log Analytics 页面:

    转到 Log Analytics

    如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。

  2. 日志视图列表中,找到该视图,然后选择查询。通过 Query 窗格显示默认查询,其中包括 查询的表的名称。

    您还可以在查询窗格中输入查询,或修改显示的查询。

    要设置查询的时间范围,请使用时间范围选择器或将 一个指定 timestamp 字段的 WHERE 子句。我们建议 您需要使用时间范围选择器来指定时间范围。

    如果您在查询中指定了时间戳,则该时间戳会覆盖 时间范围选择器和时间范围选择器中所选的时间范围 已停用。如需使用时间范围选择器,请移除时间戳表达式 WHERE 子句。

  3. 点击工具栏中的运行查询

    系统执行查询,查询结果会显示在 结果标签页。

    您可以使用工具栏选项来设置查询格式、清除查询 并打开 BigQuery SQL 参考文档。

显示视图的架构

日志视图的架构定义了其结构和数据类型 。这些信息对您来说非常重要,因为它决定了 如何构建查询。例如,假设您要计算 HTTP 请求的平均延迟时间。你需要了解如何查看延迟时间 字段及其是存储为整数(如 100)还是存储为 类似 "100" 的字符串。当延迟时间数据以字符串形式存储时,查询 必须先将该值转换为数值,然后才能计算平均值。

如果列的数据类型是 JSON,则架构不会列出字段 。例如,一个日志条目的 名称为 json_payload 的字段。将日志存储桶升级为使用 Log Analytics 中,该字段会映射到数据类型为 JSON 的列。 架构未指示列的子字段。也就是说, 无法使用架构来确定 json_payload.url 是否为有效引用。

如需确定视图的架构,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 Log Analytics 页面:

    转到 Log Analytics

    如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。

  2. 日志视图列表中,找到该视图,然后选择 视图名称。

    此时会显示表的架构。您可以使用过滤条件字段 来查找特定字段您无法修改架构。

保存查询

您运行的所有查询都会自动 30 天,可通过选择近期标签页访问 在 Log Analytics 页面上。您可以搜索、查看、运行和分享 最近标签页中列出的查询。

如果您希望保留某个查询以供日后使用,可为其添加注解, 或者让团队成员查看和运行查询 然后保存查询您可以使用已保存的查询 及其可见性标签。您还可以修改 并删除这些查询系统会保留您保存的查询,直到您将其删除 。

每个 Google Cloud 项目可以保存 10,000 个查询。

控制台

如需保存查询,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 Log Analytics 页面:

    转到 Log Analytics

    如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。

  2. 使用查询填充 Query 窗格。

    您可以通过输入新查询来填充 Query 窗格, 从最近标签页中选择查询,或按 从已保存标签页中选择查询。

    Query 窗格中的查询有效时, 保存已启用。

  3. 点击 保存,然后填写名称说明 字段。您为这些字段设置的值会显示在已保存 标签页。

  4. 可选:要让有权访问 Log Analytics 页面,以获取 Google Cloud 项目视图,并运行您的 已保存的查询,请开启与项目共享切换开关。

    默认情况下,此切换开关处于停用状态,且公开范围仅限您自己。

  5. 点击保存查询

  6. 可选:如需查看、排序和运行您可见的已保存查询,请执行以下操作: 选择已保存标签页。

    您可以按名称、说明和 可见性标签。您还可以按查询内容进行过滤。

您可以使用 在已保存标签页中:

  • 要修改查询 点击 更多选项,然后选择修改。 您可以修改 名称说明字段;但查询本身不能是 。

  • 要删除已保存的查询 点击 更多选项,然后选择删除

API

如需使用 Logging API 保存查询,请使用 savedQueries.create 方法结合使用。有关此方法的详情, 参数和响应数据,请参阅 savedQueries.create.

您可以使用savedQueries.create 方法参考页面上的 APIs Explorer 微件。对于 Log Analytics 查询,则必须指定 opsAnalyticsQuery 字段。通过 以下示例展示了示例请求正文,其中包含一个 SavedQuery 的实例:

{
  "parent": "projects/my-project/locations/global"
  "saved_query":
  {
     "ops_analytics_query":
     {
        "sql_query_text" :
           "SELECT
           timestamp, log_name, severity, json_payload, resource, labels
           FROM
           `TABLE`
           WHERE
           timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 HOUR)
           ORDER BY timestamp ASC
           LIMIT 100"
     }
     "visibility": "PRIVATE"
  }
}

共享查询

控制台

排查问题或看到异常结果时,您可能 想要与团队成员分享查询及其结果。查看 Log Analytics 页面上的查询结果中,您可以复制网址, 打开后会显示您运行的查询及其结果。

如需与团队成员共享查询和结果,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 Log Analytics 页面:

    转到 Log Analytics

    如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。

  2. 查询窗格中填充查询,然后点击运行查询

    您可以通过输入新查询来填充 Query 窗格, 从最近标签页中选择查询,或按 从已保存标签页中选择查询。

  3. 点击 分享链接

  4. 将链接发送给您的团队成员。

    当您的团队成员打开链接时,Log Analytics 页面会打开。 此页面显示您运行的查询以及查询结果。

    团队成员的 Identity and Access Management 角色才能成功打开该网址 必须具备查看 日志记录页面。

API

您可以使用 Logging API 创建共享查询,方法是 使用 savedQueries.Create 方法,并在SHARED visibility 字段。

查看和运行最近的查询或已保存的查询

如需查看或重新运行查询,请选择最近标签页 在 Log Analytics 页面上,找到以下查询:

  • 如需运行查询,请点击运行
  • 要查看查询,请使用 更多选项菜单。

要查看、修改或运行已保存的查询,请选择已保存标签页 在 Log Analytics 页面上,找到以下查询:

  • 如需运行查询,请点击运行
  • 要修改、查看或删除查询,请使用 更多选项菜单。

使用 BigQuery 查询日志

如果您的日志存储桶已升级为使用 Log Analytics, 您还可以在 BigQuery 中查看数据 关联的 BigQuery 数据集。通过这种配置 可以使用 BigQuery 来联接日志数据 可通过关联的数据集访问; 与其他商家数据相关联有关如何创建 请参阅 授予 BigQuery 对日志存储桶的查看权限

如需查询关联的数据集,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 Log Analytics 页面:

    转到 Log Analytics

    如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。

  2. 日志视图列表中,找到该视图,然后选择查询。通过 Query 窗格填充默认查询。

    您还可以在查询窗格中输入查询,或修改显示的查询。

  3. 点击工具栏中的在 BigQuery 中运行

    BigQuery Studio 页面随即会打开。FROM 该查询的语句被修改为指定 关联数据集 BigQuery 表路径语法

    您还可以修改显示的查询。

  4. 点击运行查询

后续步骤