监控 Amazon RDS 中指标的概览 - Amazon Relational Database Service

监控 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 性能,请确保典型工作集与内存大小相适,以最大限度地减少读取和写入操作。

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

监控工具

监控是保持 Amazon RDS 和您的其他 AWS 解决方案的可靠性、可用性和性能的重要方面。AWS 提供各种监控工具来监控 Amazon RDS、在出现错误时进行报告并适时自动采取措施。

自动监控工具

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

Amazon RDS 实例状态和建议

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

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

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

Amazon RDS 的 Amazon CloudWatch 指标

Amazon RDS 与 Amazon CloudWatch 集成以提供其他监控功能。

  • 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 RDS Performance Insights 和操作系统监控

您可以使用以下自动化工具来监控 Amazon RDS 性能:

集成服务

以下 AWS 服务与 Amazon RDS 集成:

  • Amazon EventBridge 是一种无服务器事件总线服务,可以轻松地将应用程序与来自各种来源的数据相连接。有关更多信息,请参阅监控 Amazon RDS 事件

  • Amazon CloudWatch Logs 可让您监控、存储和访问来自 Amazon RDS 实例、CloudTrail 和其他来源的日志文件。有关更多信息,请参阅监控 Amazon RDS 日志文件

  • AWS CloudTrail 捕获由您的 AWS 账户 或代表该账户发出的 API 调用和相关事件,并将日志文件传输到您指定的 Amazon S3 桶。有关更多信息,请参阅监控 AWS CloudTrail 中的 Amazon RDS API 调用

  • 数据库活动流是一项 Amazon RDS 功能,它提供 Oracle 数据库实例中近乎实时的活动流。有关更多信息,请参阅使用数据库活动流监控 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 资源指标。

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