每次开始图像下载时,AWS Cloudwatch都会收到1的计数。我正在下载1,000个图像(在一组EC2实例上),并希望跟踪总进度。
我无法找到有关如何绘制指标累积总和的任何文档。 AWS Cloudwatch数学表达式看起来很有前景,但它们没有集成功能。
目前,我可以绘制已启动图像下载的总和,但仅限于句点,如下所示。理想情况下,我想绘制这个情节的积分:
答案 0 :(得分:4)
您可以使用 SUM()
函数获得当前范围内的累积总和,该函数在仅包含数字一 (1) 的原始范围内进行运算。请记住,您最终是在寻找单个数字,因此它不是一个图形,但您需要将单个值和重新转换为时间序列。
m1
定义为您的指标。这是您要使用 SUM()
的指标。e1
定义为 m1/m1
。这会产生一个每个值都等于 1 的时间序列。这将允许您将该 SUM 转换回时间序列。e2
定义为 SUM(m1) / e1
。实际上,对于原始时间序列中的每个数据点,m1
的累积总和除以 1。它将是图形上的一条水平线,该水平线上的每个点都是指标 m1
的累积总和。这是必需的,因为 Cloudwatch 只能在图表上绘制时间序列,而不能绘制单个值。m1
和 e1
不可见。你需要它们,但你不需要看到它们。Line
更改为 Number
,因为无论如何您只需要累积总和。不能直接使用 SUM()
的原因是它是单个值。通过除以包含全 1 的时间序列,整个图就是 SUM()
的结果。然后,将图表更改为数字有效地隐藏了所有数学并仅显示“最终结果”。
答案 1 :(得分:1)
你是对的。所有Amazon CloudWatch指标均为定义的时间段。
指标的最长期限为一天,因此不适合您希望延续一天的累积计数器。
您需要找到另一种存储计数的方法,例如 Amazon DynamoDB 表。通过UpdateItem使用原子计数器来增加计数。