Amazon Dynamo 数据库监控


Amazon Dynamo 数据库 - 概览

Amazon Dynamo 数据库是Amazon Web Services组合的一部分,是一个非关系数据库,在供可靠的性能。它是一个完全管理的、专有的NoSQL数据库服务,支持key-value和文档数据结构,提供内置安全、备份和还原以及内存缓存。

监控 Amazon Dynamo 数据库 - 监控内容

使用Applications Manager,您可以自动发现Dynamo 数据库表格,为性能指标收集数据,如延迟、请求吞吐量和throttle错误。针对AmazonDynamodb数据库优化资源使用以及提高应用程序性能。

  • 分析数据库性能 -跟踪请求延迟,获得成功的请求延迟报告,用于各种读/写操作,如GET、PUT、扫描等。在指定期间从获取记录操作(AmazonDynamo 数据库流)收集密钥使用统计数据,如返回的记录和字节的计数。
  • 优化资源使用 -就建立Dynamo数据库提供吞吐量做出明智的决定。监控消耗的读/写容量单元,以防止throttle错误,并在请求速率、应用程序吞吐量模式和表活动上更新。
  • 故障排除请求throttle -监控throttle请求和throttle读/写事件。通过保留容量,提供的吞吐量就不会耗尽,您可以处理流量的突然增加,而不会返回throttle错误。
  • 处理数据库错误和异常 - 通过获取系统错误和用户错误分解的仪表板视图来识别性能异常。
  • 深入了解执行的数据库操作 -跟踪对失败表格的写入条件尝试次数。监控数据库扫描和查询操作返回的项数。
  • 获取性能问题和瓶颈的即时通知。在你的最终用户遇到问题之前,迅速采取补救行动。

创建一个新的AmazonDynamo 数据库监视器

监控的方式: CloudWatch & Amazon API 使用 SDK。

设置AmazonDynamo数据库监控的先决条件:点击这里

使用REST API添加一个新的AmazonDynamo数据库监视器:点击这里

要创建一个新的AmazonDynamo数据库监视器,请遵循下面给出的步骤:

  1. 点击新的 监视器 链接。
  2. 云应用 类别下选择Amazon
  3. 指定Amazon服务器的显示名称
  4. 选择Dynamo数据库 作为您希望监控的Amazon服务
  5. 输入AWS的Amazon访问密钥Id,以便通过API访问AWS。访问密钥有20个字母数字字符。
  6. 输入AWS的秘密访问密钥。秘钥应该是40个字母数字字符长。
  7. 选择 帐户类型。添加新的Amazon监视器时的默认帐户类型AWS GlobaL。选择AWS China 作为帐户类型来监控AWS中国地区的服务。
  8. 以分钟为单位指定轮询间隔。(默认轮询间隔设置为60分钟。)
  9. 如果您正在从管理服务器添加新的监视器,请选择管理服务器。
  10. 从组合框(可选)中选择要与Amazon监视器关联的业务组。您可以选择多个组来关联您的监视器。
  11. 点击添加。之后可以从网络中发现Amazon服务器并开始监控它。

启用Dynamo数据库帐户指标的数据收集

默认情况下禁用Dynamo数据库帐户指标的数据收集。想要启用它们,请遵循以下给定步骤:

  • 转到管理 选项卡。
  • 点击 发现和数据收集 下的性能轮询
  • 性能数据收集下,点击优化数据收集选项卡。
  • 监视器类型下拉菜单中选择Dynamo数据库
  • 指标名称 下拉菜单中选择所需的指标。
  • 在每个轮询中启用数据收集或配置自定义时间间隔。(24小时是AWS Dynamo 数据库账户指标减少API计数的首选时间间隔)。
  • 选择您希望的指标配置:
    • 通过 监视器类型 -添加任何新的监视器时,此类别是默认的轮询状态。此类型的所有监视器都将包含默认轮询状态,直到对监视器进行特别定制为止。您可以从三种不同的轮询中选择设置:永远不收集数据,在每次轮询中收集数据在定制的时间间隔收集数据。更改 '监视器类型' 的轮询状态,也将更改为其 '监视器' 所做的其他配置。您可以使用选项收集每个轮询中的数据,或者在自定义时间间隔收集数据以更改轮询间隔。
    • 通过 监视器 - 使用此选项可更改任何特定监视器的轮询状态。
  • 点击保存

监控参数

点击监视器 选项卡,到监视器类别 视图。点击云应用程序 部分下的Amazon Instances 类别下的Dynamo数据库。显示的是Dynamo数据库批量配置视图,分布在三个选项卡中:

  • 可用性选项卡提供过去24小时或30天的可用性历史记录。
  • 性能选项卡提供过去24小时或30天的健康状况和事件。
  • 列表视图 使您能够执行批量管理配置。

点击监视器名称可查看以下选项卡下列出的所有Amazon DynamoDB数据库指标:

概览

