CloudWatch Logs Insights:按时间范围汇总

时间:2019-03-06 13:24:34

标签: amazon-web-services amazon-cloudwatchlogs

我是CloudWatch Logs Insights的新手,我无法弄清楚如何通过3列按时间范围汇总数据。

我要解析的日志文件为json格式:

{'ts': '12:01:00', 'method':'GET',  'url':'aaaa'}
{'ts': '12:02:00', 'method':'GET',  'url':'aaab'}
{'ts': '12:03:00', 'method':'POST', 'url':'aaac'}
{'ts': '12:04:00', 'method':'GET',  'url':'aaad'}
{'ts': '12:05:00', 'method':'POST', 'url':'aaae'}
{'ts': '12:06:00', 'method':'GET',  'url':'aaaf'}
{'ts': '12:07:00', 'method':'POST', 'url':'aaag'}

如您所见,每个事件行都是POST或GET。每个事件都带有时间戳。

我想在500万个窗口中使用Insights可视化GET和POST的时间分布。

我无法在查询监视器中找到正确的语法来得到这样的结果:

# : ts       : NbGET  : NbPOST
1 : 12:00:00 : 3      : 1
3 : 12:05:00 : 1      : 2

有了这样的结果,我将能够使用两个提取的指标'GET'和'POST'绘制图形。

有什么想法要实现吗?

1 个答案:

答案 0 :(得分:0)

这可以通过在所需时间段内使用“统计”功能合并来实现。对于您的示例,大致是:

STATS count(method = "GET") as NbGET, count(method = "POST") as NbPOST BY BIN(5m)