使用针对 RDS 的 DevOps Guru 分析性能异常
Amazon DevOps Guru 是一项完全托管式运营服务,可帮助开发人员和运营商提高应用程序的性能和可用性。DevOps Guru 卸下了与识别运营问题相关的任务,以便您可以快速实施改进应用程序的建议。要了解详情,请参阅《Amazon DevOps Guru 用户指南》中的什么是 Amazon DevOps Guru?。
DevOps Guru 可检测、分析所有 Amazon RDS 数据库引擎的运营问题并提出建议。适用于 RDS 的 DevOps Guru 将机器学习应用于 Amazon Aurora 数据库的性能详情指标,从而扩展了此功能。这些监控功能使得适用于 RDS 的 DevOps Guru 可以检测和诊断性能瓶颈,并建议具体的纠正措施。要了解详情,请参阅《Amazon DevOps Guru 用户指南》中的适用于 RDS 的 DevOps Guru 的概览。
适用于 RDS 的 DevOps Guru 的益处
如果您对 Amazon Aurora 数据库负责,则可能不知道正在发生影响该数据库的事件或回归。当您了解这个问题时,您可能不知道为什么会发生这个问题,也不知道该怎么处理它。您可以遵循适用于 RDS 的 DevOps Guru 的建议,而不是向数据库管理员 (DBA) 寻求帮助或依赖第三方工具。
从适用于 RDS 的 DevOps Guru 的详细分析中,您可以获得以下优势:
- 快速诊断
-
适用于 RDS 的 DevOps Guru 会持续监控和分析数据库遥测。性能详情、增强监控和 Amazon CloudWatch 会收集数据库集群的遥测数据。适用于 RDS 的 DevOps Guru 会使用统计和机器学习技术来挖掘这些数据并检测异常情况。要了解有关遥测数据的更多信息,请参阅《Amazon Aurora 用户指南》中的使用 Amazon Aurora 上的性能详情监控数据库负载和使用增强监控来监控操作系统。
- 快速解决方案
-
每个异常情况都会识别性能问题,并建议调查或纠正措施的途径。例如,适用于 RDS 的 DevOps Guru 可能会建议您调查特定的等待事件。或者,它可能建议您优化应用程序池设置以限制数据库连接的数量。根据这些建议,您可以比手动进行故障排除更快地解决性能问题。
- 深入了解 Amazon 工程师
-
为了检测性能问题并帮助您解决瓶颈,适用于 RDS 的 DevOps Guru 依赖于机器学习 (ML)。Amazon 数据库工程师为适用于 RDS 的 DevOps Guru 结果的开发做出了贡献,该服务封装了多年来管理成千上万个数据库的经验。通过利用这些集体知识,适用于 RDS 的 DevOps Guru 可以教您最佳实践。
适用于 RDS 的 DevOps Guru 的工作原理
适用于 RDS 的 DevOps Guru 从 Amazon RDS 性能详情中收集有关您的 Aurora 数据库的数据。最重要的指标是 DBLoad。适用于 RDS 的 DevOps Guru 使用性能详情指标,使用机器学习对其进行分析,并将洞察发布到控制面板。
见解
洞察是 DevOps Guru 检测到的相关异常的集合。如果适用于 RDS 的 DevOps Guru 发现您的 Amazon Aurora 数据库实例中的性能问题,它会在 DevOps Guru 控制面板中发布洞察。要了解有关洞察的更多信息,请参阅《Amazon DevOps Guru 用户指南》中的在 DevOps Guru 中使用洞察。
异常情况
在适用于 RDS 的 DevOps Guru 中,异常是一种与 Amazon Aurora 数据库的正常性能有所偏差的模式。
因果异常
因果异常是一项洞察内的顶级异常。数据库加载(数据库加载)是适用于 RDS 的 DevOps Guru 的因果异常。
异常情况通过分配严重性级别 High(高)、Medium(中)或 Low(低)来衡量性能影响。要了解详情,请参阅《Amazon DevOps Guru 用户指南》中的适用于 RDS 的 DevOps Guru 的关键概念。
如果 DevOps Guru 检测到数据库实例上的异常情况,则会在 RDS 控制台的 Databases(数据库)页面中收到提醒。要从 RDS 控制台转到异常页面,请选择警报消息中的链接。RDS 控制台还会在 Amazon Aurora 集群的页面中向您发出警报。
上下文异常
上下文异常是数据库加载(数据库加载)内的一项发现结果。每个上下文异常都描述了需要调查的特定 Amazon Aurora 性能问题。例如,适用于 RDS 的 DevOps Guru 可能会建议您考虑增加 CPU 容量或调查导致数据库负载的等待事件。Amazon Aurora 版本
我们建议您在修改生产实例之前在测试实例上测试所有更改。通过这种方式,您可以了解更改的影响。
要了解详情,请参阅《Amazon DevOps Guru 用户指南》中的分析 Amazon Aurora 集群中的异常。
设置适用于 RDS 的 DevOps Guru
要允许适用于 RDS 的 DevOps Guru 发布 Amazon Aurora 数据库的洞察,请完成以下任务。
主题
为您的 Amazon Aurora 数据库实例开启性能详情
适用于 RDS 的 DevOps Guru 依靠性能详情来获取其数据。如果没有性能详情,DevOps Guru 会发布异常情况,但不包括详细的分析和建议。
在创建或修改数据库实例时,可以打开性能详情。有关更多信息,请参阅 打开和关闭 Performance Insights。
配置适用于 RDS 的 DevOps Guru 的访问策略
要在 RDS 控制台中查看来自 DevOps Guru 的提示,您的 IAM 用户或角色必须具有以下任一策略:
-
Amazon 托管策略
AmazonDevOpsGuruConsoleFullAccess -
Amazon 托管式策略
AmazonDevOpsGuruConsoleReadOnlyAccess以及以下任一策略:-
Amazon 托管策略
AmazonRDSFullAccess -
客户托管策略包括
pi:GetResourceMetrics和pi:DescribeDimensionKeys
-
有关更多信息,请参阅 为 Performance Insights 配置访问策略。
将 Amazon Aurora 资源添加到您的 DevOps Guru 覆盖范围
要首次设置 DevOps Guru,请执行以下步骤:
-
如果您尚未注册,请注册 Amazon。
-
确定资源的覆盖范围。
要允许适用于 RDS 的 DevOps Guru 为您的 Amazon Aurora 数据库实例生成异常,请指定要覆盖的实例。预设情况下,DevOps Guru 会分析您的 Amazon Web Services 区域 和账户中所有支持的 Amazon 资源。您还可以通过使用 Amazon CloudFormation 堆栈或应用标签来指定单个资源。要了解详情,请参阅《Amazon DevOps Guru 用户指南》中的将 Amazon Aurora 资源添加到您的 DevOps Guru 覆盖范围。
-
确定 Amazon SNS 主题。
使用一两个 Amazon SNS 主题生成适用于 RDS 的 DevOps Guru 的事件的通知。例如,为 Amazon Aurora 数据库实例创建洞察时。通过这种方式,您可以尽快了解适用于 RDS 的 DevOps Guru 发现的问题。要了解详情,请参阅《Amazon DevOps Guru 用户指南》中的确定 Amazon SNS 通知主题。
有关更多信息,请参阅《Amazon DevOps Guru 用户指南》中的设置 Amazon DevOps Guru。