【发布时间】:2019-06-04 08:34:03
【问题描述】:
假设我有一个如下所示的云观察日志:
最左边的 IP 代表请求的来源。
是否可以列出我指定的时间范围内每个IP的出现次数?
我的意思是我想创建如下所示的数据:
time range: 2019-06-02 00:00:00 - 2019-06-04 13:00:00
number of occurrences of `172.31.13.80`: 130
number of occurrences of `172.31.25.110`: 112
number of occurrences of `172.31.8.124`: 99
number of occurrences of `172.31.8.121`: 86
看来CloudWatch Logs Insights 可以做一些类似于我想要的事情。但我还没有弄清楚如何使用 Insights 做到这一点。
有谁知道如何统计每个IP的出现次数?
【问题讨论】:
-
Insights 提供了parse 函数,它可以让您使用正则表达式提取字段,但没有很好的文档记录。
-
但是,这真的是您想要做的吗?根据您的其他问题,我假设这是来自您的 ELB 应用程序服务器背后的访问日志。这意味着这些 IP 地址是 ELB 节点,不是实际的远程客户端。这真的是你想要的吗? (我无法想象我会关心这些信息的任何情况,但你可能有一个)我发现分析load balancer access logs 更有用。
-
是的,这确实是我想做的。我不想暴露我公司客户的真实 IP。这就是我在问题中使用负载均衡器 IP 的原因。
-
我将使用 the methods here 将客户端的 IP 地址上传到 CloudWatch。
-
关于“我不想暴露真实的 IP”:正如所写,您的问题并没有说明这一点,并且考虑到关于 SO 的问题普遍存在,这些问题询问如何执行无意义的任务,这是一个合理的假设,这是其中之一。
标签: amazon-web-services amazon-cloudwatch