我在 ELB 日志中发现了一些奇怪的条目,我无法真正解释。它们都看起来像这样(解析为 JSON):
{
"backend": "-",
"backend_processing_time": "-1",
"backend_status_code": 0,
"client_ip": "XXX.XXX.XXX.XXX",
"client_port": "52084",
"elb": "ELB1-PROD",
"elb_status_code": 504,
"http_method": "POST",
"http_version": "HTTP/1.1",
"received_bytes": 16051,
"request_processing_time": "-1",
"request_uri": "https://example.com:443/example/",
"response_processing_time": "-1",
"sent_bytes": 0,
"ssl_cipher": "ECDHE-RSA-AES128-GCM-SHA256",
"ssl_protocol": "TLSv1.2",
"timestamp": "2015-10-29T04:41:47.251500Z",
"user_agent": "client/4.0"
}
例如"backend_processing_time": "-1"
或者"backend_status_code": 0
看起来真的很奇怪。
知道这意味着什么吗?我怀疑后端服务器超载了,但是当这些错误发生时,我们的负载并没有比平时更高,而且这些错误都是由同一个客户端 IP 触发的。
答案1
当 ELB 返回 504 网关超时时,表示负载均衡器关闭了连接,因为请求未在空闲超时期限内完成(根据文档)。
因此,ELB 未在空闲超时限制内收到响应,导致连接被终止,并向客户端返回 504 响应。考虑到后端请求从未完成,因此 是 和 是 实际上是有道理的。ELBbackend_status_code
无法回答0
它不知道的事情!backend_processing_time
-1