【问题标题】:ELB log interpretationELB日志解读
【发布时间】:2019-04-14 15:10:57
【问题描述】:

我一直在尝试解决网关超时错误 (504) 504 Gateway Timeout ELB 当我打开 AWS ELB 日志时,我得到了这个超时请求。

2018-11-09T22:32:23.016245Z bvt-AppServerLB-POI9R2HYQG67M 10.90.6.224:63629 - -1 -1 -1 504 0 1321 0 "POST https://xxxx.xxxxxxx.com:443/exec/scenario HTTP/1.1" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2

问题是

  1. 我们能否从这些日志条目中判断是服务器超时还是客户端在连接到 ELB 时超时???。我了解 ELB 维护两个连接,一个连接到 ec2 实例(服务器),另一个连接到客户端。

  2. 日志中的那些 -1 是什么意思?

请帮忙,因为这将帮助我缩小问题范围。

谢谢。

【问题讨论】:

    标签: amazon-web-services amazon-elb


    【解决方案1】:

    TL;DR 从您发布的日志中,可能是注册到负载均衡器的实例响应速度不够快并且触发了 ELB 空闲超时,或者实例在空闲超时之前关闭了连接。

    Raise the idle timeout 在 ELB 上看看能不能解决这个问题。

    第一个-对应backend:port

    如果负载均衡器无法将请求发送到已注册的实例,或者如果实例在发送响应之前关闭了连接,则此值设置为 -。 这个值也可以设置为 - 如果注册的实例在空闲超时之前没有响应。

    日志中的三个-1分别对应request_processing_time, backend_processing_time, and response_processing_time

    request_processing_time

    如果负载均衡器无法将请求分派到已注册的实例,则此值设置为 -1。如果注册的实例在空闲超时之前关闭连接或客户端发送格式错误的请求,则可能会发生这种情况。此外,对于 TCP 侦听器,如果客户端与负载均衡器建立连接但未发送任何数据,则可能会发生这种情况。 如果注册的实例在空闲超时之前没有响应,这个值也可以设置为-1。

    后端处理时间

    如果负载均衡器无法将请求分派到已注册的实例,则此值设置为 -1。如果注册的实例在空闲超时之前关闭连接或客户端发送格式错误的请求,则可能会发生这种情况。 如果注册的实例在空闲超时之前没有响应,这个值也可以设置为-1。

    response_processing_time

    如果负载均衡器无法将请求分派到已注册的实例,则此值设置为 -1。如果注册的实例在空闲超时之前关闭连接或客户端发送格式错误的请求,则可能会发生这种情况。 如果注册的实例在空闲超时之前没有响应,这个值也可以设置为-1。

    有关详细信息,请参阅下面的链接。

    参考文献

    https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/access-log-collection.html https://aws.amazon.com/blogs/aws/elb-idle-timeout-control/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-26
      • 2019-09-08
      • 1970-01-01
      • 2017-10-07
      • 2017-03-29
      • 1970-01-01
      相关资源
      最近更新 更多