监控 Amazon Aurora 全局数据库 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

监控 Amazon Aurora 全局数据库

当您创建构成 Aurora 全局数据库的 Aurora 数据库集群时,您可以选择许多选项来监控数据库集群的性能。这些选项包含以下内容:

  • Amazon RDS 性能详情 – 在底层 Aurora 数据库引擎中启用性能架构。要了解有关性能详情和 Aurora 全局数据库的更多信息,请参阅 使用 Amazon RDS 性能详情监控 Amazon Aurora 全局数据库

  • 增强监控 – 生成 CPU 上的进程或线程利用率的指标。

  • Amazon CloudWatch Logs – 将指定日志类型发布到 CloudWatch Logs。默认情况下会发布错误日志,但您可以选择特定于 Aurora 数据库引擎的其他日志。

    • 对于基于 Aurora MySQL– 的 Aurora 数据库集群,您可以导出审核日志、常规日志和慢查询日志。

    • 对于基于 Aurora PostgreSQL– 的 Aurora 数据库集群,您可以导出 Postgresql 日志。

  • 对于基于 Aurora PostgreSQL– 的全局数据库,您可以使用某些函数来检查 Aurora 全局数据库及其实例的状态。要了解如何操作,请参阅监控基于 Aurora PostgreSQL 的 Aurora 全局数据库

以下屏幕截图显示了 Aurora 全局数据库中的主 Aurora 数据库集群的 Monitoring (监控) 选项卡上的一些可用选项。


        显示属于 Aurora 全局数据库的所选 Aurora 数据库集群的 Monitoring (监控) 页面的屏幕截图

有关更多信息,请参阅 监控 Amazon Aurora 数据库集群

使用 Amazon RDS 性能详情监控 Amazon Aurora 全局数据库

您可以将 Amazon RDS 性能详情用于 Aurora 全局数据库。您可以为 Aurora 全局数据库中的每个数据 Aurora 库集群单独启用此功能。为此,您可以在 Create database (创建数据库) 页面的 Additional configuration (其他配置) 部分中选择 Enable Performance Insights (启用性能详情)。或者,您可以修改 Aurora 数据库集群,以便在其正常运行后使用此功能。您可以针对 Aurora 全局数据库中的每个集群启用或禁用性能详情功能。

性能详情创建的报告适用于全局数据库中的每个集群。在将新的辅助 Amazon 区域添加到已在使用性能详情的 Aurora 全局数据库时,确保在新添加的集群中启用性能详情。此集群不能从现有全局数据库继承 Performance Insights 设置。

在查看附加到全局数据库的数据库实例的性能详情页面时,您可以切换 Amazon 区域。但是,您可能不能在切换 Amazon 区域后立即看到性能详情。在各个 Amazon 区域中,虽然数据库实例的名称可能会相同,但每个数据库实例的相关性能详情 URL 不同。在切换 Amazon 区域后,可在性能详情导航窗格中重新选择数据库实例的名称。

对于与全局数据库关联的数据库实例,各 Amazon 区域中影响性能的系数可能不同。例如,各 Amazon 区域中数据库实例的容量可能不同。

要了解有关使用性能详情的更多信息,请参阅 在 Amazon Aurora 上使用 Performance Insights 进行监控

监控基于 Aurora PostgreSQL 的 Aurora 全局数据库

要查看全局数据库的状态,请使用 aurora_global_db_statusaurora_global_db_instance_status 函数。

注意

仅 Aurora PostgreSQL 支持 aurora_global_db_statusaurora_global_db_instance_status 函数。

