在 Cloudwatch Insight 中解析日志

use*_*391 1 amazon-web-services aws-cloudwatch-log-insights

我正在尝试使用 cloudwatch Insights 解析以下日志。

2021.10.25 19:56:20:459 UTC | Info       | HTTP | GOOGLE_cf95a06b-b5fa-4f70-bc18-28fc30dfd9cc

    Tx [http] 200.61.132.110:80 -> 200.61.132.89:31812 StatusCode=200
Run Code Online (Sandbox Code Playgroud)

洞察查询:

fields @timestamp, @message
| filter @message like "StatusCode="
| parse @message "* | * | * | *" as aa, bb, cc, dd
| display dd

Run Code Online (Sandbox Code Playgroud)

我明白了:

GOOGLE_cf95a66b-b5fa-4f70-bc10-28fc30fdd9cc Tx [http] 200.61.132.110:80 -> 200.61.132.89:31812 StatusCode=200
Run Code Online (Sandbox Code Playgroud)

如何解析单个项目示例“GOOGLE_cf95a66b-b5fa-4f70-bc10-28fc30fdd9cc”和“StatusCode=200”

非常感谢任何指点?

OAR*_*ARP 6

这取决于日志事件的结构。如果有固定的结构并且某些字段不会改变(特别是作为字段分隔符的空格),则可以帮助在查询中使用它们。例如,根据您显示的日志示例,您可以使用以下查询:

fields @timestamp, @message
| filter @message like "StatusCode="
| parse @message "* | * | * | * * [*] * -> * StatusCode=*" as f1, f2, f3, field_google, f4, protocol, ip1, ip2, status_code
| display field_google, protocol, ip1, ip2, status_code
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述