4

鉴于 CloudWatch 上的以下查询提取包含“条目 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 ........

只是想确定最好的方法来制定这个。

4

1 回答 1

8

语法是:

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

于 2020-02-11T13:15:59.937 回答