AWS Cloud监视警报,使用多个指标触发自动扩展

Naw*_*ire 9 amazon-cloudwatch

我想创建一个云监视警报,它根据多个指标数据触发自动调节.由于Cloud Watch本身不支持这一点(如果我错了,请纠正我).我想知道如何克服这一点.

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

arb*_*002 7

您现在可以使用 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
Run Code Online (Sandbox Code Playgroud)

然后:

Avg. CPU Utilization % < 20  for 5 mins AND Avg Mem Utilization % < 30 for 5mins   ... (1)
Run Code Online (Sandbox Code Playgroud)

(m1 - 20) / ABS([m1 - 20]) + (m2 - 30) / ABS([m2 - 30]) < 0   ... (2)
Run Code Online (Sandbox Code Playgroud)

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


小智 5

是的。Cloudwatch警报只能在单个Cloudwatch指标上触发,因此您需要发布自己的“汇总”自定义指标,并根据自己的建议对其进行警报。

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

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