我在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 ;这使整个事情变得非常困难。
请问这个解决方案是什么?感谢。
答案 0 :(得分:2)
您可以从ELB访问日志中获取客户端源IP,并使用EMR with Hive计算客户端请求来自同一IP的次数。
答案 1 :(得分:1)
如果您更喜欢更“手动”的方式:您可以使用tcpdump或ngrep并在您的网络服务器上搜索“x-forwarded-for”标头。
如果您想要一个正确的方法:在您的应用程序中设置一些日志记录,请使用x-forwarded-for标头记录客户端请求。
无论您选择哪种方法,都可以在计算机上安装cloudwatch logs代理,以监控生成的日志。此代理负责日志轮换,将您的日志作为流发送到AWS(通过场景后面的kinesis),然后您可以创建日志指标来监控日志中的任何内容,例如实时连接数,以及甚至可以根据需要配置报警。 然后,您可以使用指标创建仪表板,并拥有一个包含自定义日志指标的漂亮监控面板。