通过多个值/ AWS CLI过滤AWS CloudWatch原始日志事件

时间:2020-02-11 12:07:35

标签: amazon-web-services logging aws-cli amazon-cloudwatch aws-cloudwatch-log-insights

给出以下关于CloudWatch的查询,该查询提取带有消息的日志,其中包括“ entry 1456” (其中1456是ID)我应该如何扩展它以获取多个ID,相应的CLI命令是什么?

fields  @message
| filter @message like "entry 1456"
| limit 10

为了澄清,我想使用多个ID进行过滤,例如“ like 1456 | 1257 | 879”。但不确定这种情况下的正则表达式格式。

我认为相应的CLI命令将像:

aws logs filter-log-events 
--log-group-name group_name
--app
--filter-pattern ........

只想确保最好的表达方式。

1 个答案:

答案 0 :(得分:3)

语法为:

fields  @message
| filter @message like /entry [1456|1257]/
| limit 10

您还可以先解析日志行并提取值,如下所示:

fields  @message
| parse @message /.*entry (?<id>\d+).*/
| filter id in [1257, 1456]
| limit 10

现在使用CLI,您将不再使用 filter-log-events ,而是使用start-queryget-query-results