CloudWatch Logs Insights 语法查询语法
本节详细介绍 Logs Insights QL。查询语法支持不同的函数和运算,包括但不限于常规函数、算术和比较运算以及正则表达式。
重要
为了避免因运行大型查询而产生过高的费用,请牢记以下最佳实践:
-
仅为每个查询选择必要的日志组。
-
始终为查询指定尽可能窄的时间范围。
-
当使用控制台运行查询时,请在关闭 CloudWatch Logs Insights 控制台页面之前取消所有查询。否则,查询将继续运行直至完成。
-
当您将 CloudWatch Logs Insights 小组件添加到控制面板时,请确保仪表板不会以高频率刷新,因为每次刷新都会启动一个新查询。
要创建包含多个命令的查询,请使用竖线字符(|)分隔命令。
要创建包含注释的查询,请使用哈希字符(#)对注释进行分隔。
注意
CloudWatch Logs Insights 会自动发现多种不同日志类型的字段,并生成以 @ 字符开头的字段。有关这些字段的更多信息,请参阅 Amazon CloudWatch 用户指南中的支持的日志和搜索到的字段。
下表简要介绍了每个命令。下表对每条命令进行了更全面的描述,并附有示例。
注意
标准日志类中的日志组支持所有 Logs Insights QL 查询命令。不频繁访问日志类中的日志组支持除 pattern、diff 和 unmask 之外的所有 Logs Insights QL 查询命令。
使用机器学习识别日志数据中的异常模式。 |
|
在查询结果中显示一个或多个特定字段。 |
|
在查询结果中显示多个特定字段,并支持函数和操作,可用于修改字段值和创建用于查询的新字段。 |
|
筛选查询,以仅返回与一个或多个条件匹配的日志事件。 |
|
强制查询尝试仅扫描已在字段索引提及的字段上编制索引并且还包含该字段索引的值的日志组。这样可以减少扫描量,因为它只尝试扫描这些日志组中包含此字段索引的查询中指定的值的日志事件。 不频繁访问日志类中的日志组不支持此命令。 |
|
自动将您的日志数据划分为不同模式。模式是在日志字段中重复出现的共有的文本结构。CloudWatch Logs Insights 为您提供了分析在日志事件中发现的模式的方法。有关更多信息,请参阅 模式分析。 |
|
将在您请求的时间段内找到的日志事件与之前相同长度的时间段内的日志事件进行比较,以便您可以查找趋势并确定某些日志事件是否是新的。 |
|
从日志字段中提取数据,以创建可以在查询中处理的提取字段。 |
|
按升序 ( |
|
在查询中包含 |
|
使用日志字段值计算聚合统计数据。 |
|
指定您希望查询返回的最大日志事件数。对于 |
|
根据您指定的字段中的特定值删除重复的结果。 |
|
显示由于数据保护策略而屏蔽部分内容的日志事件的所有内容。有关日志组中数据保护的更多信息,请参阅 通过屏蔽帮助保护敏感的日志数据。 |
|
|
对输入列表进行扁平化以生成多条记录,列表中的每个元素都有一条记录。 |
|
CloudWatch Logs Insights 还支持许多比较、算术、日期时间、数值、字符串、IP 地址以及常规函数和操作。 |
以下各部分提供有关 CloudWatch Logs Insights 查询命令的更多详细信息。