本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 “日志见解” 分析 CloudWatch 日志数据
借助 CloudWatch Logs Insights,您可以在 Amazon Logs 中以交互方式搜索和分析您的 CloudWatch 日志数据。您可以执行查询以帮助您更高效地响应操作问题。如果出现问题,您可以使用 CloudWatch Logs Insights 来识别潜在原因并验证已部署的修复程序。
CloudWatch Logs Insights 支持三种可用于查询的查询语言:
-
一种专门构建的 L ogs Insights 查询语言(Logs Insights QL),带有一些简单但功能强大的命令。
-
OpenSearch 服务管道处理语言 (PPL)。 OpenSearch PPL 允许您使用一组由竖线 (|) 分隔的命令来分析日志。
借 OpenSearch 助 PPL,您可以使用串接在一起的命令来检索、查询和分析数据,从而更容易理解和撰写复杂的查询。该语法允许串联命令以转换和处理数据。使用 PPL,您可以筛选和聚合数据,并使用丰富的数学、字符串、日期、条件和其他函数进行分析。
-
OpenSearch 服务结构化查询语言 (SQL)。使用 OpenSearch SQL 查询,您可以以声明方式分析日志。你可以使用 SELECT、FROM、WHERE、GROUP BY、HAVING 等命令以及 SQL 中提供的各种其他命令和函数。您可以 JOINs 跨日志组执行,使用子查询关联日志中的数据,并使用丰富的 JSON、数学、字符串、条件和其他 SQL 函数对日志进行强大的分析。
使用 SQL 或 PPL 命令时,请务必用反引号将带有特殊字符(非字母和非数字)的字段括起来,以便成功查询它们。例如,用反引号
@message
将Operation.Export
、和Test::Field
括起来。您无需用反引号将纯字母名称的字段括起来。
重要
为了增强 CloudWatch Logs Insights 查询的安全性,从 2025 年 7 月 31 日起,用户必须同时使用logs:StartQuery
和logs:GetQueryResults
权限登录,才能在 CloudWatch控制台中运行查询。在此日期之后,不具备这两种权限的用户将无法在控制台中查看查询结果,而是在尝试在控制台中查看查询结果时会看到一条横幅消息。
更改后,所需的控制台体验权限将与 SDK 和使用和的 AWS CLI 用户当前所需的权限保持一致 GetQueryResults APIs。 StartQuery
有关如何创建 IAM 策略或向现有策略添加权限的信息,请参阅 IAM 用户指南中的使用客户托管策略定义自定义 IAM 权限和编辑 IAM 策略。
CloudWatch Logs Insights 提供以下功能,可用于任何查询语言。
-
自动发现 Amazon Route 53、 AWS Lambda AWS CloudTrail、和 Amazon VPC 等 AWS 服务的日志中的日志字段,以及任何以 JSON 形式发送日志事件的应用程序或自定义日志。
-
创建字段索引以降低成本并加快结果速度,特别是对于大量日志组或日志事件的查询。为日志事件中常见的字段创建字段索引后,可以在查询中使用它们。该查询会跳过已知不包含索引字段的日志事件的处理,处理的数据也更少。
注意
该
filterIndex
命令仅在 Logs Insights QL 中可用。 -
检测和分析日志事件中的模式。模式是在日志字段中重复出现的共有的文本结构。查看查询结果时,可以选择 “模式” 选项卡,查看 CloudWatch Logs 根据结果样本找到的模式。
-
保存查询、查看查询历史记录并重新运行已保存的查询。这可以帮助您在需要时运行复杂的查询,而无需每次要运行它们时都重新创建它们。
-
向@@ 仪表板添加查询。
只有当您使用 L CloudWatch ogs Insights QL 时,才支持以下日志见解功能。
-
查询不频繁访问日志类中的日志。
-
比较查询,将日志组中的日志事件与前一时间段的日志事件进行比较。
-
该filterIndex命令强制查询尝试仅扫描包含您指定的字段索引的日志事件。
重要
CloudWatch Logs Insights 无法访问时间戳早于日志组创建时间的日志事件。
如果您登录的账户设置为 CloudWatch 跨账户可观察性监控账户,则可以对与该监控账户关联的源账户中的 CloudWatch 日志组运行 Logs Insights 查询。您可以运行一个查询,查询位于不同账户中的多个日志组。有关更多信息,请参阅 CloudWatch 跨账户可观测性。
使用 Logs Insights QL 创建查询时,也可以使用自然语言创建 Logs Ins CloudWatch ights 查询。要执行此操作,请询问或描述您要查找的数据。这种 AI 辅助功能会根据你的提示生成查询,并 line-by-line解释查询的工作原理。有关更多信息,请参阅使用自然语言生成和更新 L CloudWatch ogs Insights 查询。
如果查询尚未完成,则使用任何支持的查询语言的查询将在 60 分钟后超时。查询结果的有效期为七天。
CloudWatch 无论查询语言如何,Logs Insights 查询都会根据查询的数据量收取费用。有关更多信息,请参阅 Amazon CloudWatch 定价
您可以使用 Lo CloudWatch gs Insights 搜索在 2018 年 11 月 5 日或之后发送到 Logs 的 CloudWatch 日志数据。
重要
如果您的网络安全团队不允许使用 Web 套接字,则您目前无法访问 CloudWatch 控制台的 CloudWatch Logs Insights 部分。您可以通过使用 CloudWatch Logs Insights 查询功能 APIs。有关更多信息,请参阅 Amazon CloudWatch 日志 API 参考StartQuery中的。