监控基于 Aurora PostgreSQL 的全局数据库

  1. 使用 PostgreSQL 实用工具(如 psql)连接到全局数据库主集群终端节点。有关如何连接的更多信息,请参阅 连接到 Amazon Aurora 全局数据库

  2. 在 psql 命令中使用 aurora_global_db_status 函数列出主卷和辅助卷。这显示全局数据库辅助数据库集群的滞后时间。

    postgres=> select * from aurora_global_db_status();
    aws_region | highest_lsn_written | durability_lag_in_msec | rpo_lag_in_msec | last_lag_calculation_time | feedback_epoch | feedback_xmin ------------+---------------------+------------------------+-----------------+----------------------------+----------------+--------------- us-east-1 | 93763984222 | -1 | -1 | 1970-01-01 00:00:00+00 | 0 | 0 us-west-2 | 93763984222 | 900 | 1090 | 2020-05-12 22:49:14.328+00 | 2 | 3315479243 (2 rows)

    输出包含全局数据库的每个数据库集群行,其中包含以下列:

    • aws_region – 此数据库集群所在的 Amazon 区域。如需按引擎列出 Amazon 区域的表格,请参阅区域和可用区

    • highest_lsn_written – 当前在此数据库集群上写入的最高日志序列号 (LSN)。

      日志序列号 (LSN) 是标识数据库事务日志中的记录的唯一序列号。对 LSN 进行排序,以便较大的 LSN 表示较晚的事务。

    • durability_lag_in_msec – 辅助数据库集群上写入的最高日志序列号 (highest_lsn_written) 与主数据库集群上的 highest_lsn_written 之间的时间戳差异。

    • rpo_lag_in_msec – 恢复点目标 (RPO) 滞后。此滞后是存储在辅助数据库集群上的最新用户事务提交与存储在主数据库集群上的最新用户事务提交之间的时差。

    • last_lag_calculation_time – 最后为 replication_lag_in_msecrpo_lag_in_msec 计算值的时间戳。

    • feedback_epoch – 辅助数据库集群在生成热备用信息时使用的纪元。

      热备用 是指在服务器处于恢复或备用模式时,数据库集群可以进行连接和查询。热备用反馈是有关处于热备用状态的数据库集群的信息。有关更多信息,请参阅 PostgreSQL 文档中的热备用

    • feedback_xmin – 辅助数据库集群使用的最小(最早)活动事务 ID。

  3. 使用 aurora_global_db_instance_status 函数列出主数据库集群和辅助数据库集群的所有辅助数据库实例。

    postgres=> select * from aurora_global_db_instance_status();
    server_id | session_id | aws_region | durable_lsn | highest_lsn_rcvd | feedback_epoch | feedback_xmin | oldest_read_view_lsn | visibility_lag_in_msec --------------------------------------------+--------------------------------------+------------+-------------+------------------+----------------+---------------+----------------------+------------------------ apg-global-db-rpo-mammothrw-elephantro-1-n1 | MASTER_SESSION_ID | us-east-1 | 93763985102 | | | | | apg-global-db-rpo-mammothrw-elephantro-1-n2 | f38430cf-6576-479a-b296-dc06b1b1964a | us-east-1 | 93763985099 | 93763985102 | 2 | 3315479243 | 93763985095 | 10 apg-global-db-rpo-elephantro-mammothrw-n1 | 0d9f1d98-04ad-4aa4-8fdd-e08674cbbbfe | us-west-2 | 93763985095 | 93763985099 | 2 | 3315479243 | 93763985089 | 1017 (3 rows)

    输出包含全局数据库的每个数据库实例行,其中包含以下列:

    • server_id – 数据库实例的服务器标识符。

    • session_id – 当前会话的唯一标识符。

    • aws_region – 此数据库实例所在的 Amazon 区域。如需按引擎列出 Amazon 区域的表格,请参阅区域和可用区

    • durable_lsn – 存储中持久的 LSN。

    • highest_lsn_rcvd – 数据库实例从写入器数据库实例收到的最高 LSN。

    • feedback_epoch – 数据库实例在生成热备用信息时使用的纪元。

      热备用是指在服务器处于恢复或备用模式时,数据库实例可以进行连接和查询。热备用反馈是有关处于热备用状态的数据库实例的信息。有关更多信息,请参阅有关热备用的 PostgreSQL 文档。

    • feedback_xmin – 数据库实例使用的最小(最早)活动事务 ID。

    • oldest_read_view_lsn – 数据库实例用于从存储中读取的最早 LSN。

    • visibility_lag_in_msec – 此数据库实例落后于写入器数据库实例的程度。

要查看这些值如何随时间变化,请考虑以下事务块,其中表插入需要一个小时。

psql> BEGIN; psql> INSERT INTO table1 SELECT Large_Data_That_Takes_1_Hr_To_Insert; psql> COMMIT;

在某些情况下,在 BEGIN 语句之后主数据库集群和辅助数据库集群之间的网络会断开连接。如果是这样,辅助数据库集群的 replication_lag_in_msec 值开始增加。在 INSERT 语句的末尾,replication_lag_in_msec 值为 1 小时。但是,rpo_lag_in_msec 值为 0,因为在主数据库集群和辅助数据库集群之间提交的所有用户数据仍然相同。在 COMMIT 语句完成后,rpo_lag_in_msec 值会立即增加。