CloudWatch 日志见解语言查询语法 - Amazon CloudWatch 日志

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

CloudWatch 日志见解语言查询语法

本节提供有关 Logs Insights QL 的详细信息。查询语法支持不同的函数和运算,包括但不限于常规函数、算术和比较运算以及正则表达式。

重要

为了避免因运行大型查询而产生过高的费用,请牢记以下最佳实践:

  • 仅为每个查询选择必要的日志组。

  • 始终为查询指定尽可能窄的时间范围。

  • 使用控制台运行查询时,请在关闭 L CloudWatch ogs Insights 控制台页面之前取消所有查询。否则,查询将继续运行直至完成。

  • 向仪表板添加 CloudWatch Logs Insights 小组件时,请确保仪表板刷新频率不高,因为每次刷新都会启动一个新的查询。

要创建包含多个命令的查询,请使用竖线字符(|)分隔命令。

要创建包含注释的查询,请使用哈希字符(#)对注释进行分隔。

注意

CloudWatch Logs Insights 会自动发现不同日志类型的字段,并生成以 @ 字符开头的字段。有关这些字段的更多信息,请参阅 Amazon CloudWatch 用户指南中的支持的日志和发现的字段

下表简要介绍了每个命令。下表对每条命令进行了更全面的描述,并附有示例。

注意

标准日志类中的日志组支持所有 Logs Insights QL 查询命令。不频繁访问日志类中的日志组支持所有 Logs Insights QL 查询命令pattern,但diff、和除外。unmask

display

在查询结果中显示一个或多个特定字段。

fields

在查询结果中显示多个特定字段,并支持函数和操作,可用于修改字段值和创建用于查询的新字段。

filter

筛选查询,以仅返回与一个或多个条件匹配的日志事件。

filterIndex

强制查询尝试仅扫描既在字段索引中提及的字段上编制索引又包含该字段索引值的日志组。这会尝试仅扫描这些日志组中包含此字段索引查询中指定值的日志事件,从而减少扫描量。

不频繁访问日志类中的日志组不支持此命令。

pattern

自动将您的日志数据划分为不同模式。模式是在日志字段中重复出现的共享文本结构。 CloudWatch Logs Insights 为您提供了分析日志事件中发现的模式的方法。有关更多信息,请参阅 模式分析

diff

将在您请求的时间段内找到的日志事件与之前相同长度的时间段内的日志事件进行比较,以便您可以查找趋势并确定某些日志事件是否是新的。

parse

从日志字段中提取数据,以创建可以在查询中处理的提取字段。parse 同时支持使用通配符和正则表达式的 glob 模式。

sort

按升序 (asc) 或降序 (desc) 顺序显示返回的日志事件。

SOURCE

SOURCE在查询中包含是根据要包含在查询中的日志组名称前缀、账户标识符和日志组类来指定大量日志组的有用方法。只有在 AWS CLI 或中以编程方式创建查询时,才支持此命令,而不是在 CloudWatch 控制台中创建查询。

stats

使用日志字段值计算聚合统计数据。

limit

指定您希望查询返回的最大日志事件数。对于 sort 返回“前 20 个”或“最近 20 个”结果很有用。

dedup

根据您指定的字段中的特定值删除重复的结果。

unmask

显示由于数据保护策略而屏蔽部分内容的日志事件的所有内容。有关日志组中数据保护的更多信息,请参阅 通过屏蔽帮助保护敏感的日志数据

unnest

对作为输入的列表进行扁平化以生成多条记录,列表中的每个元素都有一条记录。

其他操作和函数

CloudWatch Logs Insights 还支持许多比较、算术、日期时间、数字、字符串、IP 地址以及常规函数和操作。

以下各节提供了有关 L CloudWatch ogs Insights 查询命令的更多详细信息。