如何在 AWS Cloud Watch Logs Insights 中运行组

Unb*_*ble 9 amazon-cloudwatch amazon-cloudwatchlogs aws-cloudwatch-log-insights

我有 CWL 条目如下。为清楚起见,以 SQL 类型显示条目

Name City
1     Chicago
2     Wuhan
3     Chicago
4     Wuhan
5     Los Angeles
Run Code Online (Sandbox Code Playgroud)

现在我想低于输出

City         Count
Chicago        2
Wuhan          2
Los Angeles    1
Run Code Online (Sandbox Code Playgroud)

有没有办法可以GROUP BY在 CWL Insights 中运行。

伪查询

Select Count(*), City From {TableName} GROUP BY City
Run Code Online (Sandbox Code Playgroud)

Unk*_*nts 22

您可以将聚合函数count与以下by语句一起使用:https : //docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html

这是您案例的完整示例,假设日志包含与示例中完全相同的条目(城市名称的正则表达式非常简单,您可能需要对其进行优化)。

fields @timestamp, @message
| parse @message /^(?<number>\d+)\s+(?<city>[a-zA-Z\s]+)$/
| filter ispresent(city)
| stats count(*) by city
Run Code Online (Sandbox Code Playgroud)

结果:

---------------------------
|     city     | count(*) |
|--------------|----------|
| Chicago      | 2        |
| Wuhan        | 2        |
| Los Angeles  | 1        |
---------------------------
Run Code Online (Sandbox Code Playgroud)

  • 您可以像在 sql 中那样使用 `as`:https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html#CWL_QuerySyntax-alias (3认同)