我应该将哪些指标用于警报 HTTPCode_Target_5XX_Count 或 HTTPCode_ELB_5XX_Count?

问题描述 投票:0回答:3

我有一个带有单个目标组的 ALB(这是一个 istio-ingress 网关),我想捕获路由到该目标组的任何请求都返回 5XX 代码的场景。

根据文档:

HTTPCode_ELB_5XX_Count:

源自负载均衡器的 HTTP 5XX 服务器错误代码的数量。此计数不包括目标生成的任何响应代码。

HTTPCode_Target_5XX_Count:

目标生成的 HTTP 响应代码的数量。这不包括负载均衡器生成的任何响应代码。

我认为,既然这是一个单一的目标组,它们应该是相同的,但显然它们不是,因为在特定的时间范围内,我看到了一些 HTTP 4XX 的数据,但没有看到 ELB 4XX 的数据。有什么区别?我应该使用哪一个?

amazon-web-services aws-application-load-balancer
3个回答
10
投票

我认为图表有助于解释差异。用户向您的后端发送请求后,您的后端将执行以下操作将响应发送回用户:

Targets (e.g. EC2) -(1)-> ALB -(2)-> user
  1. HTTPCode_Target_5XX_Count
    测量仅由目标生成的 5XX 响应的数量

  2. HTTPCode_ELB_5XX_Count

     测量 5XX 响应的数量 
    仅源自负载均衡器

注意:

HTTPCode_ELB_5XX_Count

 不包括目标生成的任何响应代码,并且 
HTTPCode_Target_5XX_Count
 不包括源自负载均衡器的响应代码。 [
来源]

注意:由于 ALB 将错误转发给客户端,因此 Target_5XX

 始终包含在 
ELB_5XX
 中。您可以在
ELB_5XX
(不是
Target_5XX
此处)找到更多详细信息。

感谢 Omar Kacimi 的更正



5
投票
我认为这取决于您想要得到的结果。因为这些错误适用于不同的细分市场。

第一个选项 (

HTTPCode_ELB_5XX_Count

) 返回当您触摸 ELB 本身时产生的错误。当由于某种原因无法将您的流量重定向到目标组时。我相信这意味着 AWS 问题或配置问题。

在第二种情况下,它会从目标组中的服务返回错误。

我相信这两部作品都值得一看。但我想你会更关心第二种5xx错误。

© www.soinside.com 2019 - 2024. All rights reserved.