使用 Amazon CloudWatch 监控 Amazon RDS 指标 - Amazon Relational Database Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 Amazon CloudWatch 监控 Amazon RDS 指标

Amazon CloudWatch 是一个指标存储库。此存储库可从 Amazon RDS 收集原始数据,并将数据处理为易读的近乎实时的指标。

默认情况下,以 1 分钟为间隔自动将 Amazon RDS 指标数据发送到 CloudWatch。时间段为 60 秒(1 分钟)的数据点可用 15 天。这意味着您能够访问历史信息,了解您的 Web 应用程序或服务的执行情况。


            AWS CloudWatch 中的 RDS 指标

有关 CloudWatch 的更多信息,请参阅 Amazon CloudWatch 用户指南 中的什么是 Amazon CloudWatch?。有关 CloudWatch 指标保留的更多信息,请参阅指标保留

注意

如果使用 Amazon RDS Performance Insights,则可以使用其他指标。有关更多信息,请参阅 发布到 Amazon CloudWatch 的性能详情指标

Amazon RDS 指标

AWS/RDS 命名空间包括以下指标。

注意

Amazon RDS 控制台可能会以与发送到 Amazon CloudWatch 的单位不同的单位显示指标。例如,Amazon RDS 控制台可能会以兆字节 (MB) 为单位显示一个指标,同时以字节为单位将该指标发送到 Amazon CloudWatch。

指标 控制台名称 说明 单位
BinLogDiskUsage

二进制日志磁盘使用情况 (MB)

主节点上的二进制日志所占的磁盘空间大小。适用于 MySQL 只读副本。

字节

BurstBalance

突发余额(百分比)

可用的通用型 SSD (GP2) 突增存储桶 I/O 点数的百分比。

百分比

CPUUtilization

CPU 利用率(百分比)

CPU 使用百分率。

百分比

CPUCreditUsage

CPU 额度使用(计数)

(T2 实例)实例为保持 CPU 使用率而花费的 CPU 积分数。一个 CPU 积分等于一个 vCPU 以 100% 的使用率运行一分钟或等同的 vCPU、使用率与时间的组合。例如,您可以有一个 vCPU 按 50% 使用率运行两分钟,或者两个 vCPU 按 25% 使用率运行两分钟。

CPU 积分指标仅每 5 分钟提供一次。如果您指定一个大于五分钟的时间段,请使用Sum 统计数据,而非 Average 统计数据。

积分 (vCPU 分钟)

CPUCreditBalance

CPU 额度余额(计数)

(T2 实例)实例自启动后已累积获得的 CPU 积分数。对于 T2 标准,CPUCreditBalance 还包含已累积的启动积分数。

在获得积分后,积分将在积分余额中累积;在花费积分后,将从积分余额中扣除积分。积分余额具有最大值限制,这是由实例大小决定的。在达到限制后,将丢弃获得的任何新积分。对于 T2 标准,启动积分不计入限制。

实例可以花费 CPUCreditBalance 中的积分,以便突增到基准 CPU 使用率以上。

在实例运行过程中,CPUCreditBalance 中的积分不会过期。在实例停止时,CPUCreditBalance 不会保留,并且所有累积的积分都将丢失。

CPU 积分指标仅每 5 分钟提供一次。

积分 (vCPU 分钟)

DatabaseConnections

数据库连接(计数)

使用中的数据库连接数。

指标值可能不包括数据库尚未清理的损坏的数据库连接。因此,数据库记录的数据库连接数可能高于指标值。

计数

DiskQueueDepth

队列深度(计数)

等待访问磁盘的未完成 I/O(读取/写入请求)的数量。

计数

EBSByteBalance%

EBS 字节余额(百分比)

RDS 数据库突增存储桶中剩余的吞吐量积分的百分比此指标仅对基本监控可用。

要查找支持此指标的实例大小,请参阅 Amazon EC2 用户指南(适用于 Linux 实例)默认优化的 EBS 表中带星号 (*) 的实例大小。Sum 统计数据不适用于该指标。

百分比

EBSIOBalance%

EBS IO 余额(百分比)

RDS 数据库突增存储桶中剩余的 I/O 积分的百分比此指标仅对基本监控可用。

要查找支持此指标的实例大小,请参阅 Amazon EC2 用户指南(适用于 Linux 实例)默认优化的 EBS 表中带星号 (*) 的实例大小。Sum 统计数据不适用于该指标。

这个指标不同于 BurstBalance。要了解如何使用此指标,请参阅利用 Amazon EBS 优化型实例突发功能提升应用程序性能并降低成本

百分比

FailedSQLServerAgentJobsCount

Failed SQL Server Agent Jobs Count (Count/Minute) (失败的 SQL Server Agent 作业计数(计数/分钟))

过去 1 分钟内失败的 Microsoft SQL Server Agent 作业的数量。

计数/分钟

FreeableMemory

可用内存 (MB)

随机存取内存的可用大小。

对于 MariaDB、MySQL、Oracle 和 PostgreSQL 数据库实例,此指标报告 /proc/meminfoMemAvailable 字段的值。

字节

FreeStorageSpace

可用存储空间(MB/秒)

可用存储空间的大小。

字节

MaximumUsedTransactionIDs

最大已用事务 ID(计数)

已使用的最大事务 ID。适用于 PostgreSQL。

计数

NetworkReceiveThroughput

网络接收吞吐量(MB/秒)

数据库实例的传入(接收)网络流量,包括用于监控和复制的客户数据库流量和 Amazon RDS 流量。

Bytes/Second

NetworkTransmitThroughput

网络传输吞吐量(MB/秒)

数据库实例的传出(传输)网络流量,包括用于监控和复制的客户数据库流量和 Amazon RDS 流量。

