我通常会运行如下查询
fields @timestamp, @message
| filter @message like /ERROR/
| sort @timestamp desc
| limit 20有没有办法在包含"ERROR“的消息周围获得额外的上下文行?类似于使用grep的A、B和C标志?
示例
例如,如果我有一个给定的日志,其中包含以下行
DEBUG Line 1
DEBUG Line 2
ERROR message
DEBUG Line 3
DEBUG Line 4目前我得到的结果如下
ERROR message但是我想得到更多的上下文信息,比如
DEBUG Line 2
ERROR message
DEBUG Line 3如果我愿意,可以选择获取更多的上下文行。
发布于 2020-08-13 18:28:46
我发现最有用的解决方案是执行查询和搜索错误,并从"requestId“字段中获取请求id,然后打开第二个浏览器选项卡。在第二个选项卡中,对该请求id执行搜索。
示例:
fields @timestamp, @message
| filter @requestId like /fcd09029-0e22-4f57-826e-a64ccb385330/
| sort @timestamp asc
| limit 500使用上面的查询,您可以按照发生错误的请求的正确顺序获得所有日志消息。这是一个开箱即用的lambda示例。但是,如果您以不同的方式将日志推送到CloudWatch,并且没有requestId,我建议为每个请求创建一个requestId,或者创建另一个对您的用例更有用的标识符,并将其与您的日志事件一起推送。
https://stackoverflow.com/questions/60515348
复制相似问题