我想创建一个云观察警报,它会根据多个指标数据触发自动调节。由于Cloud Watch本身不支持此功能(如果我错了,请纠正我)。我想知道如何克服这一点。
我们可以从不同的指标中获取数据,例如CPUUtilization,NetworkIn,NetworkOut,然后使用mon-put-data创建自定义指标,并输入这些数据以创建一个新指标,根据该指标触发自动缩放?
答案 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)