10

我想创建一个基于多个指标数据触发自动缩放的云监视警报。由于 Cloud Watch 本身不支持此功能(如果我错了,请纠正我)。我想知道如何克服这一点。

我们是否可以从不同的指标(例如 CPUUtilization、NetworkIn、NetworkOut)中获取数据,然后使用 mon-put-data 创建自定义指标并输入这些数据以创建新的指标以触发自动缩放?

4

3 回答 3

6

是的.. Cloudwatch 警报只能在单个 Cloudwatch 指标上触发,因此您需要根据自己的建议发布自己的“聚合”自定义指标和警报。

这是一篇博客文章,描述了使用自定义指标来触发自动缩放。

http://www.thatsgeeky.com/2012/01/autoscaling-with-custom-metrics/

于 2013-02-19T12:35:12.967 回答
4

您现在可以使用 CloudWatch Metric Math。

指标数学使您能够查询多个 CloudWatch 指标并使用数学表达式基于这些指标创建新的时间序列。您可以在 CloudWatch 控制台中可视化生成的时间序列并将它们添加到仪表板。

有关此处提供的度量数学语法和函数的更多信息: https ://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax

但是,需要注意的是没有逻辑运算符,您必须使用算术函数才能退出。

为了帮助遇到问题的人,发布一个示例:假设您想在 CPUUtilization < 20% 和 MemoryUtilization < 30% 时触发警报。

m1 = Avg CPU Utilization % for 5mins
m2 = Avg Mem Utilization % for 5mins

然后:

Avg. CPU Utilization % < 20  for 5 mins AND Avg Mem Utilization % < 30 for 5mins   ... (1)

(m1 - 20) / ABS([m1 - 20]) + (m2 - 30) / ABS([m2 - 30]) < 0   ... (2)

因此,定义您的两个指标并构建一个指标查询,该查询类似于上面等式 (2) 的 LHS。将您的阈值设置为0并将比较运算符设置为LessThanThreshold

于 2019-09-14T02:35:47.883 回答
0

现在支持这个。您可以检查 https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html是否相同。

例如,您可以使用 (CPU Utilization>80) OR (MEMORY Consumed>55)

于 2020-06-11T16:01:29.567 回答