如何使用AWS CloudWatch Insights查询AWS CloudWatch日志?

时间:2019-10-07 09:41:24

标签: amazon-web-services amazon-cloudwatch aws-cloudwatch-log-insights

我有很多AWS Lambda日志,需要查询它们才能找到相关的日志流名称,
我在日志中记录了一个特定的字符串,
我需要对其进行相似或完全相同的查询。

日志格式如下-

Request ID => 572bf6d2-e3ff-45dc-bf7d-c9c858dd5ccd

我可以查询没有UUID字符串的日志-

enter image description here

但是,如果我在查询中提到UUID,它不会显示结果- enter image description here

使用的查询-

fields @timestamp, @message
| filter @message like /Request ID =>/
| sort @timestamp desc
| limit 20

fields @timestamp, @message
| filter @message like /Request ID => 572bf6d2-e3ff-45dc-bf7d-c9c858dd5ccd/
| sort @timestamp desc
| limit 20

1 个答案:

答案 0 :(得分:2)

您是否尝试过在邮件字段的第一个查询中添加其他过滤器,以进一步缩小搜索范围?

fields @timestamp, @message
| filter @message like /Request ID =>/
| filter @message like /572bf6d2-e3ff-45dc-bf7d-c9c858dd5ccd/
| sort @timestamp desc
| limit 20

或者,如果您所有的日志都遵循相同的格式,则可以使用parse关键字拆分UUID字段,然后使用类似的内容进行搜索

fields @timestamp, @message
| parse @message "* * Request ID => *" as datetime, someid, requestuuid
| filter uuid like /572bf6d2-e3ff-45dc-bf7d-c9c858dd5ccd/
| sort @timestamp desc
| limit 20

也可以尝试在查询的右上角扩大相对时间范围,以防万一您要查找的请求自第一次查询以来已落在1小时范围之外。