AWS Cloudwatch ELB 监控活动连接

Posted

技术标签:

【中文标题】AWS Cloudwatch ELB 监控活动连接【英文标题】:AWS Cloudwatch ELB monitoring active connections 【发布时间】:2021-07-02 18:21:52 【问题描述】:

我想监控我的 ApplicationELB 在 5 分钟内管理的最大活动连接数。

ApplicationELB 发布一个名为 ActiveConnectionCount 的指标。该文档将其部分描述为:

从客户端到负载均衡器以及从负载均衡器到目标的活跃并发 TCP 连接总数。

并进一步说明:

最有用的统计数据是 Sum。

我相信Sum 将汇总该时间范围内报告的所有活动连接。例如。假设 ELB 正在维护 10 个连接,并且它每秒报告一次这个数字,那么总和将在 5 分钟内为 3000。这不是我想要的。此外,当我在 5 分钟内使用 SUM 时,我得到了 20k 左右——远远超过最多几百个的实际并发连接数。

如果我使用 Maximum 聚合,则 AWS 报告的数字为零 (!?)。

如果我使用Average 聚合,那么这个数字似乎是合理的(范围从 80 到 200),但也非常不准确。也就是说,它与新连接和响应时间几乎成反比。也就是说,在响应时间较短且新连接数较低的一天中,平均活跃连接数较高。

所以,我想,这是我的问题:

(1) 如何查看ELB和客户端/应用服务器之间的最大并发连接数? (理想情况下,我可以将这两者分开,但看起来 ELB 不会这样做)。

不太重要,但我很好奇:

(2) 为什么 MAXIMUM 产生 0,而 AVERAGE 产生 80-200?

(3) 为什么文档说应该使用 SUM?

感谢您的帮助/见解!

【问题讨论】:

【参考方案1】:

如何查看最大并发连接数 ELB和客户端/应用服务器之间? (理想情况下,我可以将这些分开 两个,但它看起来不像 ELB 那样做)。

为什么 MAXIMUM 产生零,而 AVERAGE 产生 80-200?

正如您所说,ELB 不会那样做。从指标中,您还可以看到称为“SampleCount”的内容,它是在一段时间内采集的样本数,默认为 1 分钟。如果我们能够以某种方式访问​​这些样本中的计数,我们可以获得最小和最大样本。无论出于何种原因,它当前已损坏或未实现,并且最小值/最大值显示为 0。因此,至少在我看来,最有用的指标是取(计数的总和)除以 SampleCount 的平均值。

为什么文档说应该使用 SUM?

问得好,因为如果你仔细想想,它没有多大意义,也没有给你太多信息,因为它只是所有样本中计数的总和。

【讨论】:

以上是关于AWS Cloudwatch ELB 监控活动连接的主要内容,如果未能解决你的问题,请参考以下文章

AWS Cloudwatch 上的警报设置

如何将定制的ec2 监控报表放到 aws cloudwatch 上

AWS 监控与报警 aws CloudWatch 自动恢复硬件故障实例 Auto Recover

grafana 设置 cloudwatch 监控 aws efs

AWS CloudWatch Agent 的配置和使用

实例关闭时触发 AWS Cloudwatch 监控警报