本文介绍了AWS CloudWatch指标数学模型和30分钟前的累积指标值,以显示变化率的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个AWS CloudWatch自定义指标,表示不断增加加班的累积值。我会将该指标添加到仪表板,但我还希望显示该指标在过去30分钟内的更改率。理想情况下,我希望有一个函数返回30分钟前的度量值,然后从当前值中减去该值。"rate()"函数似乎没有帮助。
我可以使用30分钟后的时间戳第二次提交指标值,然后减去这两个指标,但我希望有一种使用指标数学并且不会强迫我提交另一个指标的解决方案。我可以想到其他用例,在这些用例中,我可能想要对不同时间段的指标进行计算。希望我只是错过了一些东西!
推荐答案
您可以使用某种算法来获取上一个值,然后您就可以根据需要计算更改百分比。
您需要的值是:(value_now - value_before) / value_before
将其分为两部分:
- 获取
value_now - value_before
。这是值的绝对增量。 - 获取
value_before
。这是最后一个数据点中的度量值。
假设您在Cloudwatch中的指标为m
。
第1步:绝对增量
absolute_delta
:absolute_delta = RATE(m) * PERIOD(m)
。
第2步:上一个值
通过一些算术运算,可以得到previous_value
。给定绝对增量的定义:absolute_delta = value_now - value_before
既然我们有value_now = m
和absolute_delta
,那么这就是倒置等式的问题:
value_before = value_now - absolute_delta
最终公式
只需将所有东西放在一起,您就有了最终的指标:
change_percentage = 100 * absolute_delta / value_before
在CloudWatch术语中:
这篇关于AWS CloudWatch指标数学模型和30分钟前的累积指标值,以显示变化率的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!