给出以下关于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 ........
只想确保最好的表达方式。
答案 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-query和get-query-results。