Bytes/Second

OldestReplicationSlotLag

最早副本槽滞后 (MB)

在接收提前写入日志 (WAL) 数据方面最滞后的副本的滞后大小。适用于 PostgreSQL。

字节

ReadIOPS

读取 IOPS(计数/秒)

每秒平均磁盘读取 I/O 操作数。

计数/秒

ReadLatency

读取延迟(毫秒)

每个磁盘 I/O 操作所需的平均时间。

ReadThroughput

读取吞吐量(MB/秒)

每秒从磁盘读取的平均字节数。

Bytes/Second

ReplicaLag

副本滞后(毫秒)

只读副本数据库实例滞后于源数据库实例的时间量。适用于 MySQL、MariaDB、Oracle、PostgreSQL 和 SQL Server 只读副本。

ReplicationSlotDiskUsage

副本插槽磁盘使用情况 (MB)

副本槽文件使用的磁盘空间。适用于 PostgreSQL。

字节

SwapUsage

交换区使用情况 (MB)

数据库实例上使用的交换空间的大小。此指标对于 SQL Server 不可用。

字节

TransactionLogsDiskUsage

事务日志磁盘使用情况 (MB)

事务日志使用的磁盘空间。适用于 PostgreSQL。

字节

TransactionLogsGeneration

事务日志生成(MB/秒)

每秒生成的事务日志的大小。适用于 PostgreSQL。

Bytes/Second

WriteIOPS

写入 IOPS (计数/秒)

每秒平均磁盘写入 I/O 操作数。

计数/秒

WriteLatency

写入延迟(毫秒)

每个磁盘 I/O 操作所需的平均时间。

WriteThroughput

写入吞吐量(MB/秒)

每秒写入磁盘的平均字节数。

Bytes/Second

Amazon RDS 维度

您可以使用下表中的任何维度筛选 Amazon RDS 指标数据。

维度 为 . . 筛选请求的数据
DBInstanceIdentifier

特定的数据库实例。

DatabaseClass

数据库类中的所有实例。例如,您可以聚合属于数据库类 db.r5.large 的所有实例的指标。

EngineName

仅标识的引擎名称。例如,您可以聚合具有引擎名称 mysql 的所有实例的指标。

SourceRegion

仅指定区域。例如,您可以聚合 us-east-1 区域中的所有数据库实例的指标。

查看 Amazon RDS 指标和维度

在使用 Amazon RDS 资源时,Amazon RDS 每分钟向 Amazon CloudWatch 发送指标和维度一次。您可以使用以下过程查看 Amazon RDS 的指标。

使用 Amazon CloudWatch 控制台查看指标

指标的分组首先依据服务命名空间,然后依据每个命名空间内的各种维度组合。

  1. 通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 如果需要,可以更改 AWS 区域。从导航栏中选择您的 AWS 资源所在的 AWS 区域。有关更多信息,请参阅区域和终端节点

  3. 在导航窗格中,选择 Metrics。选择 RDS 指标命名空间。

    
                        选择指标命名空间
  4. 选择指标维度,例如,按数据库类

  5. 要对指标进行排序,请使用列标题。要为指标绘制图表,请选中该指标旁的复选框。要按资源进行筛选,请选择资源 ID,然后选择添加到搜索。要按指标进行筛选,请选择指标名称,然后选择添加到搜索

    
                          筛选指标

使用 AWS CLI 查看指标

  • 在命令提示符处,使用以下命令。

    aws cloudwatch list-metrics --namespace AWS/RDS

创建 CloudWatch 警报以监控 Amazon RDS

您可以创建 CloudWatch 警报,用于在警报改变状态时发送 Amazon SNS 消息。警报会监控您指定的时间段内的某个指标。此外,警报会根据指标值在多个时间段内对比给定阈值的情况执行一项或多项操作。操作是向 Amazon SNS 主题或 Amazon EC2 Auto Scaling 策略发送的通知。

警报仅在出现持续状态变化时才会调用操作。CloudWatch 警报将不会仅因为其处于特定状态而调用操作。该状态必须改变并在指定数量的时间段内一直保持。以下过程说明如何为 Amazon RDS 创建警报。

使用 CloudWatch 控制台设置警报

  1. 登录 AWS 管理控制台并通过以下网址打开 CloudWatch 控制台:https://console.amazonaws.cn/cloudwatch/

  2. 选择 Alarms,然后选择 Create Alarm。执行此操作将启动创建警报向导。

  3. 选择 RDS Metrics (RDS 指标) 并滚动 Amazon RDS 指标以查找要为其设置警报的指标。要仅显示 Amazon RDS 指标,请搜索资源的标识符。选择要为其创建警报的指标,然后选择 Next (下一步)

  4. 输入指标的 Name (名称)Description (描述)Whenever (每当) 值。

  5. 如果您希望 CloudWatch 在达到警报状态时向您发送一封电子邮件,对于 Whenever this alarm (每当此警报),请选择 State is ALARM (状态为“警报”)。对于发送通知到,选择一个现有 SNS 主题。如果您选择创建主题,则可以为新电子邮件订阅列表设置名称和电子邮件地址。此列表将保存下来并会在将来的警报字段中显示出来。

    注意

    如果您使用 Create topic (创建主题) 创建一个新 Amazon SNS 主题,那么电子邮件地址在接收通知之前必须通过验证。当警报进入警报状态时,才会发送电子邮件。如果在验证电子邮件地址之前此警报状态发生了变化,则这些地址不会收到通知。

  6. 预览您将在警报预览区域中创建的警报,然后选择 创建警报

使用 AWS CLI 设置警报

使用 CloudWatch API 设置警报