繁体   English   中英

如何使用 aws cloudwatch log insights 查询在日志中搜索多个字符串?

[英]How to search for multiple strings in logs using aws cloudwatch log insights query?

对于我的 aws 日志组,我想编写一个 cloudwatch log insgights 查询来搜索日志中的多个字符串。 我试过这样的事情:

fields @timestamp, @message, @logStream
| filter @message like /(?i)\$\{jndi/
| filter @message like /(?i)\$\{\$\{lower\:j/
| sort @timestamp desc

但是,它只搜索第一个过滤器,即 /(?i)${jndi/。 它不搜索第二个过滤器。 有人可以帮我找出如何使用一个查询搜索多个字符串吗?

我在 aws 文档和 inte.net 上找不到任何示例

谢谢你的帮助。

@Zabih Khaliqi 如果 message 恰好是列表中的值之一,则您剪下的代码只会找到结果。

如果@Sushil 正在搜索“消息中的字符串”,我会建议这样:

fields @timestamp, @message
| filter strcontains(@message, "jndi") or strcontains(@message, "lower\:j")
| sort @timestamp desc

 

所以使用 OR 运算符和字符串运算符https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html#CWL_QuerySyntax-operations-functions

这唤醒了我:

字段@timestamp、@message、@logStream | 过滤@message like /(?i)(${jndi|${${lower:j|${${upper:j|${${::-j)|${/ | 排序@timestamp desc

使用in运算符,如下所示: AWS 文档

 fields @timestamp, @message, @logStream | filter @message in ["MyFirstSearchString", "MySecondSearchString", "MyThirdSearchString"] | sort @timestamp desc

暂无
暂无

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

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