【问题标题】:AWS CloudWatch metric math with a cumulative metric's value 30 minutes ago to show rate of change具有 30 分钟前累积指标值的 AWS CloudWatch 指标数学以显示变化率
【发布时间】:2018-10-23 14:39:52
【问题描述】:

我有一个 AWS CloudWatch 自定义指标,该指标表示随着时间的推移不断增加的累积值。我会将该指标添加到仪表板,但我还想显示该指标在过去 30 分钟内的变化率。理想情况下,我想要一个函数来返回 30 分钟前的指标值并从当前值中减去该值。 “Rate()”函数似乎没有帮助。

我可以使用未来 30 分钟的时间戳再次提交指标值,然后减去这两个指标,但我希望有一个使用指标数学的解决方案,并且不会强迫我提交另一个指标。我可以想到其他用例,我可能想用不同时间段的指标进行数学运算。 希望我只是在这里遗漏了一些东西!

【问题讨论】:

  • 您使用的是什么类型的仪表板?一个由 Amazon CloudWatch 生成,还是在其他软件上运行?
  • CloudWatch 仪表板。

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


【解决方案1】:

您可以使用一些算术来获得先前的值,然后您就可以根据需要计算变化的百分比。

你想要的值是:(value_now - value_before) / value_before

把它分成两部分:

  1. 获取value_now - value_before。这是值的绝对增量
  2. 获取value_before。这是最后一个数据点中指标的值。

假设您在 Cloudwatch 中的指标是 m

第 1 步:绝对增量

absolute_delta 可以通过以下方式获得:absolute_delta = RATE(m) * PERIOD(m)

第 2 步:上一个值

通过一些算法可以获得previous_value。鉴于绝对增量的定义:

absolute_delta = value_now - value_before

既然我们有value_now = mabsolute_delta,那么这就是反演方程的问题:

value_before = value_now - absolute_delta

最终方程

只需将所有内容组合在一起,您就有了最终指标:

change_percentage = 100 * absolute_delta / value_before

在 CloudWatch 术语中:

【讨论】:

    【解决方案2】:

    公制数学函数RATE() 计算每秒的变化率。

    返回指标的每秒变化率。这是通过最新数据点值与先前数据点值之间的差值除以两个值之间的时间差(以秒为单位)计算得出的。

    来自https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html

    因此,要获得您经期的变化率,您可以这样做:

    RATE(m1)*PERIOD(m1)
    

    并将仪表板的周期设置为所需的值。

    您的问题是您需要 30 分钟的时间,我认为您不能在 CloudWatch 仪表板上将 30 分钟设置为时间段。最接近的值是 15 分钟或 1 小时。

    【讨论】:

    • 就像我说的 RATE() 函数没有帮助。
    猜你喜欢
    • 1970-01-01
    • 2019-05-02
    • 1970-01-01
    • 1970-01-01
    • 2016-10-27
    • 1970-01-01
    • 2020-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多