使用 Cloud Monitoring 监控实例

本文档介绍如何使用 Cloud Monitoring 控制台来监控 Spanner 实例。

Cloud Monitoring 控制台为 Spanner 提供了多种监控工具:

如果您希望以编程方式监控 Spanner,请使用适用于 Cloud Monitoring 的 Cloud 客户端库来检索指标。

使用 Cloud Monitoring 精选信息中心

Cloud Monitoring 为您提供了一个精选信息中心,其中汇总了有关 Spanner 实例的关键信息,包括:

  • 突发事件:由用户创建且处于已建立、处理中或已解决状态的监控提醒
  • 活动:Spanner 审核日志列表(如果已启用且可用)
  • 实例:Spanner 实例的简要说明,包括计算容量、数据库数量和实例健康状况
  • 吞吐量和存储空间使用情况的汇总图表

如需查看 Spanner 信息中心,请执行以下操作:

  1. 在 Google Cloud 控制台中,选择 Monitoring 或使用如下按钮:

    进入 Monitoring

  2. 如果导航窗格中显示资源,请选择资源,然后选择 Cloud Spanner。否则,请选择信息中心,然后选择名为 Cloud Spanner 的信息中心。

查看实例和数据库详情

当您打开精选的 Spanner 信息中心时,它会显示所有实例的汇总数据。点击实例下的实例名称即可查看有关特定实例的更多详细信息。

信息中心显示实例元数据、实例中的数据库,以及按区域划分的各种指标的图表等信息。

在实例信息中心页面内,您还可以查看该实例中特定数据库的图表:

  1. 在右侧的实例指标图表上方,点击 Database metrics(数据库指标)。

  2. Select a breakdown(选择细分项)下拉列表中,选择要查看其图表的数据库。

    Cloud Monitoring 控制台会显示该数据库的图表。

为 Spanner 指标创建自定义图表

您可以使用 Cloud Monitoring 为 Spanner 指标创建自定义图表。您可以使用 Metrics Explorer 创建临时图表,也可以创建在自定义信息中心上显示的图表。

具体来说,Cloud Monitoring 允许您创建一个自定义图表,以显示两个或多个指标是否相互关联。例如,您可以检查 Spanner 实例中的 CPU 利用率延迟时间之间的关联,这可能表示您的实例需要更多的计算容量,或者您的某些查询导致高 CPU 利用率。

要开始使用此示例,请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,选择 Monitoring 或使用如下按钮:

    进入 Monitoring

  2. 如果导航窗格中显示 Metrics Explorer,请选择它。 否则,请选择资源,然后选择 Metrics Explorer

  3. 点击查看选项标签页,然后选中 Log scale on Y-axis(Y 轴对数刻度)复选框。当某个指标的值远大于其他指标的值时,此选项可帮助您比较多个指标。

  4. 在右侧窗格上方的下拉列表中,选择

  5. 点击指标标签页。您现在可以向图表中添加指标。

要向图表中添加延迟时间指标,请按照以下步骤操作:

  1. Find resource type and metric(查找资源类型和指标)框中,输入值 spanner.googleapis.com/api/request_latencies,然后点击该框下方显示的行。
  2. 过滤框中,输入值 instance_id,然后输入要检查的实例 ID,并点击应用
  3. 聚合器下拉列表中,点击上限
  4. 可选:更改延迟时间百分位:

    1. 点击显示高级选项
    2. 点击校准器下拉列表,然后点击您要查看的延迟时间百分位。

      在大多数情况下,您应查看第 50 百分位延迟时间,以了解典型的延迟时间;或者查看第 99 百分位延迟时间,以了解请求中处理速度最慢的 1% 的延迟时间。

要将 CPU 利用率指标添加到图表中,请按照以下步骤操作:

  1. 点击 添加指标
  2. Find resource type and metric(查找资源类型和指标)框中,输入值 spanner.googleapis.com/instance/cpu/utilization,然后点击该框下方显示的行。
  3. 过滤框中,输入值 instance_id,然后输入要检查的实例 ID,并点击应用
  4. 聚合器下拉列表中,点击上限

您现在已经有了一个图表,其中显示了 Spanner 实例的 CPU 利用率和延迟时间指标。如果两个指标均高于预期,则您可以采取其他措施来纠正此问题

如需详细了解如何创建自定义图表,请参阅 Cloud Monitoring 文档

为 Spanner 指标创建提醒

创建 Spanner 实例时,您可以为该实例选择计算容量。随着实例的工作负载发生变化,Spanner 不会自动调整实例的计算容量。因此,您需要设置多个提醒,以确保该实例的 CPU 利用率不超过建议的最大值,且存储量不超过建议的上限

以下示例展示了如何为某些 Spanner 指标设置提醒政策。如需查看可用指标的完整列表,请参阅 Spanner 的指标列表

高优先级 CPU

如需创建在 Spanner 的高优先级 CPU 利用率高于建议阈值时触发的提醒政策,请使用以下设置。

新建条件
字段

资源和指标 资源菜单中,选择 Cloud Spanner 实例
指标类别菜单中,选择实例
指标菜单中,选择按优先级划分的 CPU 利用率

(metric.type 为 spanner.googleapis.com/instance/cpu/utilization_by_priority)。
过滤 instance_id = YOUR_INSTANCE_ID
priority = high
跨时序
时序分组依据
多区域实例为 location
区域实例则将其留空。
跨时序
时序聚合
sum
滚动窗口 10 m
滚动窗口函数 mean
配置提醒触发器
字段

条件类型 Threshold
提醒触发器 Any time series violates
阈值位置 Above threshold
阈值 多区域实例为 45%
区域实例为 65%
重新测试窗口 10 minutes

CPU 24 小时滚动平均值

如需创建提醒政策,并在 Spanner 的 CPU 利用率的 24 小时滚动平均值高于建议阈值时触发,请使用以下设置。

新建条件
字段

资源和指标 资源菜单中,选择 Cloud Spanner 实例
指标类别菜单中,选择实例
指标菜单中,选择平滑 CPU 利用率

(metric.type 为 spanner.googleapis.com/instance/cpu/smoothed_utilization)。
过滤 instance_id = YOUR_INSTANCE_ID
跨时序
时序聚合
sum
滚动窗口 10 m
滚动窗口函数 mean
配置提醒触发器
字段

条件类型 Threshold
提醒触发器 Any time series violates
阈值位置 Above threshold
触发阈值 90%
重新测试窗口 10 minutes

存储

如需创建提醒政策,使其在 Spanner 实例的存储量高于建议的阈值时触发,请使用以下设置。

新建条件
字段

资源和指标 资源菜单中,选择 Cloud Spanner 实例
指标类别菜单中,选择实例
指标菜单中,选择已使用的存储空间

(metric.type 为 spanner.googleapis.com/instance/storage/utilization)。
过滤 instance_id = YOUR_INSTANCE_ID
跨时序
时序聚合
sum
滚动窗口 10 m
滚动窗口函数 max
配置提醒触发器
字段

条件类型 Threshold
该条件的触发条件 Any time series violates
阈值位置 Above threshold
阈值 将阈值设置为每个节点最大存储空间的 75%,并乘以节点数。如需了解当前的节点限制,请参阅 Spanner 配额和限制
重新测试窗口 10 minutes

后续步骤