利用系统数据分析监控实例

本页面介绍了如何使用 System Insights 信息中心来监控 Spanner 实例和数据库。

系统数据分析简介

“系统数据分析”信息中心会显示与所选实例或数据库相关的统计信息摘要和图表,并提供延迟时间、CPU 利用率、存储空间、吞吐量和其他性能统计信息的衡量指标。您可以查看过去 1 小时到过去 30 天内几个不同时间段的图表,

系统数据分析信息中心包含以下部分 (请参见屏幕截图):

  1. “数据库”列表:显示所选数据库的统计信息。您可以查看单个数据库或所有数据库的汇总数据。这仅适用于实例。
  2. 布局切换开关:在单列布局和双列布局之间切换。
  3. 时间范围过滤条件:按时间范围过滤统计信息,例如 小时、天或自定义范围。
  4. 统计信息摘要:显示某个时间点的统计信息, 。
  5. 图表:显示 CPU 利用率、吞吐量、延迟时间 存储空间使用情况等。

    如果您在实例中创建了分区(预览版),则会看到一个额外的下拉列表,用于查看单个分区或所有分区的汇总图表。如果您尚未创建任何分区,则不会看到此下拉列表。

系统数据分析信息中心

系统数据分析统计信息摘要图表、图表和指标

System Insights 信息中心提供以下图表和指标,用于展示实例的当前状态和历史状态。大多数图表和指标均适用于实例级层。您还可以查看每个维度的 单个数据库。

可用的统计信息摘要

名称 说明
CPU 利用率 实例中的 CPU 总使用率 所选数据库。在双区域位置或 多区域实例之间,此指标表示 各区域的平均 CPU 利用率。
延迟时间:P99 实例或所选数据库中读写操作的第 99 百分位延迟时间。
延迟时间:P50 读写操作的 P50 延迟时间 实例或所选数据库中的对象。
吞吐量 每秒从实例或数据库读取或向其写入的未压缩数据量。此值的衡量标准: 二进制兆字节 (MB),其中 1 MB 为 2^20 字节。此计量单位也称为兆比字节 (MiB)
每秒操作次数 每秒操作次数(速率) 实例中的读写操作 所选数据库。
存储空间利用率 在实例级别,它是实例中的总存储空间利用率百分比。在数据库级别,这是所选数据库使用的总存储空间。

可用图表和指标

以下是示例指标的图表:

图片

每个图表卡片上的工具栏都会提供以下一组标准 选项:

  • 要放大图表的特定部分,请点击图表并拖动 水平或垂直方向。要还原缩放操作,请点击 重置缩放级别。 缩放操作会同时应用于信息中心上的所有图表。

  • 如需隐藏或显示图例,请点击 展开/收起图表图例

  • 要以全屏模式查看图表,请点击 进入/退出全屏。 您也可以点击 Esc 来退出全屏模式。

  • 如需查看其他选项,请依次点击 更多图表选项

    大多数图表都提供以下选项:

    • 下载 PNG 图片
    • 下载 CSV 文件
    • 添加到自定义信息中心。通过此选项,您可以将图表添加到 Cloud Monitoring 中的一个新信息中心或现有信息中心。
    • 在 Metrics Explorer 中查看。在以下位置查看指标: Metrics Explorer。 之后,您可以在 Metrics Explorer 中查看其他 Spanner 指标 选择 Spanner 数据库资源类型。

下表介绍了系统数据分析信息中心默认显示的图表。列出了每个图表的指标类型。指标类型 字符串遵循此前缀:spanner.googleapis.com/指标类型描述了可以从受监控的资源中收集的测量结果。

图表名称和指标类型
说明 适用于实例 可用于数据库

CPU 利用率(按优先级)


instance/cpu/utilization_by_priority

按优先级划分的高、中、低或所有任务占实例 CPU 资源的百分比。这些任务包括 Spanner 必须完成的启动和维护任务 。

对于双区域或多区域实例,指标会按区域和优先级进行分组。

详细了解高优先级任务
学习 有关 CPU 利用率的更多信息。



总 CPU 利用率


instance/cpu/utilization_by_priority

CPU 利用率,以实例占用 CPU 资源的百分比表示。

对于实例,您可以按数据库或按任务类型(用户/系统)和优先级组合查看总 CPU 利用率的堆叠图。

对于数据库,您可以按任务类型(用户/系统)和优先级组合查看总 CPU 利用率的堆叠图表。

对于双区域或多区域实例,您可以选择要查看的区域,也可以将所有区域显示为多个折线图。



按操作类型划分的 CPU 利用率


instance/cpu/utilization_by_operation_type

