借助AWS DevOps Agent(预览版)与Dynatrace实现应用问题自主解决

本文介绍了如何结合AWS DevOps Agent(预览版)与Dynatrace实现应用问题的自动化检测、根因分析与解决。通过一个CRM应用数据库索引丢失导致性能下降的真实案例,展示了从监控告警到自主调查、生成修复方案的全流程。

自主解决应用问题:AWS DevOps Agent(预览版)与Dynatrace

应用问题需要快速解决以维持业务连续性和客户满意度,但手动调查会造成延迟,可能给组织带来巨大的收入和生产力的损失。上周,我们推出了AWS DevOps Agent(预览版),这是一个前沿智能体,能够解决并主动预防事故,持续提升在AWS、多云和混合环境中应用的可靠性与性能。前沿智能体代表了一类新型的AI智能体,它们具有自主性、大规模可扩展性,并且无需持续干预即可工作数小时或数天。

AWS DevOps Agent能像经验丰富的DevOps工程师一样调查事故并识别可改进之处:通过学习你的资源及其关系,与你的可观测性工具、操作手册、代码仓库以及CI/CD流水线协同工作,并关联所有来源的遥测数据、代码和部署数据,以理解你的应用程序资源之间的关系。AWS DevOps Agent与Dynatrace集成,将前沿智能体(这类新型AI智能体)的强大能力与因果及预测性AI相结合,实现完整的事件解决。

这些服务共同提供了自动化的事件管理:从检测性能退化并量化业务影响,到跨基础设施调查根本原因,再到提供可操作的缓解步骤。无需配置自定义告警、无需手动关联日志、无需在不同工具间切换上下文。AWS DevOps Agent作为一个自主智能体,独立地在你的AWS、多云和混合环境中调查问题,而Dynatrace则提供了可观测性基础,用于检测问题并衡量其影响。

在本文中,我们将通过一个真实世界的示例来演示:一个客户关系管理(CRM)应用程序的响应时间突然从1毫秒减慢到1秒。你将看到Dynatrace如何检测问题并量化用户影响,然后AWS DevOps Agent如何自主调查,发现丢失的数据库索引是罪魁祸首,并附带修复该问题的确切SQL语句。虽然我们在这里使用了一个数据库示例,但这种方法适用于所有AWS服务,包括:AWS Lambda函数错误、Amazon Elastic Kubernetes Service(Amazon EKS)容器故障、Amazon Virtual Private Cloud(Amazon VPC)连接性问题以及其他事件。

演练:从性能下降到问题解决

让我们探索自动化调查在实践中是如何工作的。

先决条件

要在您自己的环境中使用AWS DevOps Agent(预览版)与Dynatrace,您需要:

  • 一个在AWS上运行的应用程序
  • 为您的应用程序配置Dynatrace插桩
  • 配置好AWS DevOps Agent(预览版)——请遵循入门指南
  • 启用Dynatrace集成——请遵循集成指南

示例场景

我们的示例CRM应用程序有一个React前端,通过Amazon CloudFront从Amazon Simple Storage Service(Amazon S3)提供服务,以及一个后端API,该API使用应用程序负载均衡器(ALB)、运行Python应用程序的Amazon Elastic Compute Cloud(Amazon EC2)实例以及一个用于PostgreSQL数据库的Amazon Relational Database Service(Amazon RDS)构建。下图展示了此架构。

图 1 – 我们示例CRM应用程序的架构

该应用程序通常响应时间为1毫秒,但响应时间突然跃升至1秒或更长。

步骤 1: Dynatrace检测到问题及其业务影响

Dynatrace Davis AI,因果AI引擎,可在无需手动配置的情况下持续对应用性能进行基准测试。它了解每个组件的正常行为,并在出现偏离基线时自动检测。

在性能下降后的片刻,Davis AI就识别出异常。但与仅显示指标峰值变化的传统监控不同,Dynatrace提供了完整的上下文:

图 2 – Dynatrace问题屏幕显示响应时间下降和业务影响

Dynatrace真实用户监控测量用户体验并量化受影响的客户数量。在本例中,有435名用户正在经历性能下降。通过Dynatrace OneAgent进行的后端插桩跟踪每个请求通过架构的路径:从应用程序负载均衡器经过Amazon EC2实例,再到PostgreSQL数据库。Dynatrace Smartscape自动拓扑映射功能将数据库查询定位为性能下降的根源。Davis AI建立基线,检测偏差,通过你的架构追踪原因,并自动量化业务影响。你无需为响应时间阈值配置自定义告警、手动关联规则或仪表板。

然后,Dynatrace自动触发AWS DevOps Agent调查,将问题详细信息移交以进行更深入的根因分析。

步骤 2: AWS DevOps Agent在Dynatrace中的调查结果

AWS DevOps Agent从Dynatrace接收问题详细信息并开始其自主调查。一旦调查完成,结果会直接显示在你的Dynatrace环境中,因此无需切换工具进行初步分类。

图 3 – 由AWS DevOps Agent调查结果增强的Dynatrace问题

此摘要提供了对症状(数据库缓慢)和根本原因(索引丢失)的即时可见性,无需离开Dynatrace。请注意,AWS DevOps Agent如何确认Dynatrace发现的数据库缓慢问题,然后通过发现数据库缓慢的原因来丰富该发现。Dynatrace使用其插桩和跟踪来精确定位数据库是瓶颈,而AWS DevOps Agent则调查配置更改和数据库级别的日志,以揭示丢失的索引是根本原因。

