使用 Log Analytics 绘制查询结果图表

本文档介绍了如何绘制 Log Analytics 查询结果图表, 可让您从日志数据中发现模式和趋势。日志分析 可让您使用 SQL 搜索和汇总日志,以生成实用的数据洞见 查询。

运行查询后,可以在表中查看查询结果,或者对查询结果进行转换 查询及其可视化图表可以保存到信息中心。 例如,查看您的日志所具有的严重级别 创建一个图表来显示 并按 severity 细分日志。以下 屏幕截图显示了细分为不同严重程度类型的数据点:

说明按严重程度细分的图表示例。

准备工作

  1. 如需获得使用 Log Analytics 所需的权限,请让您的管理员向您授予日志存储桶或日志视图的以下 IAM 角色:

    • 如需查询 _Required_Default 日志存储分区,请执行以下操作: 日志查看器 (roles/logging.viewer)。
    • 如需查询项目中的所有日志视图,请执行以下操作: 日志视图访问器 (roles/logging.viewAccessor)。
    • 如需查询特定日志视图中的日志,请执行以下操作: 为日志视图创建 IAM 政策,或将 Logs View Accessor (roles/logging.viewAccessor) 角色限制为特定日志视图。如需了解详情,请参阅控制对日志视图的访问权限

  2. 如需获得创建图表所需的权限,请让您的管理员向您授予项目的 Monitoring Editor (roles/monitoring.editor) IAM 角色。

  3. 对于您要查询的日志视图,请转到日志存储页面。 并验证存储这些日志视图的日志存储分区是否已升级, 日志分析。如有必要,请升级日志存储桶。

    前往日志存储

  4. 可选:如果您想使用 BigQuery 数据集,例如,如果您打算使用 BigQuery Studio 页面,然后创建 关联的 BigQuery 数据集

选择要用于绘制图表的数据

如需配置要在图表中显示的数据,请使用 SQL 构建查询。当您选择图表标签页时,日志记录会根据您的查询结果自动生成图表。在运行查询并生成图表后,您可以 通过更改图表类型并选择 列以查看不同的数据。

如需以图表形式查看查询结果,请执行以下操作来运行查询:

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

    转到 Log Analytics

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

  2. 查询窗格中,输入查询,然后点击运行

  3. 查询完成后,在结果标签页中,选择所需的方式 查看查询结果:

    • 表格:仅限表格格式。

    • 图表:仅限图表格式

    • 全部:图表和表格格式。

      选择如何查看查询结果后,您可以配置任意 然后保存查询和结果 自定义信息中心当您选择 表格选项。否则,格式为图表。

      对于图表,您可以通过可视化选项选择图表类型,以及选择要绘制图表的行和列。如需详细了解图表配置,请参阅自定义图表配置

自定义图表配置

您可以通过更改图表类型、选择要绘制图表的维度和指标,以及应用细分来自定义图表配置。通过 维度用于对行进行分组或分类,是 X 轴的值。测量(即 Y 轴值)是与 Y 轴对应的绘制数据系列。

更改图表类型

