【问题标题】:AWS Log insights, parse all occurrences in a logAWS 日志见解,解析日志中的所有事件
【发布时间】:2022-12-28 21:45:45
【问题描述】:
我有一个关于 aws 中的日志洞察力的问题。如何获取日志中的所有事件?我尝试使用和不使用正则表达式,解析只会获取第一次出现的情况。
我有这样的日志(以及此类日志的多个条目):
[错误] - [{'id': 'id1'}, {'id': 'id2'}, {'id': 'id3'}]
我想提取所有 ID,所以我尝试了:
parse @message "id': '*'" as id
只返回id1(第一次出现)按日志
我还尝试了一个正则表达式:
parse @message /id': '(?<id>\S*)'/
只返回id1(第一次出现)以及日志
我希望结果中有类似 [id1, id2, id3] 或多行的内容(逐个匹配)。
【问题讨论】:
标签:
amazon-web-services
logging
aws-cloudwatch-log-insights
【解决方案1】:
我仍然没有找到处理这个问题的好方法,似乎我们无法从一个日志中获得多个结果
但也许您可以使用下面链接的答案中分享的做法,找出每条消息中存在多少项
您还可以通过字符串操作获取值列表
fields (strlen(test)-strlen(replace(test, "'id'", ""))) / strlen("'id'") as count,
replace(replace(replace(@message, "}", ""), "},", ","), "{'id': ", "") as list
# would return 3, ['id1', 'id2', 'id3']
https://stackoverflow.com/a/73254710/1762994