参数 描述
读取容量单位
Provisioned Read 在轮询间隔时间之间,表或全局二级索引的提供读取容量单位的数量。
Provisioned Read - Average 平均提供的读取容量。
Provisioned Read - Minimum 提供读取容量的最低设置。
Provisioned Read - Maximum 提供读取容量的最高设置。
Consumed Read 在轮询间隔时间内消耗的读取容量单位的数量。这将帮助您跟踪提供的吞吐量使用的数量。
Consumed Read - Average 表或索引的任何单个请求所消耗的最大读取容量单位数。
Consumed Read - Minimum 表或索引的任何单个请求所消耗的读取容量单位的最小数量。
Consumed Read - Maximum 平均每个请求的读取容量消耗。
写入容量单位
Provisioned Write 表的提供写入容量单位数。
Provisioned Write - Average 平均提供的读取容量。
Provisioned Write - Minimum 提供读取容量的最低设置。
Provisioned Write - Maximum 提供读取容量的最高设置。
Consumed Write 在轮询间隔时间之间,全局二级索引所消耗的写入容量单位的数量。
Consumed Write - Average 每个请求的平均写入容量消耗。
Consumed Write - Minimum 表或索引的任何单个请求所消耗的最小写入容量单位数。
Consumed Write - Maximum 表或索引的任何单个请求所消耗的最大写入容量单位数。
读取throttle请求
Throttled Read Requests 如果您的读取或写入请求超过了表的吞吐量设置,并试图消耗超过提供的容量单元或超过索引,Dynamo数据库可以throttle该请求。根据表上执行的操作类型(Get、Scan、Query、BatchGet),可以填充throttle请求数据。
Get Throttled Requests Get操作返回包含给出主键的请求的一组属性。
Scan Throttled Requests Scan操作通过访问表或二级索引中的每个请求返回一个或多个请求和请求属性。
Query Throttled Requests Query操作根据主键值查找请求。您可以查询包含复合主键(分区键和排序键)的任何表或二级索引。
BatchGet Throttled Requests BatchGet操作返回来自一个或多个表的一个或多个请求属性。
写入throttle请求
Put Throttled Requests Put操作创建一个新请求,或者用一个新请求替换一个旧请求。
Update Throttled Requests Update操作编辑现有请求的属性,或者如果请求不存在可以向表添加新请求。您可以放置、删除或添加属性值。
Delete Throttled Requests Delete操作通过主键删除表中的单个请求。
BatchWrite Throttled Requests BatchWrite操作在一个或多个表中放置或删除多个请求。
读取throttle事件
Table Read Throttled Events 在时间段内的throttle写入事件数。 当任何特定事件或任何批处理操作中的任何单个事件失败时,都会发生throttle事件。
写入throttle事件
Table Write Throttled Events 在时间段内的throttle读取事件数。 当任何特定事件或任何批处理操作中的任何单个事件失败时,都会发生throttle事件。

读取操作

参数 描述
读取延迟
Get Latency - Average 在指定的时间段内,Get操作的平均 "成功请求延迟" 报告。单位为毫秒。
BatchGet Latency - Average 在指定的时间段内,BatchGet操作的平均 "成功请求延迟" 报告。单位为毫秒。
Scan Latency - Average 在指定的时间段内,Scan操作的平均 "成功请求延迟" 报告。单位为毫秒。
Query Latency - Average 在指定的时间段内,Query操作的平均 "成功请求延迟" 报告。单位为毫秒。
GET延迟
Get Latency - (Average/ Minimum/ Maximum) 在指定的时间段内成功请求Dynamo 数据库执行Get操作所消耗的时间。(最小值, 最大值或平均值).
BATCHGET延迟
BatchGet Latency - (Average/ Minimum/ Maximum) 在指定的时间段内成功请求Dynamo 数据库执行BatchGet操作所消耗的时间。(最小值, 最大值或平均值).
SCAN 延迟
Scan Latency - (Average/ Minimum/ Maximum) 在指定的时间段内成功请求Dynamo 数据库执行Scan操作所消耗的时间。(最小值, 最大值 or 平均值).
QUERY延迟
Query Latency - (Average/ Minimum/ Maximum) 在指定的时间段内成功请求Dynamo 数据库执行Query操作所消耗的时间。(最小值, 最大值 or 平均值).
返回的项目计数
Scan Returned Item Count Scan操作在指定时间段内返回的项目数。
Query Returned Item Count Query操作在指定时间段内返回的项目数。

写入操作