以实例占用的 CPU 资源的百分比表示的 CPU 利用率堆叠图,按用户发起的操作(例如读取、写入和提交)进行分组。使用此指标可获取 如 调查 CPU 利用率较高

您可以使用优先级下拉菜单进一步按任务优先级进行过滤。

对于双区域或多区域实例,折线图中的指标会显示 平均百分比。



CPU 利用率(24 小时的滚动平均值)


instance/cpu/smoothed_utilization

每个数据库的总 CPU Spanner 利用率的滚动平均值,以实例占用 CPU 资源的百分比表示。每个数据点代表前 24 个数据点的平均值 小时。

对于双区域或多区域实例,您可以使用区域下拉菜单,按区域过滤折线图中显示的指标。



按更改流读取的延迟时间


api/read_request_latencies_by_change_stream

更改流显示读取请求延迟时间的分布情况。使用此 指标查看所有延迟时间,并区分延迟时间是否针对 变更数据流读取或非变更数据流读取。

更改流查询是长时间运行的,预计需要几秒钟。相比之下,非更改流查询大多是短时运行的。 借助此指标,您可以:
  • 查看变更数据流查询的延迟时间。
  • 查看非变更数据流查询的延迟时间。
  • 确定是否遇到了非变更数据流查询 延迟时间较长



分块 CPU 使用率最高值


instance/peak_split_peak
在数据库的所有分块中观察到的峰值分块 CPU 使用率上限。此指标显示 用于分块中的数据超过 50% 的百分比表示分块较热,这意味着该分块正在使用主机服务器一半的处理单元资源。答 100% 的百分比是热拆分,即使用大部分 主机服务器的处理单元资源。Spanner 使用基于负载的分片来解决热点问题并平衡负载。不过, Spanner 可能无法平衡负载, 多次尝试进行拆分,这是由于应用中存在问题的模式。 因此,如果热点持续至少 10 分钟,就可能需要 进一步排查问题,并且可能需要更改应用。对于 如需了解详情,请参阅在分屏中查找热点


延迟时间


api/request_latencies

Spanner 处理读取或写入所花费的时间 请求。使用函数下拉菜单选择读取写入,或选择读取/写入以查看这两项操作的指标。这个 从 Spanner 收到请求时开始衡量 当 Spanner 开始发送响应时触发。

您可以查看第 50 和第 99 百分位的延迟时间指标 百分位数下拉菜单指定延迟时间:
  • 第 50 百分位延迟时间:所有请求中处理速度最快的 50% 的最长延迟时间(以秒为单位)。
  • 第 99 百分位延迟时间:所有请求中处理速度最快的 99% 的最长延迟时间(以秒为单位)。



延迟时间(按数据库)


api/request_latencies

Spanner 处理读取或写入请求所用的时间(按数据库分组)。使用函数 从下拉列表中选择读取写入, 或选择读写以查看二者的指标。此测量在 Spanner 收到一个请求时开始,并在 Spanner 开始发送响应时结束。

您可以按 使用百分位数下拉菜单:
  • 第 50 百分位延迟时间:所有请求中处理速度最快的 50% 的最长延迟时间(以秒为单位)。
  • 第 99 百分位延迟时间:所有请求中处理速度最快的 99% 的最长延迟时间(以秒为单位)。



延迟时间(按 API 方法)


api/request_latencies

Spanner 处理请求所用的时间(按 Spanner API 方法分组)。此测量在 Spanner 收到一个请求时开始,并在 Spanner 开始发送响应时结束。

您可以查看第 50 和第 99 百分位延迟时间的指标 百分位数下拉菜单:
  • 第 50 百分位延迟时间:所有请求中处理速度最快的 50% 的最长延迟时间(以秒为单位)。
  • 第 99 百分位延迟时间:所有请求中处理速度最快的 99% 的最长延迟时间(以秒为单位)。




交易延迟时间


api/request_latencies_by_transaction_type

Spanner 处理事务所用的时间。 您可以选择查看读写型和只读型事务的指标。

“延迟时间”图表与“事务延迟时间”图表之间的主要区别在于,“事务延迟时间”图表允许您为只读类型选择主副本参与度。对于只读事务,您可以选择涉及主副本不涉及主副本。涉及主副本的读取可能会出现较长的延迟时间。您可以使用此图表来评估是否应在不与主副本通信的情况下使用过时读取,假设时间戳边界至少为 15 秒。对于读写事务, 主要副本始终参与交易,因此 图表始终包含请求送达所需的时间 并接收响应。

您可以查看第 50 和第 99 百分位的指标 延迟时间:
  • 第 50 百分位延迟时间: 速度最快的 50% 的交易。
  • 第 99 百分位延迟时间:所有交易中处理速度最快的 99% 的最长延迟时间(以秒为单位)。



