本页面介绍了如何使用系统分析洞见信息中心来监控 Spanner 实例和数据库。
系统分析洞见简介
系统分析洞见信息中心会显示与所选实例或数据库相关的统计信息摘要和图表,并提供延迟时间、CPU 利用率、存储空间、吞吐量和其他性能统计数据的衡量值。您可以查看过去 1 小时到过去 30 天内几个不同时间段的图表,
系统分析洞见信息中心包含以下部分(请参阅屏幕截图):
- 数据库列表:显示所选数据库的统计信息。您可以查看单个数据库或所有数据库的汇总。此功能仅适用于实例。
- 布局切换:在单列布局和双列布局之间切换。
- 时间范围过滤器:按时间范围(如小时、天或自定义范围)过滤统计信息。
- 统计信息摘要:显示所选时间段内某个时间点的统计信息。
图表:显示 CPU 利用率、吞吐量、延迟时间、存储空间用量等方面的图表。
如果您在实例中创建分区(处于预览状态),则会看到一个额外的下拉列表,用于查看单个分区或所有分区的汇总图表。如果您尚未创建任何分区,则不会看到此下拉列表。
系统分析洞见统计信息摘要、图表和指标
系统分析洞见信息中心提供以下图表和指标,用于展示实例的当前状态和历史状态。大多数图表和指标均适用于实例级层。您还可以查看实例中单个数据库的许多图表和指标。
可用的统计信息摘要
名称 | 说明 |
---|---|
CPU 利用率 | 实例或所选数据库中 CPU 的总体使用情况。在双区域或多区域实例中,该指标表示区域间的平均 CPU 利用率。 |
延迟时间:P99 | 实例或所选数据库中读写操作的第 99 百分位延迟时间。 |
延迟时间:P50 | 实例或所选数据库中读写操作的第 50 百分位延迟时间。 |
吞吐量 | 每秒从实例或数据库读取或向其写入的未压缩数据量。此值以二进制兆字节 (MB) 来计量,其中 1 MB 为 2^20 字节。此计量单位也称为兆比字节 (MiB)。 |
每秒操作次数 | 实例或所选数据库中的读取和写入操作的每秒操作次数(速率)。 |
存储空间利用率 | 在实例级别,它是实例中的总存储空间利用率百分比。在数据库级别,这是所选数据库使用的总存储空间。 |
可用图表和指标
以下是示例指标的图表:
每个图表卡片上的工具栏都提供以下标准选项集:
如需放大图表的特定部分,请点击图表,然后水平或垂直拖动。如需还原缩放操作,请点击youtube_searched_for 重置缩放级别。缩放操作会同时应用于信息中心上的所有图表。
如需隐藏或显示图例,请点击legend_toggle 展开/收起图表图例。
如需以全屏模式查看图表,请点击 fullscreen 进入全屏模式/退出全屏模式。您也可以按 Esc 键退出全屏模式。
如需查看其他选项,请点击 more_vert 更多图表选项。
大多数图表都提供以下选项:
- 下载 PNG 图片。
- 下载 CSV 文件。
- 添加到自定义信息中心。通过此选项,您可以将图表添加到 Cloud Monitoring 中的新信息中心或现有信息中心。
- 在 Metrics Explorer 中查看。在 Metrics Explorer 中查看指标。 选择 Spanner 数据库资源类型后,您可以在 Metrics Explorer 中查看其他 Spanner 指标。
下表说明了系统分析洞见信息中心默认显示的图表。列出了每个图表的指标类型。指标类型字符串具有此前缀:spanner.googleapis.com/
。指标类型描述了可以从受监控的资源中收集的测量结果。
图表名称和指标类型 |
说明 | 适用于实例 | 适用于数据库 |
---|---|---|---|
按优先级划分的 CPU 利用率 instance/cpu/utilization_by_priority |
按优先级分类的高、中、低优先级任务占实例 CPU 资源的百分比。这些任务包括由您发起的请求,以及 Spanner 必须立即完成的维护任务。 对于双区域或多区域实例,指标会按区域和优先级分组。 详细了解高优先级任务。 详细了解 CPU 利用率。 |
done |
close |
总 CPU 利用率 instance/cpu/utilization_by_priority |
总 CPU 利用率,以实例占用 CPU 资源的百分比表示。 对于实例,您可以查看按数据库或按任务类型(用户/系统)和优先级组合进行分组的总 CPU 利用率堆叠图。 对于数据库,您可以查看总 CPU 利用率的堆叠图,按任务类型(用户/系统)和优先级组合分组。 对于双区域或多区域实例,您可以选择要查看的区域,也可以将所有区域显示为多个折线图。 |
done |
done |
CPU 利用率(按操作类型) instance/cpu/utilization_by_operation_type |
以实例占用的 CPU 资源的百分比表示的 CPU 利用率的堆叠图,按用户启动的操作(例如读取、写入和提交)进行分组。使用此指标可以获取详细的 CPU 使用量明细并进一步进行问题排查,如调查高 CPU 利用率中所述。 您可以使用优先级下拉菜单进一步按任务优先级进行过滤。 对于双区域或多区域实例,折线图中的指标会显示各个区域的平均百分比。 |
done |
done |
CPU 利用率(24 小时的滚动平均值) instance/cpu/smoothed_utilization |
每个数据库的总 CPU Spanner利用率的滚动平均值,以实例占用 CPU 资源的百分比表示。每个数据点代表过去 24 小时的平均值。 对于双区域或多区域实例,您可以使用区域下拉菜单按区域过滤折线图中的指标。 |
done |
close |
变更数据流读取延迟时间 api/read_request_latencies_by_change_stream |
读取请求延迟时间按变更数据流分布的情况。使用此指标可查看所有延迟时间,并区分延迟时间是针对变更数据流读取还是非变更数据流读取。 变更数据流查询是长时间运行的,预计时长为几秒钟。相比之下,非变更数据流查询大多是短时间运行的。 使用此指标,您可以:
|
close |
done |
峰值拆分 CPU 使用率 instance/peak_split_peak |
在数据库的所有分块中观察到的拆分 CPU 使用率峰值。此指标显示了在分块中使用的处理单元资源的百分比。超过 50% 的百分比表示热分块,这意味着该分块使用了主机服务器的一半处理单元资源。百分比为 100% 表示热分块,即使用主机服务器处理单元资源的大部分的分块。Spanner 使用基于负载的拆分来解决热点问题并均衡负载。但是,由于应用中存在有问题的模式,即使在多次尝试拆分后,Spanner 也可能无法均衡负载。因此,持续至少 10 分钟的热点可能需要进一步排查问题,并且可能需要进行应用更改。如需了解详情,请参阅在分块中查找热点。 | done |
done |
延迟时间 api/request_latencies |
Spanner 处理读取或写入请求所用的时间。使用函数下拉菜单选择读取或写入,或选择读取/写入以查看这两种操作的指标。此测量在 Spanner 收到请求时开始,并在 Spanner 开始发送响应时结束。 您可以使用百分位数下拉菜单查看第 50 百分位和第 99 百分位的延迟时间指标:
|
done |
done |
延迟时间(按数据库) api/request_latencies |
Spanner 处理读取或写入请求所用的时间(按数据库分组)。使用函数下拉菜单选择读取或写入,或者选择读取/写入以查看这两种操作的指标。此测量在 Spanner 收到请求时开始,并在 Spanner 开始发送响应时结束。 您可以使用百分位数下拉菜单查看第 50 百分位和第 99 百分位延迟时间的指标:
|
done |
close |
延迟时间(按 API 方法) api/request_latencies |
Spanner 处理请求所用的时间(按 Spanner API 方法分组)。此测量在 Spanner 收到请求时开始,并在 Spanner 开始发送响应时结束。 您可以使用百分位数下拉菜单查看第 50 百分位和第 99 百分位延迟时间的指标:
|
close |
done |
事务延迟时间 api/request_latencies_by_transaction_type |
Spanner 处理事务所用的时间。您可以选择查看读写和只读类型事务的指标。 “延迟时间”图表与“事务延迟时间”图表之间的主要区别在于,您可以通过“事务延迟时间”图表为只读类型选择主要区域参与方式。您可以为只读事务选择主要区域参与或无主要区域参与。涉及主要区域的读取操作可能会出现较长的延迟时间。假设时间戳绑定至少为 15 秒,您可以使用此图表来评估是否应在不与主要区域通信的情况下使用过时数据读取。对于读写事务,主要区域始终参与事务,因此图表中显示的数据始终包含请求到达主要区域并收到响应所用的时间。 您可以查看第 50 百分位和第 99 百分位延迟时间的指标:
|
done |
done |
事务延迟时间(按数据库) api/request_latencies_by_transaction_type |
Spanner 处理事务所用的时间。您可以选择查看读写和只读类型事务的指标。 “延迟时间”图表与“按数据库划分的事务延迟时间”图表之间的主要区别在于,您可以通过“按数据库划分的事务延迟时间”图表选择只读类型的主要区域参与方式。您可以为只读事务选择主要区域参与或无主要区域参与。涉及主要区域的读取操作可能会出现较长的延迟时间。假设时间戳绑定至少为 15 秒,您可以使用此图表来评估是否应在不与主要区域通信的情况下使用过时数据读取。对于读写事务,主要区域始终参与事务,因此图表中显示的数据始终包含请求到达主要区域并收到响应所用的时间。 您可以查看第 50 百分位和第 99 百分位延迟时间的指标:
|
done |
close |
事务延迟时间(按 API 方法) api/request_latencies_by_transaction_type |
Spanner 处理事务所用的时间。您可以选择查看读写和只读类型事务的指标。 “延迟时间”图表与“事务延迟时间(按 API 方法)”图表之间的主要区别在于,“事务延迟时间(按 API 方法)”图表可让您为只读类型选择主要区域参与方式。您可以为只读事务选择主要区域参与或无主要区域参与。涉及主要区域的读取操作可能会出现较长的延迟时间。您可以使用此图表来评估是否应在不与主要区域通信的情况下使用过时数据读取,假设时间戳绑定至少为 15 秒。对于读写事务,主要区域始终参与事务,因此图表中显示的数据始终包含请求到达主要区域并收到响应所用的时间。 您可以查看第 50 百分位和第 99 百分位延迟时间的指标:
|
close |
done |
每秒操作数 api/api_request_count |
Spanner 每秒执行的操作(读/写)数,或每秒 Spanner 服务器上发生的错误数。 您可以选择要在此图表中查看的操作:
|
done |
done |
每秒操作次数(按数据库) api/api_request_count |
Spanner 每秒执行的操作(读/写)数,或每秒 Spanner 服务器上发生的错误数。此图表按数据库分组。 您可以选择要在此图表中查看的操作:
|
done |
close |
每秒操作次数(按 API 方法) api/api_request_count |
Spanner 每秒执行的操作数,按 Spanner API 方法分组 |
close |
done |
吞吐量 api/sent_bytes_count (读取) api/received_bytes_count (写入) |
每秒从实例或数据库读取或向其写入的未压缩数据量。此值以二进制字节为单位进行计量。此计量单位基于2 的幂。例如,1 个二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB)。 读取吞吐量包括读取 API中的方法以及 SQL 查询的请求和响应,还包括 DML 语句的请求和响应。 写入吞吐量包括通过变更 API 发出的提交数据的请求以及获得的响应。它排除了 DML 语句的请求和响应。 |
done |
done |
数据库吞吐量 api/sent_bytes_count (读取) api/received_bytes_count (写入) |
每秒从实例或数据库读取或向其写入的未压缩数据量,按数据库分组。此值以二进制字节为单位进行计量。此计量单位基于2 的幂。例如,1 个二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB)。 读取吞吐量包括读取 API中的方法以及 SQL 查询的请求和响应,还包括 DML 语句的请求和响应。 写入吞吐量包括通过变更 API 发出的提交数据的请求以及获得的响应。它排除了 DML 语句的请求和响应。 |
done |
close |
按 API 方法计算的吞吐量 api/sent_bytes_count (读取) api/received_bytes_count (写入) |
每秒从实例或数据库读取或向其写入的未压缩数据量,按 API 方法分组。此值以二进制字节为单位进行计量。 此计量单位基于2 的幂。例如,1 个二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB)。 读取吞吐量包括读取 API中的方法以及 SQL 查询的请求和响应,还包括 DML 语句的请求和响应。 写入吞吐量包括通过变更 API 发出的提交数据的请求以及获得的响应。它排除了 DML 语句的请求和响应。 |
close |
done |
总存储空间 instance/storage/used_bytes |
存储在实例或数据库中的数据量。此值以二进制字节为单位进行计量。例如,1 个二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB)。 |
done |
done |
总数据库存储空间(按数据库) instance/storage/used_bytes |
存储在实例或数据库中的数据量,按数据库分组。此值以二进制字节为单位进行计量。例如,1 个二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB)。 |
done |
close |
数据库存储空间(按表) (无) |
存储在实例或数据库中的数据量,按所选数据库中的表分组。此值以二进制字节为单位进行计量。例如,1 个二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB)。 此图表通过查询 SPANNER_SYS.TABLE_SIZES_STATS_1HOUR 获取数据。如需了解详情,请参阅
表大小统计信息。 |
close |
done |
操作最多的表 (无) |
实例或数据库中使用频率最高的 15 个表和索引,由读取、写入或删除操作的次数决定。 此图表通过查询表操作统计信息表来获取数据。如需了解详情,请参阅 表操作统计信息。 |
close |
done |
操作最少的表 (无) |
实例或数据库中使用最少的 15 个表和索引,由读取、写入或删除操作次数决定。 此图表通过查询表操作统计信息表来获取数据。如需了解详情,请参阅 表操作统计信息。 |
close |
done |
锁定等待时间 lock_stat/total/lock_wait_time |
事务的锁等待时间是指获取另一个事务持有的资源的锁所需的时间。 记录整个数据库的锁冲突总等待时间。 |
done |
done |
锁定等待时间(按数据库) lock_stat/total/lock_wait_time |
事务的锁等待时间是指获取另一个事务持有的资源的锁所需的时间。 记录整个数据库的锁冲突总等待时间。 |
done |
close |
备份总存储空间 instance/backup/used_bytes |
与实例或数据库关联的备份中存储的数据量。此值以二进制字节为单位进行计量。例如,1 个二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB)。 |
done |
done |
总备份存储空间(按数据库) instance/backup/used_bytes |
与实例或数据库关联的备份中存储的数据量,按数据库分组。此值以二进制字节为单位进行计量。例如,1 个二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB)。 |
done |
close |
计算容量 instance/processing_units instance/nodes |
计算容量是指实例中可用的处理单元或节点的数量。您可以选择以处理单元或节点来显示容量。 |
done |
close |
主要区域分布 instance/leader_percentage_by_region |
对于双区域或多区域实例,您可以查看大部分主要区域 (>=50%) 位于指定区域的数据库的数量。在区域下拉菜单中,如果您选择特定区域,图表会显示该实例中以所选区域作为主要区域的数据库总数。如果您在区域下拉菜单中选择所有区域,图表会针对每个区域显示一条线,每条线会显示以该区域为主要区域的实例中数据库的总数。 对于双区域或多区域实例中的数据库,您可以查看按区域分组的主要区域百分比。例如,如果某个数据库在某个时间点有 5 个主要区域,其中 1 个位于 us-west1,4 个位于 us-east1,那么“所有区域”图表会显示两条线(每个区域一个)。其中一条线的 us-west1 使用率为 20%,另一条线的 us-east1 使用率为 80%。us-west1 图表显示 20% 的单条线,us-east1 图表显示 80% 的单条线。 请注意,如果数据库是最近创建的,或者主要区域是最近修改的,图表可能不会立即稳定下来。 此图表仅适用于双区域实例和多区域实例。 |
done |
done |
双区域仲裁健康状况时间轴 instance/dual_region_quorum_availability |
此图表仅适用于双区域实例配置。 它显示了三个仲裁的健康状况:双区域仲裁 ( Global ) 以及每个区域的单个区域仲裁(例如 Sydney 和 Melbourne )。当发生服务中断时,它会在时间轴中显示橙色条。您可以将鼠标悬停在相应柱形上,查看中断的开始时间和结束时间。您可以将此图表与错误率和延迟时间指标结合使用,以便在发生区域故障时做出自管理的故障切换决策。如需了解详情,请参阅故障切换和故障恢复。 如需手动执行故障切换和故障恢复,请参阅更改双区域仲裁。 |
done |
close |
远程服务调用次数 query_stat/total/remote_service_calls_count |
远程服务调用次数(按服务和响应代码分组)。 使用 HTTP 响应代码(例如 200 或 500)进行响应。 |
done |
done |
远程服务调用延迟时间 query_stat/total/remote_service_calls_latencies |
远程服务调用的延迟时间(按服务分组)。 您可以使用“百分位数”下拉菜单查看第 50 百分位和第 99 百分位延迟时间的延迟时间指标:
|
done |
done |
远程服务处理的行数 query_stat/total/remote_service_processed_rows_count |
远程服务处理的行数(按服务器和响应代码分组)。 使用 HTTP 响应代码(例如 200 或 500)进行响应。 |
done |
done |
远程服务行延迟时间 query_stat/total/remote_service_processed_rows_latencies |
远程服务处理的行数(按服务和响应代码分组)。 您可以使用“百分位数”下拉菜单查看第 50 百分位和第 99 百分位延迟时间的延迟时间指标:
|
done |
done |
远程服务网络字节数 query_stat/total/remote_service_network_bytes_sizes |
与远程服务交换的网络字节数(按服务和方向分组)。 此值以二进制字节为单位进行计量。此计量单位基于 2 的幂。例如,1 个二进制千兆字节 (GB) 是 2^30 个字节。此计量单位也称为吉比字节 (GiB)。 方向是指发送或接收的流量。 您可以使用“百分位”下拉菜单查看第 50 百分位和第 99 百分位网络字节交换的指标:
|
done |
done |
托管式自动扩缩器图表和指标
除了上一部分中显示的选项之外,当实例启用了受管理的自动扩缩器时,计算容量图表中会显示查看日志按钮。点击此按钮后,系统会显示受管自动扩缩器的日志。
以下指标适用于已启用托管式自动扩缩器的实例。
图表名称和指标类型 | 说明 |
---|---|
计算容量 | 已选择节点。 |
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 |
用于自动扩缩的存储空间利用率目标。 |
分层存储空间图表和指标
使用分层存储的实例可查看以下指标。
图表名称和指标类型 | 说明 |
---|---|
instance/storage/used_bytes | 在 SSD 和 HDD 存储空间中存储的数据总字节数。 |
instance/storage/combined/limit_bytes | SSD 和 HDD 存储空间上限的总和。 |
instance/storage/combined/limit_per_processing_unit | 每个处理单元的 SSD 和 HDD 存储空间总限额。 |
instance/storage/combined/utilization | 已使用的 SSD 和 HDD 存储空间总量,与存储空间总量上限进行比较。 |
instance/disk_load | HDD 加载用量。 |
数据保留
系统分析洞见信息中心的大多数指标的数据保留期最长为六周。不过,对于按表计算的数据库存储空间图表,数据是从 SPANNER_SYS.TABLE_SIZES_STATS_1HOUR 表(而不是 Spanner)中提取的,该表的保留期限最长为 30 天。如需了解详情,请参阅数据保留。
查看系统分析洞见信息中心
如需查看系统分析洞见页面,您需要在实例和数据库级别拥有 Spanner 权限和 Spanner 权限,以及以下 Identity and Access Management (IAM) 权限:
spanner.databases.beginReadOnlyTransaction
spanner.databases.select
spanner.sessions.create
如需详细了解 Spanner IAM 权限,请参阅使用 IAM 进行访问权限控制。
如果您在实例上启用受管自动扩缩器,则还需要具有 logging.logEntries.list
权限才能查看受管自动扩缩器日志。
如需详细了解此权限,请参阅预定义角色。
如需查看系统分析洞见信息中心,请按以下步骤操作:
在 Google Cloud 控制台中,打开 Spanner 实例列表。
执行下列其中一项操作:
如需查看实例的指标,请点击要了解的实例的名称,然后点击导航菜单中的系统分析洞见。
如需查看数据库的指标,请点击实例的名称,选择数据库,然后点击导航菜单中的系统分析洞见。
可选:如需查看不同时间段的历史数据,请找到页面右上角的按钮,然后点击要查看的时间段。
可选:如需控制图表中显示的数据,请点击图表中的下拉列表之一。例如,如果实例采用双区域配置或多区域配置,则某些图表会提供一个下拉列表以查看特定区域的数据。并非所有图表都有下拉列表。
后续步骤
- 了解 Spanner 的 CPU 利用率和延迟时间指标。
- 使用 Monitoring 设置自定义图表和提醒。
- 详细了解 Spanner 实例的类型。