CloudWatch Logs Insights:按时间范围汇总

问题描述 投票:0回答:1

我是 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 "来画一个图。

任何想法如何实现这一点?

amazon-web-services amazon-cloudwatchlogs
1个回答
1
投票

这可以通过使用'stats'函数按所需时间段进行分片来实现。 对于你的例子来说,大致是这样的。

STATS count(method = "GET") as NbGET, count(method = "POST") as NbPOST BY BIN(5m)
© www.soinside.com 2019 - 2024. All rights reserved.