繁体   English   中英

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

[英]Filtering AWS CloudWatch raw log events by multiple values / AWS CLI

鉴于 CloudWatch 上的以下查询提取了包含“条目 1456” (其中 1456 是一个 ID)消息的日志,我应该如何扩展它以获取多个 ID 以及相应的 CLI 命令是什么?

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

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

我假设相应的 CLI 命令将是这样的:

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

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

语法是:

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

只是为了可见性和复制/粘贴能力,当前正确的语法是:

fields @message
| filter @message like /entry (1457|1458)/
| limit 20

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM