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

监控 Amazon RDS 概览

监控是保持 Amazon RDS 和您的 AWS 解决方案的可靠性、可用性和性能的重要方面。为了更轻松地调试多点故障,我们建议您从 AWS 解决方案的各个部分收集监控数据。

监控计划

在开始监控 Amazon RDS 之前,请创建监控计划。该计划应回答以下问题:

  • 您的监控目标是什么?

  • 您将监控哪些资源?

  • 监控这些资源的频率如何?

  • 您将使用哪些监控工具?

  • 谁负责执行监控任务?

  • 出现问题时应通知谁?

性能基准

为了实现您的监控目标,您需要建立一个基准。为此,请在 Amazon RDS 环境的不同时间、不同负载条件下测量性能。您可以监控如下指标:

  • 网络吞吐量

  • 客户端连接

  • 用于读取、写入或元数据操作的 I/O

  • 数据库实例的突增信用余额

我们建议您存储 Amazon RDS 的历史性能数据。使用存储的数据,您可以将当前性能与过去的趋势进行比较。您还可以区分正常性能模式与异常情况,并设计解决问题的方法。

性能准则

通常,性能指标的可接受值取决于应用程序相对于基准正在执行的操作。应调查相对于基准性能的一致或趋势性变化。以下指标通常是性能问题的根源:

  • 高 CPU 或 RAM 消耗 – CPU 或 RAM 消耗值高可能是正常情况,前提是它们符合您的应用程序目标(如吞吐量或并发度)并且符合预期。

  • 磁盘空间消耗 – 如果使用的空间始终不低于总磁盘空间的 85%,则应调查磁盘空间消耗。应查看是否可以从实例中删除数据或是将数据存档到其他系统以释放空间。

  • 网络流量 – 对于网络流量,应与系统管理员进行讨论,以了解域网络和 Internet 连接的预期吞吐量。如果吞吐量始终低于预期,则应调查网络流量。

  • 数据库连接 – 如果发现用户连接数较高,实例性能下降且响应时间延长,请考虑约束数据库连接。数据库实例的最佳用户连接数因您的实例类所执行操作的复杂性而异。要确定数据库连接的数量,请将数据库实例与参数组关联,其中 User Connections 参数设置为 0 以外的值(无限制)。您可以使用现有参数组或新建一个。有关更多信息,请参阅 使用数据库参数组

  • IOPS 指标 – IOPS 指标的预期值取决于磁盘规格和服务器配置,因此,请使用您的基准来了解典型状况。调查值是否始终与您的基准不同。为获得最佳 IOPS 性能,请确保典型工作集与内存大小相适,以最大限度地减少读取和写入操作。

当性能超出已建立的基准时,您可能需要进行更改以优化数据库可用性,进而适应工作负载。例如,您可能需要更改数据库实例的实例类。或者,您可能需要更改可供客户端使用的数据库实例和只读副本的数量。

监控工具

AWS 提供各种可以用来监控 Amazon RDS 的工具。您可以配置其中的一些工具来为您执行监控任务,并且其他工具需要手动干预。

自动监控工具

建议您尽可能实现监控任务自动化。

Amazon RDS 报告工具

您可以使用以下自动化工具来监控 Amazon RDS,并在出现错误时进行报告:

  • Amazon RDS 实例状态 – 通过使用 Amazon RDS 控制台、AWS CLI 命令或 RDS API,查看有关您的 实例当前状态的详细信息。

  • Amazon RDS 建议 — 回应自动提供数据库资源(例如数据库实例、只读副本和数据库参数组)的建议。有关更多信息,请参阅使用 Amazon RDS 建议

  • Amazon RDS Performance Insights — 可评估数据库上的负载,并确定执行操作的时间和位置。有关更多信息,请参阅使用 Amazon RDS 上的性能详情

  • Amazon RDS 增强监控 — 实时查看操作系统的指标。有关更多信息,请参阅 使用增强监控

  • Amazon RDS 事件 – 订阅 Amazon RDS 事件以在数据库实例、数据库快照、数据库参数组或数据库安全组出现更改时收到通知。有关更多信息,请参阅使用 Amazon RDS 事件通知

  • Amazon RDS 数据库日志文件 – 使用 Amazon RDS 控制台或 Amazon RDS API 操作查看、下载或监控数据库日志文件。您还可以查询一些加载到数据库表中的数据库日志文件。有关更多信息,请参阅 访问 Amazon RDS 数据库日志文件

