CloudWatch Log Insights如何提取path字段首个正斜杠前的内容?
CloudWatch Logs Insights parse正则语法报错解决方案
错误原因
CloudWatch Logs Insights的parse语句分两种语法场景:
- 通配符匹配模式:使用
*做简单字符串匹配时,需要加as关键字指定输出字段,你写的第二行parse @message '"path": "*"' as @path符合该场景的语法要求 - 正则匹配模式:使用
/正则/格式做匹配时,不需要加as关键字,正则内的捕获组会按顺序对应后续罗列的输出字段,你第三行多余的as是触发语法报错的核心原因
修复后的查询语句
fields @timestamp, @message | parse @message '"path": "*"' as @path | parse @path /(^[^\/]+)/ @parent
可选优化
如果你的日志是标准JSON格式,CloudWatch Logs Insights默认会自动提取JSON顶级字段为可直接调用的属性,无需手动解析path字段,可简化为:
fields @timestamp, @message, path | parse path /(^[^\/]+)/ @parent
内容的提问来源于stack exchange,提问作者activelearner
相关产品推荐
相关产品推荐

