如何找出 AWS 中 ALB 后面每个实例的请求数量?

如何找出 AWS 中 ALB 后面每个实例的请求数量?

我在 AWS 的 ALB 后面运行了 50-60 个 aws 实例。我可以在 cloudwatch 监控部分获取总请求数,但是有没有什么办法可以实时知道实际上有多少请求从 ALB 定向到每个实例。

答案1

您想要实现什么目标?使用 Cloudwatch 中的默认指标无法轻松实现此目的。

但是,如果您想使用它来计算值,AWS 现在支持“Metric Math”。您可以使用它和网络输入/输出指标来估计每个实例的流量,或者您可以使用实例中的自定义指标。

如果不需要实时,您可以处理实例日志,将其推送到firehose或cloudwatch日志中并据此构建指标。

答案2

对于访问日志,应该可以启用 ALB 日志并对其进行分析。字段目标包含请求被路由到哪个实例的信息。

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

另一种找出实例类型最大请求量的方法是使用 Apache Jmeter 等工具设置负载测试,从 ALB 日志等工具构建一组请求,并在监控实例指标的同时针对单个实例运行这些请求。这样做时,请确保 TLS 的终止方式与生产设置中相同。TLS 可能会对请求数较高的测试结果产生重大影响。如果您在测试调用中使用 ALB/ELB,请注意,它们需要时间来加速或“预热”,否则请求可能会在那里被丢弃。

相关内容