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 监控活动连接的主要内容,如果未能解决你的问题,请参考以下文章
如何将定制的ec2 监控报表放到 aws cloudwatch 上
AWS 监控与报警 aws CloudWatch 自动恢复硬件故障实例 Auto Recover