事务延迟时间(按数据库)


api/request_latencies_by_transaction_type

Spanner 处理事务所用的时间。 您可以选择查看读写型和只读型事务的指标。

延迟时间图表与 事务延迟时间(按数据库图表)是指 通过“按数据库”图表,您可以选择 只读类型。您可以选择牵涉到领导层或 只读事务不涉及主要副本。 涉及主副本的读取可能会出现较长的延迟时间。您可以使用此图表来评估是否应在不与主副本通信的情况下使用过时读取(假设时间戳边界至少为 15 秒)。对于读写事务,主副本始终参与事务,因此图表上显示的数据始终包含请求到达主副本并收到响应所花的时间。

您可以查看第 50 百分位和第 99 百分位延迟时间的指标:
  • 第 50 百分位延迟时间: 速度最快的 50% 的交易。
  • 第 99 百分位延迟时间:所有交易中处理速度最快的 99% 的最长延迟时间(以秒为单位)。




事务延迟时间(按 API 方法)


api/request_latencies_by_transaction_type

Spanner 处理事务所用的时间。 您可以选择查看读写型和只读型事务的指标。

“延迟时间”图表与“按 API 方法划分的交易延迟时间”图表之间的主要区别在于,“按 API 方法划分的交易延迟时间”图表可让您为只读类型选择主导参与方。对于只读事务,您可以选择 Leader is involvedNo leader is involved。涉及主要副本的读取操作 延迟时间较长您可以使用此图表来评估是否应在不与主副本通信的情况下使用过时读取,假设时间戳边界至少为 15 秒。对于读写事务, 主要副本始终参与交易,因此 图表始终都会包含 并接收响应。

您可以查看第 50 和第 99 百分位延迟时间的指标:
  • 第 50 百分位延迟时间:所有交易中处理速度最快的 50% 的最长延迟时间(以秒为单位)。
  • 第 99 百分位延迟时间:所有交易中处理速度最快的 99% 的最长延迟时间(以秒为单位)。



每秒操作数


api/api_request_count

Spanner 每 或者 Spanner 上发生的错误数量 服务器数量

您可以选择要在此图表中查看的操作:
  • 读取和写入(还包括读取和写入错误)
  • 只读(还包括 DML 语句和读取错误)
  • 只写(不包括 DML 语句,但包括写入错误)
  • Spanner 服务器上的错误(按读取和写入进行分组)



每秒操作次数(按数据库)


api/api_request_count

Spanner 每秒执行的操作(读取/写入)数,或每秒 Spanner 服务器上发生的错误数。此图表按数据库进行分组。

您可以选择要在此图表中查看的操作:
  • 读取和写入(还包括读取和写入错误)
  • 只读(还包括 DML 语句和读取错误)
  • 只写(不包括 DML 语句,但包括写入错误)
  • Spanner 服务器上的错误(按读取和写入进行分组)



每秒操作次数(按 API 方法)


api/api_request_count

Spanner 每秒执行的操作数,按 Spanner API 方法分组



吞吐量


api/sent_bytes_count (已读)

api/received_bytes_count (写入)

读取或写入的未压缩数据量 向实例或数据库传输数据此值以二进制字节为单位进行计量。这种计量单位是基于 力量 (共 2 项)。例如,1 个二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB)

读取吞吐量包括读取 API 中的方法以及 SQL 查询的请求和响应,还包括 DML 语句的请求和响应。

写入吞吐量包括请求和对提交数据的响应 通过变更 API。它排除了 DML 语句的请求和响应。



数据库吞吐量


api/sent_bytes_count (读取)

api/received_bytes_count (写入)

每秒从实例或数据库读取或向其写入的未压缩数据量,按数据库分组。该值为 以二进制字节单位衡量。这种计量单位是基于 力量 (共 2 项)。例如,1 个二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB)

读取吞吐量包括 阅读的 API 和 SQL 查询。还包括 DML 语句的请求和响应。

写入吞吐量包括通过变更 API 发出的提交数据的请求以及获得的响应。它排除了 DML 语句的请求和响应。



按 API 方法衡量吞吐量


api/sent_bytes_count (读取)

api/received_bytes_count(写入)

每秒从实例或数据库读取或向其写入的未压缩数据量,按 API 方法分组。此值以二进制字节为单位进行计量。这种计量单位是基于 力量 (共 2 项)。例如,1 个二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB)

读取吞吐量包括读取 API 中的方法以及 SQL 查询的请求和响应,还包括 DML 语句的请求和响应。

写入吞吐量包括通过变更 API 发出的提交数据的请求以及获得的响应。它排除了 DML 语句的请求和响应。



总存储空间


instance/storage/used_bytes

存储在实例或数据库中的数据量。 此值以二进制字节为单位进行计量。例如:1 二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB)



数据库总存储空间(按数据库)


instance/storage/used_bytes

存储在实例或数据库中的数据量,按数据库分组。 此值以二进制字节为单位进行计量。例如:1 二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB)



数据库存储空间(按表)


(无)

存储在实例或数据库中的数据量(按表分组) 所选数据库中的名称。 此值以二进制字节为单位进行计量。例如:1 二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB)

此图表通过查询 SPANNER_SYS.TABLE_SIZES_STATS_1HOUR。如需了解详情,请参阅 <ph type="x-smartling-placeholder"></ph> 表大小统计信息



操作最多的表


(无)

实例或数据库中最常用的 15 个表和索引,由 读取、写入或删除操作的次数。
此图表通过查询表操作统计信息表来获取数据。如需了解详情,请参阅 <ph type="x-smartling-placeholder"></ph> 表操作统计信息



操作最少的表


(无)

实例或数据库中 15 个最不常用的表和索引,由 读取、写入或删除操作的次数。
此图表通过查询表操作统计信息表来获取数据。如需了解详情,请参阅 <ph type="x-smartling-placeholder"></ph> 表操作统计信息



锁定等待时间


lock_stat/total/lock_wait_time

事务的锁等待时间是指获取另一个事务持有的资源的锁所需的时间。

锁定的总锁定等待时间 都会记录整个数据库的冲突。



锁定等待时间(按数据库)


lock_stat/total/lock_wait_time

事务的锁定等待时间是获取 另一个事务所持有的资源上。

记录整个数据库的冲突总锁等待时间。



总备份存储空间


实例/备份/已使用的字节数

与实例或数据库关联的备份中存储的数据量。此值的衡量标准: 二进制字节单位:例如,1 个二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB) 相同。



总备份存储空间(按数据库)


instance/backup/used_bytes

存储在与备份相关联的备份中的数据量。 实例或数据库,按数据库分组。此值以二进制字节为单位进行计量。例如,1 个二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB) 相同。



计算容量


instance/processing_units
实例/节点

计算容量是指实例中可用的处理单元或节点的数量。您可以选择以处理单元或节点的形式显示容量。




主要区域分布


instance/leader_percentage_by_region

对于双区域或多区域实例,您可以查看大部分前导 (>=50%) 位于指定区域的数据库的数量。在区域下拉菜单下,如果您选择特定区域,图表会显示该实例中将所选区域作为主副本区域的数据库总数。如果您在区域下拉菜单下选择所有区域,则图表会针对每个区域显示一条线,每条线会显示将该区域作为主副本区域的实例中的数据库总数。

对于双区域或多区域实例中的数据库,您可以按区域查看主副本的百分比。例如,如果某个数据库在某个时间点有 5 个主副本(其中 1 个位于 us-west1,4 个位于 us-east1),则“所有区域”图表会显示两条线(每个区域一条)。us-west1 的线路位于 us-east1 的另一条线为 80%。us-west1 图表在 20% 处显示一条线,us-east1 图表在 80% 处显示一条线。

请注意,如果数据库是最近创建的,或者主导区域是最近修改的,则图表可能不会立即稳定下来。

此图表仅适用于双区域实例和多区域实例。




双区域仲裁可用性


instance/dual_region_quorum_availability

此图表仅适用于 双区域实例配置。 它显示了三个仲裁运行状况的时间轴:双区域 仲裁,以及每个区域内的单区域仲裁

该图表有一个 Quorum 可用性下拉菜单,用于显示哪些区域处于正常中断模式。将此图表与错误率和延迟时间指标结合使用,有助于您在发生区域性故障时做出自助故障切换时间决策。如需了解详情,请参阅故障切换和故障恢复

如需手动进行故障切换和故障恢复,请参阅 更改双区域仲裁




远程服务调用次数


query_stat/total/remote_service_calls_count

远程服务调用次数,按服务和响应代码分组。

使用 HTTP 响应代码(例如 200 或 500)进行响应。




远程服务调用延迟时间


query_stat/total/remote_service_calls_latencies

远程服务调用的延迟时间,按服务分组。

您可以使用百分位下拉菜单查看第 50 和第 99 百分位延迟时间的延迟时间指标:
  • 第 50 百分位延迟时间:所有请求中处理速度最快的 50% 的最长延迟时间(以秒为单位)。
  • 第 99 百分位延迟时间:所有请求中处理速度最快的 99% 的最长延迟时间(以秒为单位)。




