监控
您可以使用 Google Cloud 控制台中提供的图表,直观地监控 Bigtable,也可以以编程方式调用 Cloud Monitoring API。
Google Cloud 控制台中的以下位置提供监控数据:
- Bigtable 监控
- Bigtable 实例概览
- Bigtable 集群概览
- Bigtable 表概览
- Cloud Monitoring
- Key Visualizer
“监控”和“概览”页面简要介绍了如何使用 Bigtable。您可以使用 Key Visualizer 按行键深入了解访问模式,并排查特定性能问题。
了解 CPU 和磁盘使用率
无论您使用什么工具来监控实例,您都必须监控实例中每个集群的 CPU 和磁盘使用率。如果集群的 CPU 或磁盘使用率超过特定阈值,集群将无法正常运行,并且,在尝试读取或写入数据时,可能会返回错误。
CPU 使用率
集群中的节点使用 CPU 资源来处理读取、写入和管理任务。要详细了解节点数量如何影响集群性能,请参阅典型工作负载的性能。
针对 CPU 使用率,Bigtable 会报告以下指标:
指标 | 说明 |
---|---|
平均 CPU 利用率 |
集群中所有节点的平均 CPU 利用率。 如果实例中的表启用了变更数据流,则包含变更数据流活动。 建议的最大值为应对短暂的用量高峰提供了提升空间。 如果某个集群超过为您的配置推荐的最大值的时间超过几分钟,请为集群添加节点。 |
最热节点的 CPU 利用率 |
集群中最繁忙节点的 CPU 利用率。我们会继续提供此指标以确保连贯性,但在大多数情况下,您应该改为使用另一个更为准确的指标,即“最热节点的高粒度 CPU 利用率”。 |
最热节点的高粒度 CPU 利用率 |
精确衡量集群中最繁忙节点的 CPU 利用率。我们建议您使用此指标来代替“最热节点的 CPU 利用率”,因为此指标更为准确。 最热节点不一定在每一时刻都是同一节点并且它可能会快速变化,尤其是在执行大规模批量作业或进行表扫描期间。 如果最热节点的 CPU 利用率频繁高于此推荐值,则即使您的平均 CPU 利用率尚属合理,也说明您对一小部分数据的访问频率可能大大高于其余数据。
|
变更数据流 CPU 利用率 |
集群内所有节点上的变更数据流活动导致的平均 CPU 利用率。 |
应用配置文件、方法和表的 CPU 利用率 |
应用配置文件、方法和表的 CPU 利用率。 如果您发现集群的 CPU 使用率高于预期,请使用此指标来确定特定应用配置文件、API 方法或表的 CPU 使用率是否能够增加 CPU 负载。 |
这些指标的值不应超过以下值:
配置 | 推荐的最大值1 | |
---|---|---|
|
||
单集群路由,任意数量的集群 |
平均 CPU 利用率为 70% |
|
多集群路由,已启用自动扩缩,2 个或更多集群 |
平均 CPU 利用率为 70% |
|
多集群路由,未启用自动扩缩,2 个集群 |
平均 CPU 利用率为 35%2 |
|
多集群路由、未启用自动扩缩、3 个或更多集群 |
取决于您的配置。请参阅各种常见用例的复制设置的示例。 |
磁盘使用量
对于您的实例中的每个集群,Bigtable 会存储该实例中所有表的单独副本。
Bigtable 以二进制单位跟踪磁盘使用率,例如二进制千兆字节 (GB),其中 1 GB 等于 230 字节。此计量单位也称为吉比字节 (GiB)。
针对磁盘使用率,Bigtable 会报告以下指标:
指标 | 说明 |
---|---|
存储空间利用率(字节) |
集群中存储的数据量。 此指标未涵盖变更数据流用量。 此值会影响您的成本。 另外,随着数据量增加,您可能还需要为每个集群添加节点(如下所述)。 |
存储空间利用率(% 上限) |
集群的存储空间容量使用百分比。容量基于集群中的节点数量。 此指标未涵盖变更数据流用量。 一般情况下,请确保您的存储空间使用量不要超过总存储空间硬性限制的 70%,以便留出空间供添加更多数据。如果您不打算向实例添加大量数据,则可以将硬性限制完全用尽。 如果您的存储空间使用量超过建议的存储空间限制百分比,请为集群添加节点。您还可以删除现有数据,但删除的数据会占用更多(而不是更少)空间,直到执行压缩操作为止。 如需详细了解如何计算此值,请参阅每个节点的存储空间利用率。 |
变更数据流存储空间利用率(字节) |
实例中各个表的变更数据流记录所占用的存储空间容量。此存储空间不计入存储空间总用量。您需要为变更数据流存储空间付费,但它不会包含在存储空间利用率(最大百分比)的计算中。 |
磁盘负载 |
您的集群用于 HDD 读取的带宽占可用带宽上限的百分比。仅适用于 HDD 集群。 如果此值经常达到 100%,延迟可能会增加。请为集群添加节点,以减少磁盘负载百分比。 |
压缩和多集群实例
存储指标反映了自上次压缩以来的磁盘数据大小。由于压缩是在一周内滚动进行的,因此某个集群的存储用量指标有时可能会与实例中其他集群的指标暂时不同。这种情况的可观察影响包括:
最近添加到实例的新集群可能会暂时显示 0 字节的存储空间,即使所有数据都已成功复制到该新集群也是如此。
即使复制功能正常工作,表在每个集群中也可能具有不同的大小。
即使复制完成且几天内未发送任何写入,每个集群中的存储用量指标也可能不同。每个集群的内部存储空间实现(包括数据的拆分和存储方式)可能不同,从而导致实际的存储用量有所不同。
实例概览
实例概览页面显示了每个集群的一些关键指标的当前值:
指标 | 说明 |
---|---|
平均 CPU 利用率 | 集群中所有节点的平均 CPU 利用率。 如果实例中的表启用了变更数据流,则包含变更数据流活动。 |
最热节点的 CPU 利用率 |
集群中最繁忙节点的 CPU 利用率。我们会继续提供此指标以确保连贯性,但在大多数情况下,您应该改为使用另一个更为准确的指标,即“最热节点的高粒度 CPU 利用率”。 |
最热节点的高粒度 CPU 利用率 |
精确衡量集群中最繁忙节点的 CPU 利用率。我们建议您使用此指标来代替“最热节点的 CPU 利用率”,因为此指标更为准确。 最热节点不一定在每一时刻都是同一节点并且它可能会快速变化,尤其是在执行大规模批量作业或进行表扫描期间。 超出最繁忙节点的建议上限值可能会导致集群出现延迟和其他问题。 |
读取的行数 | 每秒读取的行数。 |
写入的行数 | 每秒写入的行数。 |
读取吞吐量 | 每秒发送的响应数据的字节数。此指标指的是应用过滤条件后返回的全部数据量。 |
写入吞吐量 | 写入数据时收到的每秒字节数。 |
系统错误率 | 在 Bigtable 服务器端失败的所有请求所占的百分比。 |
输入的复制延迟 | 写入另一个集群的数据被复制到此集群所需的最长时间(第 99 百分位数)(以秒为单位)。 |
输出的复制延迟 | 写入此集群的数据被复制到另一个集群所需的最高时间(第 99 百分位数)(以秒为单位)。 |
要查看这些关键指标的概览,请执行以下操作:
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要查看其指标的实例。 Google Cloud 控制台将显示实例集群的当前指标。
集群概览
使用集群概览页面了解单个集群的当前和过往状态。
集群概览页面显示的图表中列出了每个集群的以下指标:
指标 | 说明 |
---|---|
节点数 | 集群在给定时间正在使用的节点数。 |
节点数上限目标 | 启用自动扩缩功能后,Bigtable 会将集群扩容到的节点数上限。仅当为集群启用自动扩缩时,此指标才可见。您可以在修改集群页面上更改此值。 |
节点数下限目标 | 启用自动扩缩功能后,Bigtable 会将集群缩减到的节点数下限。仅当为集群启用自动扩缩时,此指标才可见。您可以在修改集群页面上更改此值。 |
CPU 目标的建议节点数 | Bigtable 会根据您设置的 CPU 利用率目标为集群推荐的节点数。仅当为集群启用自动扩缩时,此指标才可见。如果此数字高于最大节点数目标,请考虑提高 CPU 利用率目标或增加集群的节点数上限。如果此数字低于节点数下限,则集群可能过度预配使用量,您应考虑降低最小值。 |
存储空间目标的建议节点数 | Bigtable 根据内置存储空间利用率目标为集群推荐的节点数。仅当为集群启用自动扩缩时,此指标才可见。如果此数字高于最大节点数目标,请考虑增加集群的节点数上限。 |
CPU 利用率 | 集群中所有节点的平均 CPU 利用率。 如果实例中的表启用了变更数据流,则包含变更数据流活动。 |
存储空间利用率 |
集群中存储的数据量。 此指标未涵盖变更数据流用量。 该指标反映了一个事实,即 Bigtable 会在存储数据时对其进行压缩。 |
要查看集群的概览页面,请执行以下操作:
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要查看其指标的实例。
滚动到用于显示集群部分指标的当前状态的部分后面的部分。
点击集群 ID 以打开集群的集群概览页面。
日志
日志图表显示集群的系统事件日志条目。仅针对使用自动扩缩功能的集群生成系统事件日志。要了解查看 Bigtable 审核日志的其他方法,请参阅审核日志记录。
表概览
使用表概览页面了解单个表的当前状态和过往状态。
表概览页面显示的图表中列出了表的以下指标。每个图表会为表所在的每个集群显示单独的一行。
指标 | 说明 |
---|---|
存储空间利用率(字节) | 表所使用的集群存储容量百分比。容量基于集群中的节点数量。 如需详细了解如何计算此值,请参阅每个节点的存储空间利用率。 |
CPU 利用率 | 集群中所有节点的平均 CPU 利用率。 如果实例中的表启用了变更数据流,则包含变更数据流活动。 |
读取延迟时间 | 这是读取请求返回响应的时间。 读取延迟时间的测量从 Bigtable 收到请求后开始,到最后一个字节的数据发送到客户端后停止。对于数据量较大的请求,读取延迟时间会受到客户端的响应使用能力的影响。 |
写入延迟时间 | 这是写入请求返回响应的时间。 |
读取的行数 |
每秒读取的行数。 由于一次请求可以读取许多行,因此与读取请求次数相比,该指标提供的 Bigtable 总体吞吐量视图更为实用。 |
写入的行数 |
每秒写入的行数。 由于一次请求可以写入许多行,因此与写入请求次数相比,该指标提供的 Bigtable 总体吞吐量视图更为实用。 |
读请求次数 | 每秒随机读取次数和扫描请求次数。 |
写请求次数 | 每秒写入请求次数。 |
读取吞吐量 | 每秒发送的响应数据的字节数。此指标指的是应用过滤条件后返回的全部数据量。 |
写入吞吐量 | 写入数据时收到的每秒字节数。 |
自动故障切换 |
由于出现需要进行故障切换的状况(例如短暂服务中断或延迟)而自动从一个集群重新路由到另一个集群的请求数。如果应用配置文件使用多集群路由,就可能会发生自动重新路由操作。 此图表不含手动重新路由的请求。 |
表概览页面还显示实例中每个集群的表复制状态。对于每个集群,该页面会显示以下内容:
- 状态
- 集群 ID
- 可用区
- 表所使用的集群存储空间用量
- 加密密钥和密钥状态
- 当前所选表的最新备份的日期
- 指向修改集群页面的链接。
如需查看表的概览页面,请执行以下操作:
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要查看其指标的实例。
在左侧窗格中,点击表。Google Cloud 控制台将显示实例中所有表的列表。
点击表 ID 以打开表的表概览页面。
长期监控性能
使用 Bigtable 实例的监控页面可以了解实例过往的性能。您可以分析每个集群的性能,并且可以细分不同类型的 Bigtable 资源的指标。图表可以显示过去 1 小时到过去 6 周内数据。
监控 Bigtable 资源的图表
Bigtable 监控页面为以下类型的 Bigtable 资源提供了图表:
- 实例
- 表
- 应用配置文件
- 复制
监控页面上的图表显示以下指标:
指标 | 支持的设备 | 说明 |
---|---|---|
CPU 利用率 | 实例 表 应用配置文件 |
集群中所有节点的平均 CPU 利用率。 如果实例中的表启用了变更数据流,则包含变更数据流活动。 |
CPU 利用率(最热节点) | 实例 |
集群中最繁忙节点的 CPU 利用率。我们会继续提供此指标以确保连贯性,但在大多数情况下,您应该改为使用另一个更为准确的指标,即“最热节点的高粒度 CPU 利用率”。 |
高粒度级 CPU 利用率(最热节点) | 实例 |
精确衡量集群中最繁忙节点的 CPU 利用率。我们建议您使用此指标来代替“最热节点的 CPU 利用率”,因为此指标更为准确。 最热节点不一定在每一时刻都是同一节点并且它可能会快速变化,尤其是在执行大规模批量作业或进行表扫描期间。 超出最繁忙节点的建议上限值可能会导致集群出现延迟和其他问题。 |
读取延迟时间 |
实例 表 应用配置文件 |
这是读取请求返回响应的时间。 读取延迟时间的测量从 Bigtable 收到请求后开始,到最后一个字节的数据发送到客户端后停止。对于数据量较大的请求,读取延迟时间会受到客户端的响应使用能力的影响。 |
写入延迟时间 |
实例 表 应用配置文件 |
这是写入请求返回响应的时间。 |
用户错误率 | 实例 |
请求内容导致的错误率,而非 Bigtable 服务器端导致的错误率。用户错误率包括以下状态代码:
用户错误通常是由配置问题导致的,例如指定了错误集群、表或应用配置文件的请求。 |
系统错误率 | 实例 |
在 Bigtable 服务器端失败的所有请求的百分比。
系统错误率包括以下状态代码:
|
自动故障切换 |
实例 表 应用配置文件 |
由于出现需要进行故障切换的状况(例如短暂服务中断或延迟)而自动从一个集群重新路由到另一个集群的请求数。如果应用配置文件使用多集群路由,就可能会发生自动重新路由操作。 此图表不含手动重新路由的请求。 |
存储空间利用率(字节) |
实例 表 |
集群中存储的数据量。 此指标未涵盖变更数据流用量。 该指标反映了一个事实,即 Bigtable 会在存储数据时对其进行压缩。 |
存储空间利用率(% 上限) | 实例 |
集群的存储空间容量使用百分比。容量基于集群中的节点数量。 此指标未涵盖变更数据流用量。 如需详细了解如何计算此值,请参阅每个节点的存储空间利用率。 |
磁盘负载 | 实例 | 您的集群用于 HDD 读取的带宽占可用带宽上限的百分比。仅适用于 HDD 集群。 |
读取的行数 |
实例 表 应用配置文件 |
每秒读取的行数。 由于一次请求可以读取许多行,因此与读取请求次数相比,该指标提供的 Bigtable 总体吞吐量视图更为实用。 |
写入的行数 |
实例 表 应用配置文件 |
每秒写入的行数。 由于一次请求可以写入许多行,因此与写入请求次数相比,该指标提供的 Bigtable 总体吞吐量视图更为实用。 |
读请求次数 |
实例 表 应用配置文件 |
每秒随机读取次数和扫描请求次数。 |
写请求次数 |
实例 表 应用配置文件 |
每秒写入请求次数。 |
读取吞吐量 |
实例 表 应用配置文件 |
每秒发送的响应数据的字节数。此指标指的是应用过滤条件后返回的全部数据量。 |
写入吞吐量 |
实例 表 应用配置文件 |
写入数据时收到的每秒字节数。 |
节点数 | 实例 | 集群中的节点数量。 |
要查看这些资源的指标,请执行以下操作:
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要查看其指标的实例。
在左侧窗格中,点击监控。Google Cloud 控制台会显示实例的一系列图表,以及实例指标的表格视图。默认情况下,Google Cloud 控制台会显示过去一小时的指标,并显示实例中每个集群的单独指标。
如需查看所有图表,请滚动浏览显示了图表的窗格。
如需在表格级层查看指标,请点击表格。
如需查看单个应用配置文件的指标,请点击应用配置文件。
如需查看整个实例的所有指标,请在图表上方找到分组依据部分,然后点击实例。
如需查看更长时间的指标,请点击 1 小时旁边的箭头。选择预设时间范围或输入自定义时间范围,然后点击应用。
复制延迟图表
监控页面提供了一个图表,该图表显示了一段时间内的复制延迟。您可以查看复制写入操作的平均延迟(第 50、第 99 和第 100 百分位数)。
要查看指定时间段内的复制延迟:
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要查看其指标的实例。
在左侧窗格中,点击监控。此时页面会打开,并已选中实例标签页。
点击复制标签页。Google Cloud 控制台会显示一段时间内的复制延迟。默认情况下,Google Cloud 控制台会显示过去一小时的复制延迟。
如需在按表或按集群分组的延迟时间图表之间切换,请使用分组依据菜单。
如需更改要查看的百分位数,请使用百分位数菜单。
如需查看更长时间的指标,请点击 1 小时旁边的箭头。选择预设时间范围或输入自定义时间范围,然后点击应用。
使用 Cloud Monitoring 进行监控
Bigtable 会将使用情况指标导出到 Cloud Monitoring。您可以通过多种方式使用这些指标:
- 使用 Cloud Monitoring API 以编程方式进行监控。
- 在 Metrics Explorer 中直观监控。
- 设置提醒政策。
- 将 Bigtable 用量指标添加到自定义信息中心。
- 使用图表库(例如 Python 版 Matplotlib)来绘制和分析 Bigtable 的使用情况指标。
要在指标浏览器中查看使用率指标,请执行以下操作:
打开 Google Cloud 控制台中的“Monitoring”页面。
如果系统提示您选择账号,请选择您用于访问 Google Cloud 的账号。
点击资源,然后点击 Metrics Explorer。
在查找资源类型和指标下,输入
bigtable
。系统将显示 Bigtable 资源和指标的列表。点击一个指标以查看该指标的图表。
如需详细了解如何使用 Cloud Monitoring,请参阅 Cloud Monitoring 文档。
如需查看 Bigtable 指标的完整列表,请参阅指标。
后续步骤
- 了解如何使用 Key Visualizer 排查问题。
- 了解客户端指标。
- 试用 Cloud Monitoring 快速入门。
- 了解如何根据 Bigtable 指标创建提醒。