使用 Stackdriver 进行 BigQuery 监控

本文档介绍如何使用 Stackdriver Monitoring 监控 BigQuery 资源,包括为 BigQuery 指标创建图表和警报。

准备工作

  • 在使用 Monitoring 之前,请确保您具有以下各项:

    • Google Cloud Platform 帐号。
    • 启用了结算功能的 BigQuery 项目。

    确保满足以上两个条件的一种方法就是完成快速入门:使用网页界面的学习。

  • 要使用 Stackdriver,您的项目必须位于工作区中。请按照创建单项目工作区中的步骤执行操作。

查看和创建信息中心、图表与提醒

查看 Stackdriver 信息中心

要使用 Stackdriver 监控 BigQuery 项目,请执行以下操作:

  1. 在 Google Cloud Platform Console 中,选择 Stackdriver > Monitoring,或者使用以下按钮:

    转到 Monitoring

  2. 如果尚未在页面顶部选择项目名称,请选择项目的名称。

  3. 要查看 BigQuery 资源,请选择 Resources > BigQuery。在此页面上,您可以看到可由用户配置的表、活动和事件报告列表,以及项目指标或数据集指标图表。

    Stackdriver 中的 BigQuery 信息中心

直观呈现可用槽和已分配的槽

要直观呈现可用槽和已分配给项目的槽,请执行以下操作:

  1. 转到适用于 BigQuery 的 Stackdriver 信息中心,如查看 Stackdriver 信息中心所述。

    转到 Monitoring for BigQuery

  2. 在适用于 BigQuery 的 Stackdriver 信息中心里,向下滚动到名为 Slot Utilization 的图表。

Slot Utilization 图表显示在 Stackdriver 默认主信息中心和适用于 BigQuery 的 Stackdriver 信息中心里。

创建信息中心和图表

这一步是要在您自己的图表和信息中心里显示由 Monitoring 收集的指标:

  1. 在 Monitoring 控制台的左侧导航窗格中,选择 Dashboards > Create Dashboard

    转到“Create Dashboard”页面

  2. 点击 Add Chart。您会看到“Add Chart”页面:

    添加图表

  3. Find resource type and metric 面板字段中:

    • Resource type 下拉列表中,选择 Global。您可能需要展开 Resource types 列表,以便找到 Global 选项。
    • Metric 下拉列表中,选择 Query execution time
  4. Aggregation 窗格字段控制执行时间数据的显示方式。您可以修改这些字段的默认设置。

  5. 点击 Save

创建提醒

通过定义条件并配置通知设置来创建提醒。

  1. 在 Monitoring 控制台左侧的导航窗格中,选择 Alerting > Create a Policy。这将打开 Create New Alerting Policy 页面。

    转到“Create new Alerting Policy”页面

  2. Conditions 部分中,点击 Add Condition

    1. Target 窗格中,对 Find resource type and metric 字段进行如下设置:

      • Resource type 下拉列表中,选择 Global
      • Metric 下拉列表中,选择 Query execution time
    2. 填写 Aggregation 窗格字段以捕获校准时间段内每个时间序列第 50 百分位的值。

      • Aligner 下拉列表中,选择 50th percentile
      • Reducer 下拉列表中,选择 none
      • Alignment Period 下拉列表中,选择 1
    3. 填写 Configuration 窗格字段,使得当任何时间序列的第 50 百分位数在一分钟内超过 800 毫秒时触发条件。

      • Condition triggers if 下拉列表中,选择 Any time series violates
      • Condition 下拉列表中,选择 is above
      • 在 threshold 字段中,输入 800。您可以根据需要设置阈值。此处选择的值为 800,因为它大约是第 50 百分位数平均值的两倍。
      • For 下拉列表中,选择 1
    4. 点击 Save

      添加阈值条件

  3. 要配置通知设置,请点击 Add Notification Channel。您可以选择通过电子邮件、短信和其他几种选项接收通知。

  4. (可选)在 Documentation 部分中输入通知消息。

  5. 最后,为您的政策命名并点击 Save

可用于直观呈现数据的指标

可用指标包括以下各项,时间延迟最多可以达到数个小时。

资源类型 名称 单位 说明
BigQuery Scanned bytes 每分钟字节数 扫描的字节数
BigQuery Scanned bytes billed 每分钟字节数 为结算而发送的字节数

出于多种原因,“Scanned bytes”和“Scanned bytes billed”可能有所不同。

  • 存在最低结算金额。如果您扫描的字节数少于该数量,那么我们不会向您收取费用。
  • 如果您的帐号具有一些关联的赠金,那么这些指标可能有所不同。
BigQuery Query Time
- 5th percentile
- 50th percentile
- 95th percentile
- 99th percentile
非缓存的查询执行时间(单位为秒)
BigQuery Slots allocated 在任意时刻分配给项目的槽数。您也可以认为,这就是项目所使用的槽数。

槽按结算帐号分配,多个项目可以共同使用相同的预留插槽数。

BigQuery Slots allocated by job type 在任意时刻分配给项目的槽数,按作业类型划分。您也可以认为,这就是项目所使用的槽数。目前,加载和导出作业属于免费操作,这些操作均在公开资源池中运行。

槽按结算帐号分配,多个项目可以共同使用相同的预留插槽数。

BigQuery Slots available 项目可用的总槽数。

如果项目与其他项目共同使用预留的槽数,则不会指明其他项目使用的槽数。

BigQuery 数据集 Stored bytes 字节 数据集中存储的字节数;如果数据集中表的数量未超过上限 100 个,则系统将按表名称显示每个表存储的字节数。如果数据集中表的数量超过上限 100 个,则额外表中所存储的数据将报告为单个总和,而且摘要的表名称是空字符串。
BigQuery 数据集 Tables 数据集中的表数
BigQuery 数据集 Uploaded billed bytes 每分钟字节数 上传到数据集中任何表的已结算字节数
BigQuery 数据集 Uploaded bytes 每分钟字节数 上传到数据集中任何表的字节数

出于多种原因,“Uploaded billed bytes”和“Uploaded bytes billed”可能有所不同。

  • 存在最低结算金额。如果您扫描的字节数少于该数量,那么我们不会向您收取费用。
  • 如果您的帐号具有一些关联的赠金,那么这些指标可能有所不同。
BigQuery 数据集 Uploaded rows 每分钟行数 上传到数据集中任何表的记录数

已知问题

  • 如果没有运行任何查询,则系统不会为“Slots allocated”或“Slots available”返回数据,也不会为任何查询相关变量返回数据。请缩小以查看数据。

  • 如果查询同时在 US 和 EU 运行,则“Slots allocated”和“Slots available”可能不正确。

  • “Slots allocated”报告为时间段(时间段的宽度取决于图表的缩放级别)内的平均值。缩放图表可能会改变“Slots allocated”的值。如果放大到 1 小时或 1 小时以内的时间段,系统就会显示“Slots allocated”的真实值。在此范围内,在图表上可见的任意时间,avg(slots allocated) = slots allocated

  • Stackdriver 图表中的数据仅适用于所选项目。目前我们尚未实现多项目监控。

此页内容是否有用?请给出您的反馈和评价:

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面