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

时间:2013-02-19 10:49:43

标签: amazon-cloudwatch

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

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

3 个答案:

答案 0 :(得分:5)

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

以下是一篇描述使用自定义指标触发自动扩展的博文。

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

答案 1 :(得分:1)

您现在可以使用CloudWatch Metric Math。

  

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

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

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

为帮助碰到这里的人,请举一个例子: 假设您要在CPUUtilization <20%和MemoryUtilization <30%时触发警报。

*[Branch]    *[Barcode]
----------------------
  branch1  |  25122225
  branch2  |  25122225
  branch3  |  25122225
  branch4  |  25122225
  branch8  |  25122225

now how to display all branches even if no serial is available, like this

*[Branch]    *[Barcode]
----------------------
  branch1  |  25122225
  branch2  |  25122225
  branch3  |  25122225
  branch4  |  25122225
  branch5  |  Null
  branch6  |  Null
  branch7  |  Null
  branch8  |  25122225
  branch9  |  Null
  branch10 |  Null

然后:

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)

因此,定义两个指标并构建一个指标查询,该查询类似于上面的公式(2)的LHS。将您的阈值设置为(m1 - 20) / ABS([m1 - 20]) + (m2 - 30) / ABS([m2 - 30]) < 0 ... (2) ,并将比较运算符设置为0

答案 2 :(得分:0)

现在支持。你可以检查一下 https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html相同。

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