使用 Cloud Monitoring 进行监控

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

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

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

准备工作

要使用 Cloud Monitoring,您必须拥有一个工作区。如果您没有工作区,则可以创建一个新工作区

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

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

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

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

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

    转到 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 或使用如下按钮:

    转到 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 利用率不超过建议的最大值,且每个节点的存储量不超过建议的上限

要创建建议的提醒政策,请使用下表中显示的说明和设置:

高优先级 CPU

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

目标窗格
字段

Resource type* Cloud Spanner Instance
Metric CPU Utilization by priority
Filter instance_id = YOUR_INSTANCE_ID
priority = high
Aggregator max
Period 10 m
Advanced Aggregation Alignermean
* 选择此资源和指标类型等同于在 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
Advanced Aggregation Alignermean
* 选择此资源和指标类型等同于在 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
Advanced Aggregation Alignermax
* 选择此资源和指标类型等同于在 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 的限制,建议的阈值为:

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

后续步骤