0

我在 2 个 Linux Web 服务器前使用AWS Elastic Load Balancing (ELB)。但是(根据我的要求)我需要从 Web 服务器的角度了解真实 IP,尤其是当我使用netstat.

我需要实时知道来自每个 IP(来自 NETSTAT)的传入连接数。所以基本上在 Linux中(前面没有 ELB),下面的netstat命令完美地工作:

netstat -tn 2>/dev/null | grep :80

现在我只能看到 ELB 的内部 IP;这使整个事情变得非常困难。

请问这个有什么解决办法?谢谢。

4

2 回答 2

2

您可以从 ELB 访问日志中获取客户端源 IP,并使用EMR 和 Hive来计算客户端请求从同一 IP 传入的次数。

于 2016-01-26T17:07:18.823 回答
1

如果您更喜欢“手动”方式:您可以使用 tcpdump 或ngrep并在您的 Web 服务器上搜索“x-forwarded-for”标头。

如果您想要一个正确的方法:在您的应用程序中设置一些日志记录,使用 x-forwarded-for 标头记录客户端请求。

无论您选择哪种方法,您都可以在您的机器上安装cloudwatch 日志代理来监控生成的日志。该代理负责日志轮换,将您的日志作为流(通过后台的 kinesis)发送到 AWS,然后您可以创建日志指标来监控您喜欢的日志中的任何内容,例如实时连接数,以及如果您愿意,甚至可以基于此配置警报。然后,您可以使用您的指标创建仪表板,并拥有一个不错的监控面板,包括您的自定义日志指标。

于 2016-01-26T17:12:04.700 回答