如何通过 AWS Cloudwatch 进行全文搜索?

How can I make a full-text search through AWS Cloudwatch?

我使用结构化日志记录(因此:记录 json 字符串)并且我使用日志标识符。所以在我的代码中,每条日志消息都有一个唯一的标识符,这样我就可以在两个方向上进行搜索:当我看到一条日志消息时,我知道它来自哪里,当我期待日志消息时,我可以搜索这个标识符。

我的日志字符串如下所示:

{"log-id": "##_foo_bar-1", "message": "some explanation", "customer_id": 123}

我不太确定是否需要用 Cloudwatch 做一些其他事情,因为它看起来像这样:

[2018-02-06 08:34:09,946]:[INFO]: {"log-id": "##_foo_bar-1", "message": "some explanation", "customer_id": 123}

最近,我在寻找我的标识符 ##_foo_bar-1,Cloudwatch 告诉我:

我也试过:

{$.log-id = "##_foo_bar-1"}

没有成功。但是在日志中是肯定的(我已经看到了,在手动查看之后)。

如何使用搜索功能找到它?

将搜索词放在引号中应该有效,如下所示:"##_foo_bar-1"

搜索 {$.log-id = "##_foo_bar-1"} 应该也可以。我尝试记录您在问题中使用的相同示例语句,这就是我得到的:

可能您的日志消息未被识别为 json,您是否看到它像我的屏幕截图一样经过解析和着色?