在AWS Cloudwatch仪表板上准确绘制ALB RequestPerCountPerTarget

时间:2018-10-13 23:53:12

标签: amazon-web-services amazon-cloudwatch amazon-cloudwatch-metrics

AWS ALB目标组的度量标准“ RequestCountPerTarget”乍一看似乎很有趣。但是,该指标似乎只能准确显示在该指标的完整详细视图上,并且在与CloudWatch仪表板上的其他指标一起出现时,它就完全被搞砸了。

当我配置指标时,我有这个指标,这对我来说是最有用的,即。一台服务器每分钟收到的请求数

enter image description here

使用此图,我可以快速确定我的应用程序是否过载:从服务器的平均响应速度,我可以推断出一台服务器可以产生的最大RPM(每分钟请求数)(恰好在大约在我的情况下,每台服务器200 RPM)

但是,在CloudWatch仪表板上,此指标看起来像这样

enter image description here

如果我的理解是正确的,则AWS CloudWatch仪表板会使用插值以避免请求多个数据点,但是在这种情况下,插值似乎在做的事情不是使平均值在仪表板期间(“屏幕截图1周”中的“ RequestCountPerTarget在1分钟内”),但在仪表板期间“ <1min期间RequestCountPerTarget”的总和,这完全破坏了指标的用途:不在乎1周内收到的请求总数(因为这些请求在时间范围内平均分配,这对我的服务器基本上没有任何影响),但我确实关心1中收到的平均最大请求数1周内的分钟数(因为这将反映实际的请求峰值)。

有没有解决的办法?

1 个答案:

答案 0 :(得分:1)

在第一张图中,您将时间段设置为1分钟,CloudWatch尊重这一点。

当您将该图形放置在仪表板上并更改仪表板的时间范围时,CloudWatch将调整周期以使仪表板加载更快。

您可以通过以下方式更改该行为:打开仪表板顶部的Actions -> Period,然后将值从Auto更改为Do not override。这将使仪表板尊重您在图形上设置的时间段。

要使更改永久生效,请转到Actions -> View/edit source并将"periodOverride": "inherit"放在小部件列表上方(确保保存仪表板,不会自动保存...)。

{
    "periodOverride": "inherit",
    "widgets": ...
}

有关更多信息: