4

我有两个资源的 AWS API Gateway:

/api/orders
/api/history

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

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

4

2 回答 2

1

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

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
于 2019-10-09T07:42:56.793 回答
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)
于 2021-03-08T14:06:19.650 回答