集成的监控工具

Amazon RDS 与 Amazon CloudWatch、Amazon EventBridge 和 AWS CloudTrail 集成以提供其他监控功能。

  • Amazon CloudWatch – 此服务可实时监控您的 AWS 资源以及您在 AWS 上运行的应用程序。可以将以下 Amazon CloudWatch 功能用于 Amazon RDS

    • Amazon CloudWatch 指标 – Amazon RDS 每分钟自动向 CloudWatch 发送一次每个活动数据库的指标。对于 CloudWatch 中的 Amazon RDS 指标,您不会获得额外费用。有关更多信息,请参阅使用 Amazon CloudWatch 监控 Amazon RDS 指标

    • Amazon CloudWatch 警报 – 您可以在特定时间段内监控单个 Amazon RDS 指标。然后,您可以根据相对于您设置的阈值的指标值来执行一个或多个操作。有关更多信息,请参阅使用 Amazon CloudWatch 监控 Amazon RDS 指标

  • Amazon CloudWatch Logs – 大多数数据库引擎使您能够在 CloudWatch Logs 中监控、存储和访问数据库日志文件。有关更多信息,请参阅Amazon CloudWatch Logs User Guide

  • Amazon EventBridge – 是一种无服务器事件总线服务,可以轻松地将应用程序与来自各种来源的数据相连接。EventBridge 从您自己的应用程序、软件即服务 (SaaS) 应用程序和 AWS 服务传输实时数据流,并将数据路由到目标(如 Lambda)。这使您能够监控服务中发生的事件,并构建事件驱动的架构。有关更多信息,请参阅获取 Amazon RDS 的 CloudWatch Events 和 Amazon EventBridge 事件

  • AWS CloudTrail – 您可以查看由用户、角色或 AWS 服务在 Amazon RDS 中执行的操作的记录。CloudTrail 将 Amazon RDS 的所有 API 调用作为事件捕获。这些捕获包括来自 Amazon RDS 控制台的调用和对 Amazon RDS API 操作的代码调用。如果创建跟踪,则可以将 CloudTrail 事件持续传送到 Amazon S3 存储桶(包括 Amazon RDS 的事件)。如果您不配置跟踪,则仍可在 CloudTrail 控制台的 Event history (事件历史记录) 中查看最新事件。有关更多信息,请参阅使用 AWS CloudTrail 和 Amazon RDS

手动监控工具

您需要手动监控那些 CloudWatch 警报未覆盖的项目。Amazon RDS、CloudWatch、AWS Trusted Advisor 和其他 AWS 控制台控制面板提供 AWS 环境状态的概览视图。建议您还要查看数据库实例上的日志文件。

  • 您可以从 Amazon RDS 控制台监控资源的以下项目:

    • 与数据库实例的连接数

    • 针对数据库实例的读写操作数量

    • 数据库实例当前使用的存储量

    • 为数据库实例使用的内存和 CPU 量

    • 流入和流出数据库实例的网络流量

  • 您可以从 Trusted Advisor 控制面板查看以下成本优化、安全性、容错能力和性能改进检查:

    • Amazon RDS 闲置数据库实例

    • Amazon RDS 安全组访问风险

    • Amazon RDS 备份

    • Amazon RDS 多可用区

    有关这些检查的更多信息,请参阅 Trusted Advisor 最佳实践(检查)

  • CloudWatch 主页显示:

    • 当前警报和状态

    • 警报和资源的图表

    • 服务运行状况

    此外,您还可以使用 CloudWatch 执行以下操作:

    • 创建自定义控制面板以监控您关注的服务。

    • 绘制指标数据图,以排除问题并弄清楚趋势。

    • 搜索并浏览您所有的 AWS 资源指标。

    • 创建和编辑警报以接收有关问题的通知。