AWS CloudWatch Logs Insights-按API资源名称对日志进行分组并进行汇总

时间:2019-10-04 09:24:53

标签: amazon-web-services aws-api-gateway amazon-cloudwatch aws-cloudwatch-log-insights

我拥有带有两个资源的AWS API Gateway:

/api/orders
/api/history

我已经为该API启用了CloudWatch日志。使用AWS CloudWatch Logs Insights,我能够从与上述API相关的日志组中收集和观察日志。我想使用收集的日志来分析通过API的流量,并确定对每个API资源提出了多少个请求。

如何使用Logs Insights将API中的日志记录按资源名称分组并汇总一些数据(例如,计算每个资源的请求计数)?

2 个答案:

答案 0 :(得分:0)

使用下一个查询,我们可以分别查看每个资源的日志:

fields @timestamp, @message
| filter @message like /Resource Path: \/api\/orders/
| sort @timestamp desc


fields @timestamp, @message
| filter @message like /Resource Path: \/api\/history/
| sort @timestamp desc

答案 1 :(得分:0)

如果您想在“可视化选项卡”上看到一个“折线”图,并查看每个资源请求随时间推移的数量,汇总到(示例)5 分钟区间,您可以尝试类似

fields @timestamp, @message
| parse @message like /Resource Path: *history/ as hist
| parse @message like /Resource Path: *orders/ as ord
| stats count (hist) as c_hist, count(ord) as c_ord by bin (5m)