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

Amazon web services 在AWS Cloudwatch仪表板上准确绘制ALB RequestPerCountPerTarget,amazon-web-services,amazon-cloudwatch,amazon-cloudwatch-metrics,Amazon Web Services,Amazon Cloudwatch,Amazon Cloudwatch Metrics,AWS ALB目标群体有一个指标“RequestCountPerTarget”,乍一看非常有趣。然而,该指标似乎只在指标的完整详细视图上准确显示,当它与其他指标一起出现在CloudWatch仪表板上时,它就完全被扭曲了 当我配置指标时,我有一个对我最有用的正确指标,即单个服务器每分钟接收的请求数 使用此图,我可以快速确定我的应用程序是否过载:从我的服务器的平均响应率,我可以推断出单个服务器可以容纳的最大RPM(每分钟请求数)(在我的情况下,每台服务器大约200 RPM) 然而,在CloudWa

AWS ALB目标群体有一个指标“RequestCountPerTarget”,乍一看非常有趣。然而,该指标似乎只在指标的完整详细视图上准确显示,当它与其他指标一起出现在CloudWatch仪表板上时,它就完全被扭曲了

当我配置指标时,我有一个对我最有用的正确指标,即单个服务器每分钟接收的请求数

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

然而,在CloudWatch仪表板上,该指标如下所示

如果我的理解是正确的,AWS CloudWatch仪表板使用插值以避免请求许多数据点,但在这种情况下,插值似乎不是在仪表板期间(屏幕截图中为1周)对“RequestCountPerTarget in 1min”进行平均值,但是在仪表板期间的“RequestCountPerTarget during 1min”(请求计数目标在1min内)总和完全破坏了度量的目的:我不关心1周内收到的请求总数(因为如果这些请求在时间范围内均匀分布,这对我的服务器基本上没有意义),但我关心的是一周内1分钟内收到的请求的平均最大数量(因为这将反映实际的请求峰值)


有办法解决这个问题吗?

在您的第一个图表中,您将时段设置为1分钟,CloudWatch尊重这一点

当您将该图表放在仪表板上并更改仪表板的时间范围时,CloudWatch将调整时段以加快仪表板的加载速度

打开仪表板后,您可以通过转到仪表板顶部的
操作->时段
来更改该行为,并将值从
自动
更改为
不覆盖
。这将使仪表板尊重您在图表上设置的时段

要使更改永久化,请转到
Actions->View/edit source
,并将
“periodOverride”:“inherit”
置于小部件列表上方(确保保存仪表板,不会自动保存…)

有关更多信息:

  • CloudWatch仪表板主体结构:
  • CloudWatch概念(周期):

谢谢!这使得使用此继承模式更容易发现异常。您知道是否可以在每个度量的基础上指定此
periodOverride
?有一些图表表明,根据cloudwatch仪表盘调整时段是有意义的,其他的则没有。另外,您知道这是否对thr定价有很大影响吗?例如,由于我强制周期要低得多(每分钟请求数),如果我以分钟分辨率查看过去3个月的数据,账单是否会成倍地昂贵?我不认为这可以应用于每个度量。通过仪表板请求的度量数据不会向您收费,只是通过API。即使在那里,您也将按照所请求的度量和所做的请求计费,而不是按照所请求的数据点计费。
{
    "periodOverride": "inherit",
    "widgets": ...
}