参数 描述
写入延迟
Put Latency - Average 在指定的时间段内,Put操作的平均 "成功请求延迟" 报告。单位-毫秒。
BatchWrite Latency - Average 在指定的时间段内,BatchWrite操作的平均 "成功请求延迟" 报告。单位-毫秒。
Update Latency - Average 在指定的时间段内,Update操作的平均 "成功请求延迟" 报告。单位-毫秒。
Delete Latency - Average 在指定的时间段内,Delete操作的平均 "成功请求延迟" 报告。单位-毫秒。
PUT延迟
Put Latency - (Average/ Minimum/ Maximum) 在指定的时间段内成功请求Dynamo 数据库执行Put操作所消耗的时间。(最小值, 最大值或平均值)。
BATCHWRITE延迟
BatchWrite Latency - (Average/ Minimum/ Maximum) 在指定的时间段内成功请求Dynamo 数据库执行BatchWrite操作所消耗的时间。(最小值, 最大值或平均值)。
UPDATE延迟
Update Latency - (Average/ Minimum/ Maximum) 在指定的时间段内成功请求Dynamo 数据库执行Update操作所消耗的时间。(最小值, 最大值或平均值)。
DETELE延迟
Delete Latency - (Average/ Minimum/ Maximum) 在指定的时间段内成功请求Dynamo 数据库执行Delete操作所消耗的时间。(最小值, 最大值或平均值)。

表错误

参数 描述
用户错误
User Errors 请求Dynamo数据库或Amazon Dynamo数据库流,在指定的时间段内生成HTTP400状态代码。
系统错误
System Errors 请求Dynamo数据库或Amazon Dynamo数据库流,在指定的时间段内生成HTTP500状态代码。
条件检查失败的请求
Conditional Check Failed Requests 执行条件写入失败的尝试次数。
TIME TO LIVE删除项目计数
Time To Live Deleted Item Count 在指定的时间段内,Time To Live(TTL)删除的项目数。

全局二级索引

参数 描述
GSI读取容量单位
GSI Provisioned read CU 在轮询间隔时间之间,全局二级索引的预留读取CU。
GSI写入容量单位
GSI Provisioned Write CU 在轮询间隔时间之间为全局二级索引提供的写入CU。
GSI容量单位
GSI Name  
Provisioned Read  
Consumed Read 在轮询间隔时间内CU的全局二级索引的读取消耗。
Provisioned Write  
Consumed Write 在轮询间隔时间内CU的全局二级索引的写入消耗。
GSI读取throttle事件
Read Throttled Events  
GSI写入throttle事件
Write Throttled Events  
GSIthrottle事件
GSI Name  
GSI Read Throttled Events 对Dynamo数据库的请求超过了GSI的规定读取CU。
GSI Write Throttled Events 对Dynamo数据库的请求超过了GSI的规定写入CU。
GSI索引创建
GSI Name  
Online Index Consumed Write Capacity 在表中添加新的全局二级索引时所消耗写容量单位的数量。
Online Index Percentage Progress 当一个新的全局二级索引被添加到表中时完成的百分比。
Online Index Throttle Events 在向表中添加新的全局二级索引时发生的写入节点事件数量。
配置
Index Name 全局二级索引的名称。
Status 索引的状态。
Item Count 索引中总项目的计数。
Size (MB) 以MB为单位的存储大小。
Partition key 索引的hash属性。
Sort key 索引的范围属性。
Projection Type 映射到索引中的属性集。

Stream

参数 描述
请求延迟
GetRecords Request Latency 在指定的时间段内GetRecords操作的成功请求延迟。单位-毫秒。
返回的字节
Average Returned Bytes GetRecords操作在指定时间段内返回的字节数。单位-兆字节。
Total Returned Bytes 每分钟返回字节的平均值。单位-[MB/分钟]
返回记录的计数
Returned Records Count GetRecords操作在指定时间段内返回的流记录的数量。
Stream配置
Stream Label 启用流时的时间戳,格式为ISO 8601。
Stream Status 指定表上是否启用了Dynamo数据库流(true)或禁用了(false)。
Stream View Type 指定写入此表流的信息。
Stream ARN 唯一识别此表最新Stream的Amazon Resource Name (ARN)。

配置

参数 描述
配置
Table Name Dynamo数据库表的名称。
Region 当前Dynamo数据库表所在AWS区域的ID。
Region Name 当前Dynamo数据库表所在的AWS区域的名称。
Total Provisioned Read CU 提供读取容量单位的总数(包括表和所有GSI的提供量)。
Total Provisioned Write CU 提供写入容量单位的总数(包括表和所有GSI的提供量)。
Storage Size 指定表的总大小,以GB为单位。
Item Count 指定表格中的项目数。
Table Status 表的当前状态。
Partition key 项目的分区键也称为其hash属性。
Sort key 项目排序键也称为其范围属性。
Creation date 创建表的日期和时间。
Amazon Resource Name (ARN) 唯一识别的表Amazon Resource Name (ARN)。
Last Decrease time 此表最后一次提供吞吐量增加的日期和时间。
Last Increase time 此表最后一次提供吞吐量降低的日期和时间。
Number Of Decreases Today 在UTC日历日期中,该表提供的吞吐量减少。
Number of Global Secondary Index 全局二级索引的总数。
Stream Stream的状态[启用/禁用]。