您可以根据行的类型,从以下图表类型中进行选择 作为维度和衡量指标的列,以及您希望 直观呈现数据

  • 条形图(默认) : 条形图在两条轴上绘制数据。如果您的图表使用类别或字符串作为维度,则可以将条形图的图表配置设为水平或垂直,其中维度轴和测量轴会互换。

  • 折线图: 折线图可用于显示数据随时间的变化情况。使用线条 每个时序都用一条不同的折线来表示,分别对应 您选择的测量。

    如果 X 轴是基于时间的,则每个数据点都位于时间间隔的开头。每个数据点均通过线性插值连接。

  • 堆叠面积图: 面积图基于折线图,每条线下方的区域均会着色。在面积图中,数据系列会堆叠显示。例如,如果您有两个完全相同的系列,则这些系列在折线图中会重叠,但在面积图中会堆叠。

  • 饼图或圆环图: 饼图展示了数据集中的类别与整个数据集之间的关系, (使用圆圈表示整个数据集和圆圈中的楔形) 来表示数据集中的类别。楔形的大小表示相应类别在总体中所占的比重(通常以百分比表示)。

  • 表: 在表格中,查询结果中的每一行对应一行。 由 SELECT 子句定义。如果您打算在信息中心内以表格形式显示数据,请使用 LIMIT 子句将结果中的行数限制在几百行以下。

  • 仪表盘或统计信息摘要图表:仪表盘和统计信息摘要图表会根据该值与一组阈值的比较情况,为您提供最新值以及绿色、黄色或红色指示。与仅显示最新值的仪表盘不同,统计信息摘要还可以包含有关过去值的信息。

    只有在查询 结果至少包含一行,而该行包含具有 时间戳和包含数字数据的列。查询结果可以包含多行和多列。

    如果您想在查询中执行基于时间的汇总,请执行以下操作:

    • 将查询配置为汇总一段时间内的数据,以便进行排序 按时间戳降序排列结果,并限制 多行。您可以使用 LIMIT 子句或使用时间范围选择器来限制查询结果中的行数。

      例如,以下查询按小时汇总数据, 应用限制并对结果进行排序:

      SELECT TIMESTAMP_TRUNC(timestamp, HOUR) AS hour, severity, COUNT(*) AS count
      FROM `TABLE_NAME_OF_LOG_VIEW`
      WHERE severity IS NOT NULL AND severity = "DEFAULT"
      GROUP BY hour,severity
      ORDER BY hour DESC
      LIMIT 10
      
    • 维度设置为与报告时间单位的列一致。 例如,如果您的查询按一小时对数据进行汇总,并创建一个名为 hour 的列,请将维度菜单设置为 hour

    • 选择停用间隔,因为您的查询已指定汇总间隔。在本示例中,此间隔为 1 小时。

    • 测量设置为数字列,并将函数设置为 none

    如果您想让 Log Analytics 为您执行基于时间的汇总,请执行以下操作:

    • 配置时间范围选择器,这会影响 查询结果中的行数。
    • 维度设置为与报告时间单位的列匹配。 例如,您可以将此菜单设置为 timestamp
    • 间隔菜单设置为将汇总间隔设置为特定的 。例如,将此字段的值设置为 1 hour。错误做法 选择自动间隔
    • 测量设置为数字列,然后选择一个函数 例如 sum

更改维度和测量

您可以通过选择维度来选择以图表形式呈现哪些行和列 和测量字段。

  • 维度

    维度必须是时间戳、数值或字符串列。默认情况下,该维度设置为 架构中基于时间戳的第一个列。如果查询中没有时间戳,则 选择第一字符串列作为维度。您还可以自定义维度 图表显示面板中的“添加日期”按钮。选择时间戳列作为维度后,图表会显示数据随时间的变化情况。

    默认情况下,时间戳的间隔自动设置为 但您也可以选择自定义时间间隔自动间隔会根据时间范围选择器更改值,以保持相似大小的组。

    您还可以停用间隔时间,以便自行指定 汇总和时间范围,以进行更复杂的分析。 停用间隔后,测量的聚合函数会设为 none。当维度间隔时,只允许使用数字测量 已停用。

  • 测量

    您可以在图表显示面板中选择多个测量参数。选择测量后 还必须选择聚合函数,以对其分组值执行,例如 countsumaveragepercentile-99。 例如,count-distinct 会返回给定列中的唯一值数量。

    如果您选中该维度的停用间隔时间复选框,则 none 聚合函数选项可用。如果维度是 字符串值后,系统不会显示停用间隔时间复选框。不过,将测量的聚合函数设置为 none 也会停用间隔。

添加细分维度

要根据另一列将单个数据系列拆分为多个数据系列,请添加细分。

选择细分项时,请选择包含少量简短且有意义的标签(例如 region_name)的列,而不是可能包含大量字符串或长字符串的字段(例如 textPayload)。

例如,请参阅以下图表配置,其中“维度”字段设置为“类型”“测量”字段设置为“行数”,而“细分”字段设置为“严重程度”:

添加了细分信息的图表配置示例。

以下图表示例展示了一个添加了细分的图表:

包含按严重程度细分的示例图表。

在前面的屏幕截图中,您会看到一个堆叠的数据系列,其中资源 类型 k8s_container 拆分为不同的 severity 类型。这样,您就可以 确定由特定 资源。

将图表保存到自定义信息中心

根据您的查询生成图表后,您可以将该图表保存到 自定义信息中心。通过自定义信息中心,您可以使用各种类型的小部件来显示和整理对您有用的信息。例如,您可以创建一个信息中心,以详细了解 Cloud Storage 存储桶的使用情况:

显示 Cloud Storage 存储分区使用情况的信息中心示例。

如需将图表保存到信息中心,请执行以下操作:

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

    转到 Log Analytics

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

  2. 运行查询以生成图表,然后点击 Chart 标签页中的 Save chart

  3. 保存到信息中心对话框中,输入图表的标题,然后 选择要将图表保存到的信息中心。

  4. 可选:如需查看自定义信息中心,请在通知中点击查看信息中心

如需查看自定义信息中心列表,其中包含由 Log Analytics SQL 查询,请前往 Save Chart 按钮,然后点击 菜单

修改保存到自定义信息中心的图表

修改由 Log Analytics SQL 查询生成的图表,并保存到 信息中心,请参阅修改 widget 的配置。 在配置 widget 对话框中,您可以修改用于生成图表的查询,也可以自定义图表配置以直观呈现不同的数据。

限制

  • 如果您的 Google Cloud 项目位于使用 Assured Workloads 的文件夹中,则您生成的图表无法显示在自定义信息中心内。

  • 信息中心级过滤条件不适用于根据 Log Analytics SQL 查询。

查询示例

本部分提供了用于绘制查询结果图表的示例 SQL 查询。 如需从日志中获得更多有用的数据洞见,请自定义图表配置。 如需使用示例查询,请执行以下操作:

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

    转到 Log Analytics

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

  2. 指定要查询的日志视图的表名称。

    如需找到此名称,请转到日志视图列表。 找到日志视图,然后选择 Query 返回多个结果。查询窗格会填充默认查询,其中包含要查询的日志视图的表名称。表名称的格式为 project_ID.region.bucket_ID.view_ID

    如需详细了解如何访问默认查询,请参阅 查询日志视图

  3. TABLE_NAME_OF_LOG_VIEW 替换为日志视图的表名称 然后复制该查询

  4. 将查询粘贴到查询窗格中,然后点击运行查询

按位置和严重性绘制日志条目

以下查询会选择 locationseverity,并将位置转换为字符串:

SELECT
  CAST(JSON_VALUE(resource.labels.location) AS STRING) AS location,
  severity,
FROM
  `TABLE_NAME_OF_LOG_VIEW`

示例图表和图表配置如下所示:

为日志条目的位置和严重性绘制图表的示例图表。

在上面的屏幕截图中,图表配置具有以下图表配置:

  • 图表类型:条形图,水平
  • 维度location,上限为 10
  • 测量:计算行数
  • 明细severity,上限为 5 个

以图表形式查看 BigQuery 数据访问审核日志

用于 BigQuery data_access 审核的以下查询过滤条件 记录并选择特定字段,例如 user_emailipauth_permissionjob_execution_project。例如,您可以创建一个 每个主账号的 BigQuery API 使用频率随时间的变化情况。

SELECT 
  timestamp,
  proto_payload.audit_log.authentication_info.principal_email as user_email,
  proto_payload.audit_log.request_metadata.caller_ip as ip,
  auth.permission as auth_permission,
  auth.granted as auth_granted,
  JSON_VALUE(data_access.resource.labels.project_id) AS job_execution_project,
  SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(1)] AS referenced_project,
  SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(3)] AS referenced_dataset,
  SPLIT(proto_payload.audit_log.resource_name, '/')[SAFE_OFFSET(5)] AS referenced_table
FROM `TABLE_NAME_OF_LOG_VIEW` as data_access,
  UNNEST(proto_payload.audit_log.authorization_info) AS auth
WHERE
  log_id="cloudaudit.googleapis.com/data_access"
  AND data_access.resource.type = 'bigquery_dataset'

示例图表和图表配置如下所示:

BigQuery 数据访问审核日志的图表示例

在上面的屏幕截图中,图表配置具有以下图表配置:

  • 图表类型:条形图,垂直
  • 维度user_email,上限为 5
  • 测量:计算行数
  • 细分维度auth_permission,最多 5 个

限制

  • 所选列应至少有一行包含非 null 值。

  • 如果您保存查询并自定义图表配置, 未保存图表配置。

  • 如果您的查询已包含汇总数据,那么生成的图表可能如下所示: 而是由自动应用的其他汇总方法 。

  • JSON 路径必须转换为字符串和数字,才能绘制图表。

后续步骤