我是 CloudWatch Logs Insights 的新手,我不知道如何用 3 列按时间范围汇总数据。
我想解析的日志文件是 json 格式的 .NET 文件。
{'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。每个事件也都有时间戳。
我想使用Insights来可视化GET和POST在5mn窗口中的分布情况。
我找不到正确的语法来在Query monitor中显示这样的结果。
# : ts : NbGET : NbPOST
1 : 12:00:00 : 3 : 1
3 : 12:05:00 : 1 : 2
有了这样的结果,我就可以用两个提取的指标 "GET "和 "POST "来画一个图。
任何想法如何实现这一点?
这可以通过使用'stats'函数按所需时间段进行分片来实现。 对于你的例子来说,大致是这样的。
STATS count(method = "GET") as NbGET, count(method = "POST") as NbPOST BY BIN(5m)