远程服务处理的行数


query_stat/total/remote_service_processed_rows_count

远程服务处理的行数(按服务和响应代码分组)。

返回 HTTP 响应代码,例如 200 或 500。




远程服务行延迟时间


query_stat/total/remote_service_processed_rows_latencies

远程服务处理的行数,按服务和响应代码分组。

您可以使用百分位下拉菜单查看第 50 和第 99 百分位延迟时间的延迟时间指标:
  • 第 50 百分位延迟时间:所有请求中处理速度最快的 50% 的最长延迟时间(以秒为单位)。
  • 第 99 百分位延迟时间:所有请求中处理速度最快的 99% 的最长延迟时间(以秒为单位)。




远程服务网络字节数


query_stat/total/remote_service_network_bytes_sizes

与远程服务交换的网络字节数(按服务和方向分组)。

此值以二进制字节为单位进行衡量。此测量单位基于 2 的幂。例如,1 个二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB)

方向是指发送或接收的流量。

您可以使用“百分位”下拉菜单查看网络字节交换的第 50 和第 99 百分位的指标:
  • 第 50 百分位:在 50% 的请求中交换的数据。
  • 第 99 百分位:交换的数据,在第 99 百分位的请求。


代管式自动扩缩器图表和指标

除了上一部分中显示的选项外,如果实例启用了托管式自动扩缩器,计算容量图表中还会显示查看日志按钮。点击此按钮后,系统会显示 托管式自动扩缩器

已启用托管式自动扩缩器的实例可使用以下指标。

图表名称和指标类型 说明
计算容量 已选择节点。

instance/autoscaling/min_node_count

自动扩缩器配置为向实例分配的最小节点数。

instance/autoscaling/max_node_count
自动扩缩器配置为向实例分配的最大节点数。

instance/autoscaling/recommended_node_count_for_cpu

根据以下集群的 CPU 使用率建议的节点数 实例。

instance/autoscaling/recommended_node_count_for_storage

根据实例的存储空间用量建议的节点数。
计算容量 已选择处理单元。

instance/autoscaling/min_processing_units

自动扩缩器配置为向实例分配的最小处理单元数。

instance/autoscaling/max_processing_units

自动扩缩程序配置为向实例分配的处理单元数量上限。

instance/autoscaling/recommended_processing_units_for_cpu

建议的处理单元数量。此建议的依据是 实例之前的 CPU 使用率。

instance/autoscaling/recommended_processing_units_for_storage

建议使用的处理单元数量。此建议基于实例的之前存储用量。
CPU 利用率(按优先级)

instance/autoscaling/high_priority_cpu_utilization_target

用于自动扩缩的高优先级 CPU 利用率目标。
总存储空间 已选择处理单元。

instance/storage/limit_bytes

实例的存储空间限制(以字节为单位)。

instance/autoscaling/storage_utilization_target

要用于自动扩缩的存储空间利用率目标。

数据保留

对于系统数据分析信息中心上的大多数指标,最长的数据保留期限为 六周。不过,对于按表显示的数据库存储空间图表,系统会从 SPANNER_SYS.TABLE_SIZES_STATS_1HOUR 表(而非 Spanner)中使用数据,该表的保留期限最长为 30 天。请参阅 数据保留 了解详情。

查看系统数据分析信息中心

如需查看系统数据分析页面,您需要以下 Identity and Access Management (IAM) 权限以及 Spanner 权限和 实例级和数据库级的 Spanner 权限:

  • spanner.databases.beginReadOnlyTransaction
  • spanner.databases.select
  • spanner.sessions.create

如需详细了解 Spanner IAM 权限,请参阅使用 IAM 进行访问权限控制

如果您在实例上启用了托管式自动扩缩器,则还需要具有 logging.logEntries.list 权限才能查看托管式自动扩缩器日志。

如需详细了解此权限,请参阅预定义角色

如需查看系统数据分析信息中心,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,打开 Spanner 实例列表。

    转到实例列表

  2. 执行下列其中一项操作:

    1. 如需查看实例的指标,请点击要了解的实例的名称,然后点击导航菜单中的系统数据分析

    2. 要查看数据库的指标,请点击实例名称 选择一个数据库,然后点击 系统数据分析

  3. 可选:要查看其他时间段的历史数据,请找到 按钮,然后点击要定位到的时间段 进行查看。

  4. 可选:如需控制图表中显示的数据,请点击图表中的下拉列表之一。例如,如果实例采用双区域或多区域配置,则某些图表会提供一个下拉列表以查看特定区域的数据。并非所有图表都有下拉菜单 列表。

后续步骤