

# 监控 Amazon RDS 实例中的指标
<a name="CHAP_Monitoring"></a>

在以下各节中，您可找到 Amazon RDS 监控概览以及关于如何访问指标的说明。要了解如何监控事件、日志和数据库活动流，请参阅 [监控 Amazon RDS 数据库实例中的事件、日志和流](CHAP_Monitor_Logs_Events.md)。

**Topics**
+ [监控计划](#MonitoringOverview.plan)
+ [性能基准](#MonitoringOverview.baseline)
+ [性能准则](#MonitoringOverview.guidelines)
+ [Amazon RDS 的监控工具](MonitoringOverview.md)
+ [查看实例状态](accessing-monitoring.md)
+ [来自 Amazon RDS 的建议](monitoring-recommendations.md)
+ [在 Amazon RDS 控制台中查看指标](USER_Monitoring.md)
+ [使用性能详情控制面板查看组合指标](Viewing_Unifiedmetrics.md)
+ [使用 Amazon CloudWatch 监控 Amazon RDS 指标](monitoring-cloudwatch.md)
+ [使用 CloudWatch 数据库洞察监控 Amazon RDS 数据库](USER_DatabaseInsights.md)
+ [在 Amazon RDS 上使用性能详情监控数据库负载](USER_PerfInsights.md)
+ [使用适用于 Amazon RDS 的 Amazon DevOps Guru 分析性能异常](devops-guru-for-rds.md)
+ [使用增强监控来监控操作系统指标](USER_Monitoring.OS.md)
+ [Amazon RDS 的指标参考](metrics-reference.md)

## 监控计划
<a name="MonitoringOverview.plan"></a>

在开始监控 Amazon RDS 之前，请创建监控计划。该计划应回答以下问题：
+ 您的监控目标是什么？
+ 您将监控哪些资源？
+ 监控这些资源的频率如何？
+ 您将使用哪些监控工具？
+ 谁负责执行监控任务？
+ 出现问题时应通知谁？

## 性能基准
<a name="MonitoringOverview.baseline"></a>

为了实现您的监控目标，您需要建立一个基准。为此，请在 Amazon RDS 环境的不同时间、不同负载条件下测量性能。您可以监控如下指标：
+ 网络吞吐量
+ 客户端连接
+ 用于读取、写入或元数据操作的 I/O
+ 数据库实例的突增信用余额

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

## 性能准则
<a name="MonitoringOverview.guidelines"></a>

通常，性能指标的可接受值取决于应用程序相对于基准正在执行的操作。应调查相对于基准性能的一致或趋势性变化。以下指标通常是性能问题的根源：
+  **高 CPU 或 RAM 消耗** – CPU 或 RAM 消耗值高可能是正常情况，前提是它们符合您的应用程序目标（如吞吐量或并发度）并且符合预期。
+  **磁盘空间消耗** – 如果使用的空间始终不低于总磁盘空间的 85%，则应调查磁盘空间消耗。应查看是否可以从实例中删除数据或是将数据存档到其他系统以释放空间。
+  **网络流量** – 对于网络流量，应与系统管理员进行讨论，以了解域网络和 Internet 连接的预期吞吐量。如果吞吐量始终低于预期，则应调查网络流量。
+  **数据库连接** – 如果发现用户连接数较高，实例性能下降且响应时间延长，请考虑约束数据库连接。数据库实例的最佳用户连接数因您的实例类所执行操作的复杂性而异。要确定数据库连接的数量，请将数据库实例与参数组关联，其中 `User Connections` 参数设置为 0 以外的值（无限制）。您可以使用现有参数组或新建一个。有关更多信息，请参阅“[Amazon RDS 的参数组](USER_WorkingWithParamGroups.md)”。
+  **IOPS 指标** – IOPS 指标的预期值取决于磁盘规格和服务器配置，因此，请使用您的基准来了解典型状况。调查值是否始终与您的基准不同。为获得最佳 IOPS 性能，请确保典型工作集与内存大小相适，以最大限度地减少读取和写入操作。

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