AWS CloudWatch 解析日志

问题描述 投票:0回答:1

我能够解析一个字段并提取它,但我不知道如何从日志中进一步提取多个字段。

使用此查询...

fields @item29
| filter @message like /item29/
| parse @message '"item29\\\\\\":\\\\\"*\\\\\\' as @item29

我设法将 item29 作为字段取出,但我不知道如何取出 item29 和 item35,我不知道如何组合查询以将两者取出。

这是日志...

{"time":"2024-03-26T16:58:59.907719615Z","log":"time=\"2024-03-26T16:58:59Z\" level=info msg=\"{\\\"item1\\\":\\\"45\\\",\\\"item2\\\":{\\\"item3\\\":\\\"12\\\",\\\"item4\\\":\\\"ASE\\\",\\\"item5\\\":\\\"ASE\\\"},\\\"item6\\\":[{\\\"item7\\\":0.00,\\\"item8\\\":\\\"THING\\\"},{\\\"item9\\\":0.00,\\\"item10\\\":\\\"THING2\\\"},{\\\"item11\\\":159,\\\"item12\\\":\\\"THING\\\"},{\\\"item13\\\":000,\\\"item14\\\":\\\"THING3\\\"}],\\\"item15\\\":[{\\\"item16\\\":000,\\\"item17\\\":null,\\\"item18\\\":null,\\\"item19\\\":\\\"THING\\\"}],\\\"item20\\\":0.00,\\\"item21\\\":0.00,\\\"item22\\\":{\\\"item23\\\":{\\\"item24\\\":0,\\\"item25\\\":\\\"OK\\\",\\\"item27\\\":\\\"0\\\"},\\\"item28\\\":null,\\\"item29\\\":\\\"16::1::56475::77::6565\\\",\\\"item30\\\":77,\\\"item31\\\":\\\"22514b75-eb92-11ee-a847-0a8814ce348e-C\\\",\\\"item32\\\":null,\\\"item33\\\":null,\\\"item34\\\":6769,\\\"item35\\\":\\\"16::1::67698::22514b75-e456-11ee-a847-7567-C::77\\\",\\\"item36\\\":null}}\"}

我尝试了以下...

fields @item29, @item35
| filter @message like /item29/
| parse @message '"item29\\\\\\":\\\\\"*\\\\\\' as @item29, '"item35\\\\\\":\\\\\"*\\\\\\' as @item35

也尝试过...

fields @item29, @item35
| filter @message like /item29/
| parse @message '"item29\\\\\\":\\\\\"*\\\\\\, "item35\\\\\\":\\\\\"*\\\\\\' as @item29, @item35

我将非常感谢您的帮助。

parsing amazon-cloudwatch
1个回答
0
投票

你可以试试这个吗

fields @item29, @item35
    | filter @message like /item29/ and @message like /item35/
    | parse @message '"item29":"*","item35":"*"' as @item29, @item35
© www.soinside.com 2019 - 2024. All rights reserved.