我有以下 AWS Cloudwatch 查询:
fields @timestamp, @message
| filter @message like /(?i)(error|except)/
| filter !ispresent(level) and !ispresent(eventType)
| stats count(*) as ErrorCount by @message
| sort ErrorCount desc
结果最终看起来像这样,带有消息和计数:
前 4 个结果实际上是相同的错误。但是,由于它们在消息开头具有不同的 (node:*) 值,因此最终会将它们分组为不同的错误。
有没有办法让查询解析/忽略 (node:*) 部分,以便图像中的前 4 个结果将被视为总计数为 2,997 的一个结果?
您可以使用解析来创建消息的子集并基于此进行分组。
| parse message '(node*' as new_message