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

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

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

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

准备工作

  1. 如需获取使用 Log Analytics 运行查询、查看日志和创建图表所需的权限, 请让管理员向您授予 项目的以下 IAM 角色:

    • 如需查询 _Required_Default 日志存储分区,请执行以下操作: 日志查看器 (roles/logging.viewer)
    • 如需查询自定义日志存储分区,请执行以下操作: 日志查看访问器 (roles/logging.viewAccessor)
    • (可选)如需将图表保存到信息中心,请执行以下操作: Monitoring Editor (roles/monitoring.editor)

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

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

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

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

    前往日志存储

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

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

选择要绘制图表的数据

要配置要在图表上显示的数据,请使用 SQL。选择图表标签页后, Logging 会根据您的查询自动生成图表 结果。在运行查询并生成图表后,您可以 通过更改图表类型并选择 列以查看不同的数据。

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

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

    转到 Log Analytics

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

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

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

    • 表格:仅查看包含查询结果的表。

    • 图表:仅查看查询结果的图表。

    • 两者:并排查看表格和图表。

  4. 如果您选择了图表两者标签,则可以 通过更改图表类型来自定义图表配置, 以及自定义以图表形式呈现哪些行和列更多信息 如需了解图表配置,请参阅自定义图表配置

自定义图表配置

您可以通过更改图表类型、选择 将维度和测量结果添加到图表,以及应用细分。通过 维度用于对行进行分组或分类,是 X 轴的值。通过 测量(即 Y 轴值)是根据 Y 轴。

更改图表类型

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

  • 条形图(默认)

    条形图在两条轴上绘制数据。如果您的图表使用类别或字符串 作为维度,那么您可以将条形图的图表配置设为 水平或垂直,其中尺寸轴和测量轴可以对调。

  • 折线图

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

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

  • 面积图 面积图基于折线图,每条折线下方的区域是 阴影。在面积图中,数据系列堆叠在一起。例如,如果你的 两个完全相同的系列,但它们在同一折线图中重叠, 阴影区域是面积图中堆叠的区域。

  • 饼图

    饼图展示了数据集中的类别与整个数据集之间的关系, (使用圆圈表示整个数据集和圆圈中的楔形) 来表示数据集中的类别。楔形调整架的尺寸 表示该类别对某个类别的贡献有多大(通常以百分比表示)

  • 刻度盘和统计信息摘要图表

    刻度盘和统计信息摘要图表显示的是 以不同的颜色标示阈值。仪表盘仅显示最近的测量结果,而统计信息摘要还会显示最近测量结果的历史记录。这些微件也采用颜色编码。当最新值 数据以绿色显示如果值是 警告范围,则数据会显示为琥珀色。同样,如果值是 危险范围,则会显示红色。

    使用 量表或记分卡

更改尺寸和测量

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

  • 维度

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

    默认情况下,时间戳的间隔自动设置为 但您也可以选择自定义时间间隔自动间隔更改 基于时间范围选择器指定合适的值,以维持规模相近的组。

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

  • 测量

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

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

添加细分

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

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

有关示例,请参阅以下图表配置,其中维度 字段设置为 type测量字段设置为 Count rows,并且 Breakdown 字段设置为 severity

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

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

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

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

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

根据您的查询生成图表后,您可以将该图表保存到 自定义信息中心。借助自定义信息中心 使用各种工具显示和整理对您有用的信息, 微件类型。例如,您可以创建一个信息中心 Cloud Storage 存储分区的使用情况:

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

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

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

    转到 Log Analytics

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

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

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

  4. 可选:如需查看自定义信息中心,请在消息框内执行以下操作: 点击查看信息中心

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

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

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

限制

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

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

查询示例

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

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

    转到 Log Analytics

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

  2. 通过运行默认查询来确定日志视图的表名称:

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

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

  3. TABLE 替换为对应的表名称 复制到您要查询的视图中,然后复制该查询。

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

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

以下查询会选择 locationseverity,其中包含 转换为字符串:

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

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

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

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

  • 图表类型:条形图,水平
  • 维度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` 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 路径必须转换为字符串和数字,才能绘制图表。

后续步骤