使用 Cloud Monitoring 进行监控

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

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

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

使用精心打造的 Cloud Monitoring 信息中心

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

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

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

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

    转到“监控”

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

查看实例和数据库详细信息

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

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

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

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

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

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

为 Cloud Spanner 指标创建自定义图表

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

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

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

  1. 在 Google Cloud Console 中,选择 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. 聚合器下拉列表中,点击上限

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

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

为 Cloud Spanner 指标创建提醒

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

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

高优先级 CPU

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

目标窗格
字段

Resource type* Cloud Spanner Instance
Metric CPU Utilization by priority
Filter instance_id = YOUR_INSTANCE_ID
priority = high
Group By 多区域实例为 location
区域实例则将其留空。
Aggregator sum
Period 10 m
Aligner mean
* 选择此资源和指标类型等同于在 Find resource type and metric(查找资源类型和指标)窗格中输入以下值:spanner.googleapis.com/instance/cpu/utilization_by_priority
配置窗格
字段

Condition triggers if Any time series violates
Condition is above
Threshold 多区域实例为 45%
区域实例为 65%
For 10 minutes

CPU 24 小时滚动平均值

要创建当 Cloud Spanner 的 CPU 利用率 24 小时滚动平均值高于建议阈值时触发的提醒政策,请使用以下设置:

目标窗格
字段

Resource type* Cloud Spanner Instance
Metric Smoothed CPU utilization
Filter instance_id = YOUR_INSTANCE_ID
Aggregator sum
Period 10 m
Aligner mean
* 选择此资源和指标类型等同于在 Find resource type and metric(查找资源类型和指标)窗格中输入以下值:spanner.googleapis.com/instance/cpu/smoothed_utilization
配置窗格
字段

Condition triggers if Any time series violates
Condition is above
Threshold 90%
For 10 minutes

存储

要创建当 Cloud Spanner 实例的存储空间高于建议阈值时触发的提醒政策,请使用以下设置:

目标窗格
字段

Resource type* Cloud Spanner Instance
Metric Storage used
Filter instance_id = YOUR_INSTANCE_ID
Aggregator sum
Period 10 m
Aligner max
* 选择此资源和指标类型等同于在 Find resource type and metric(查找资源类型和指标)窗格中输入以下值:spanner.googleapis.com/instance/storage/used_bytes
配置窗格
字段

Condition triggers if Any time series violates
Condition is above
Threshold 将阈值设置为每个节点最大存储空间的 75%,并乘以节点数。对于当前节点限制,请参阅 Cloud Spanner 配额和限制

对于每个节点 2 TB 的限制,建议的阈值为 1.5 TB 中的字节数:

1649267441664 乘以实例中的节点数。
For 10 minutes

后续步骤