Dynatrace还提供了一个仪表板,显示AWS DevOps Agent调查的历史问题:

图 4 – 包含历史AWS DevOps Agent调查的Dynatrace仪表板

这个历史视图可以帮助你跨问题识别模式,并从过去的调查中学习。

步骤 3: AWS DevOps Agent控制台中的详细调查

如需完整的调查详情,在Dynatrace中选择“Link to investigation”以打开AWS DevOps Agent调查页面。这个单一页面包含了理解发生了什么以及为什么发生的额外信息。

图 5 – 包含时间线、调查结果和交互式聊天的AWS DevOps Agent调查页面

调查时间线显示了AWS DevOps Agent执行的自主工作:

图 6 – AWS DevOps Agent调查时间线

根本原因部分解释了导致问题的原因:

图 7 – AWS DevOps Agent识别出的根本原因

请注意,AWS DevOps Agent从Dynatrace共享的问题描述开始,然后自主地从多个来源收集证据,包括:用于提取拓扑和性能数据的Dynatrace查询语言(DQL)查询、用于请求分析的Dynatrace跟踪、Amazon CloudWatch指标、用于基础设施更改的AWS CloudTrail日志,以及用于慢查询和数据库操作的Amazon RDS PostgreSQL日志。该智能体将索引丢失和性能下降之间的时间关联起来,通过数据库日志和分布式跟踪验证影响,并识别根本原因。

步骤 4: 理解并实施缓解计划

AWS DevOps Agent调查页面不仅仅是一个静态报告;它是交互式的。在同一页面上,你会发现一个聊天界面,你可以在其中提问以加深理解或探索相关问题。

图 8 – AWS DevOps Agent聊天界面

要修复问题,你可以直接从同一页面生成缓解计划。选择“Generate Mitigation Plan”,这将打开一个新标签页,并在几分钟内提供结构化的缓解步骤。该计划遵循系统化的四阶段方法:

  • 准备 – 在进行任何更改前识别当前系统状态
  • 预验证 – 测试先决条件以确保系统已准备好进行更改
  • 应用 – 执行更改以解决问题
  • 后验证 – 监控系统健康状况以确认问题已解决

图 9 – AWS DevOps Agent缓解计划

针对我们的数据库索引问题,缓解计划提供了重新创建索引的确切SQL语句,以及确保修复成功的验证步骤。在执行计划后的片刻,响应时间恢复到基线。你的CRM应用程序再次健康运行,并且你拥有了完整的事件审计跟踪:发生了什么、为什么会发生以及如何修复它。

为什么这很重要:自动化故障排除

这不仅仅是更快的故障排除;这是一种根本不同的方法。传统可观测性告诉你什么是慢的。Dynatrace告诉你什么是慢的,问题在你的架构中的哪个位置产生,以及有多少用户受到影响。AWS DevOps Agent通过调查配置更改、部署历史和基础设施修改来“为什么”会这样,从而丰富该发现。Dynatrace的可观测性精确定位到数据库的单条SQL语句是瓶颈,而AWS DevOps Agent的调查则发现索引丢失是数据库缓慢的原因。

除了本文中展示的原生功能之外,AWS DevOps Agent还可以通过模型上下文协议(Model Context Protocol, MCP)服务器进行自定义集成扩展,使你能够添加专业的分析工具,例如用于更深入数据库洞察的PostgreSQL MCP服务器。

我们演练的数据库示例只是众多场景之一。以下是这种自主调查发挥作用的其他示例情况:

  • Lambda函数错误 – Dynatrace检测到错误率增加;AWS DevOps Agent调查AWS Identity and Access Management(IAM)权限、环境变量、Amazon VPC配置和最近的代码部署。
  • 容器启动失败 – Dynatrace识别出无法启动的Pod;AWS DevOps Agent检查容器镜像可用性、Pod规格、安全组规则和资源配额。
  • API限流 – Dynatrace显示延迟增加和限流错误;AWS DevOps Agent调查Amazon API Gateway限流目标、Amazon Lambda并发设置和Amazon DynamoDB容量。
  • 网络连接问题 – Dynatrace跟踪显示超时;AWS DevOps Agent检查Amazon VPC路由表、安全组、网络访问控制列表和最近的网络更改。

在每种情况下,你都能获得相同的自动化工作流程:自动检测、业务影响量化、更深入的根因调查以及可操作的缓解计划。

结论:开始使用自主调查

我们已经演练了一个完整的问题生命周期:从Dynatrace检测到CRM应用程序性能下降并量化其业务影响,到AWS DevOps Agent自主调查发现丢失的数据库索引,再到收到修复问题所需的确切SQL语句。这一切都是自动发生的,无需自定义配置、手动日志关联或在工具间切换上下文。

这就是将用于卓越运营的前沿智能体与因果和预测性AI相结合的力量。AWS DevOps Agent访问Dynatrace Davis AI的洞察,关联你的遥测数据,以自主分类操作问题并提供缓解计划。

准备好体验自主问题调查了吗?

开始使用:

  • 配置AWS DevOps Agent(预览版) – 遵循入门指南
  • 启用Dynatrace集成 – 遵循集成指南
  • 了解更多关于AWS DevOps Agent(预览版)的信息 – 阅读发布公告
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计