代码之家  ›  专栏  ›  技术社区  ›  Brian

如何统计CloudWatch日志中IP地址的出现次数

  •  0
  • Brian  · 技术社区  · 5 年前

    假设我有一个云表日志,如下所示:

    enter image description here

    最左边的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 能做一些我想做的事但我还没想好如何用真知灼见做到这一点。

    有人知道如何计算每个IP的出现次数吗?

    0 回复  |  直到 5 年前
        1
  •  1
  •   guest    5 年前

    如果您的目标是分析实际的远程IP地址并使用ELB,那么 远的 最好是抓住 ELB access logs 分析这些这将提供以下好处:

    • 访问源请求数据,包括客户端IP和SSL参数。
    • 计时信息,包括失败请求的计时。
    • 不需要编写公开请求头的自定义日志格式。

    AWS Athena 有预先建立的查询来访问这些日志,而自由神弥涅尔瓦的SQL类查询语言比云计算日志提供了更大的灵活性。您还可以将日志发送到CloudWatch并使用Insights(它可以识别ELB日志格式),但这似乎是不必要的工作。

        2
  •  0
  •   Darren Reddick    5 年前

    “弹性负载平衡在最大努力的基础上记录请求我们建议您使用访问日志来了解请求的性质,而不是作为所有请求的完整记帐。”

    https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html

    如果精度很重要并且使用ELB日志,则值得记住我在过去做过一些分析HTTP访问日志和ELB日志的工作,发现它们之间的请求计数有相当大的差异(HTTP日志是准确的)