亚马逊AWS官方博客
新功能 — 借助 Amazon DevOps Guru 中的日志异常检测和建议功能,快速检测和解决问题
今天,我们宣布推出一项新功能,适用于 Amazon DevOps Guru 的日志异常检测和建议。借助此功能,您可以查找应用内相关日志中的异常,并获得用于解决问题的针对性建议。让我们快速了解一下这项新功能:
AWS 于 2020 年 12 月推出了 DevOps Guru,这是一项完全托管式 AIOps 平台服务,使开发人员和运营商可以更轻松地提高应用程序的可靠性和可用性。DevOps Guru 使用基于在 Amazon.com 上构建、扩展和维护应用程序方面拥有 20 多年的运营专业知识的机器学习模型,最大限度地缩短了修复问题所需的时间。
您可以使用 DevOps Guru 识别延迟、错误率和资源限制增加等异常情况,然后发送警报并包含描述和可行的补救建议。使用 DevOps Guru 不需要任何机器学习方面的先验知识,只需在 DevOps Guru 控制面板中激活它即可。
新功能 – 日志异常检测和建议
可观察性和监控是 DevOps 和现代应用程序不可或缺的组成部分。应用程序可以生成多种类型的遥测,其中一种就是指标,用于显示应用程序的性能并帮助识别问题。
尽管 DevOps Guru 目前分析的指标对于揭示应用程序中出现的问题至关重要,但要找出这些问题的根本原因仍然具有挑战性。随着应用程序变得更加分散和复杂,开发人员和 IT 操作人员需要更高的自动化,以减少检测、调试和解决运营问题所花费的时间和精力。通过获取相关日志和指标,开发人员现在可以更有效地监控应用程序并对其进行故障排除。
借助这项新的日志异常检测和建议功能,您可以从应用程序日志中获得见解和精确建议,而无需人工操作。此功能提供异常事件的情境化日志数据,并且可以根据集成在 DevOps Guru 控制面板中的建议提供可行的见解。
日志异常检测和建议功能可以检测异常关键字、数字异常、HTTP 状态代码、数据格式异常等。当 DevOps Guru 从日志中识别出异常时,您将会在 DevOps Guru 控制面板上找到相关的日志示例和指向 CloudWatch 日志的深层链接。这些情境化日志是 DevOps Guru 的重要组成部分,可提供更多功能,即有针对性的建议,以帮助更快地进行故障排除和问题修复。
我们开始吧!
这项新功能包括两个方面,“日志异常检测”和“建议”。 让我们进一步探讨如何使用此功能找出问题的根本原因并获得建议。例如,我们来看看我使用 Amazon API Gateway 构建的无服务器 API,且 AWS Lambda 与 Amazon DynamoDB 集成在一起。该架构如下图所示:
如果您是第一次使用 DevOps Guru,则需要通过访问 DevOps Guru 控制面板来启用它。您可以通过访问入门页面了解更多信息。
由于我已经启用了 DevOps Guru,因此,可以转到 Insights(见解)页面,导航到 Log Group(日志组)部分,然后选择 Enable log anomaly detection(启用日志异常检测)。
日志异常检测
几个小时后,我可以访问 DevOps Guru 控制面板查看见解。在这里,我从 DevOps Guru 获得了一些调查结果,如以下屏幕截图所示:
借助日志异常检测功能,DevOps Guru 将在 Log groups(日志组)部分显示我的无服务器 API 的调查结果,如以下屏幕截图所示:
我可以将鼠标悬停在异常上,并获得在此日志组中找到的上下文丰富数据的高级摘要。此外,它还为我提供了其他信息,包括分析的日志记录数量和日志扫描时间范围。根据这些信息,我知道这些异常是过去未使用关键字 ERROR 检测到的新事件类型。
要进一步调查,我可以选择日志组链接并转到 Detail(详细信息)页面。该图显示了在这些日志案例中可能发生的相关事件,它们是排查根本原因的帮助性上下文。此 Detail(详细信息)页面包含不同的案例,每个案例都代表一组在发生异常时在日志中找到的相似日志事件,例如异常关键字和数字异常。
在查看第一个日志案例时,我发现 AWS Lambda 内出现了 ConditionalCheckFailedException 错误。当 AWS Lambda 无法调用 DynamoDB 时可能会发生此错误。从这里,我知道了条件检查部分出现了错误,然后我查看了 AWS Lambda 上的逻辑。此外,我还可以调查相关 CloudWatch Logs 组,方法是在 CloudWatch 链接中选择 View details(查看详细信息)。
在这里,我想要强调的是,DevOps Guru 可以识别与应用程序性能相关的重要事件,并通过信息斟酌来帮助我了解所需关注的重要事件。
针对性的建议
除了日志异常检测外,这项新功能还可以根据日志中的调查结果提供精确建议。您可以在 Insights(见解)页面上查找这些建议,方法是向下滚动找到 Recommendations(建议)部分。
在这里,我获得了一些来自 DevOps Guru 的建议,它们使我可以更轻松地采取修复措施来修复问题。下图中显示的一项建议是 Check DynamoDB ConditionalExpression,这与从 AWS Lambda 中衍生的日志中发现的异常有关。
可用性
即日起,您可以在以下提供 DevOps Guru 的所有区域中免费使用 DevOps Guru 日志异常检测和建议功能:美国东部(俄亥俄州)、美国东部(弗吉尼亚州北部)、美国西部(俄勒冈州)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、欧洲地区(法兰克福)、欧洲地区(爱尔兰)和欧洲地区(斯德哥尔摩)。
要了解更多信息,请访问 Amazon DevOps Guru 网站和技术文档,并立即开始使用。
祝大家构建顺利
— Donnie