我是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'绘制图形。
有什么想法要实现吗?
答案 0 :(得分:0)
这可以通过在所需时间段内使用“统计”功能合并来实现。对于您的示例,大致是:
STATS count(method = "GET") as NbGET, count(method = "POST") as NbPOST BY BIN(5m)