我想在实例启动时自动创建CloudWatch警报(通过AutoScaling,CLI或其他)。
我的实例正在运行Windows,因此我在Task Scheduler中创建了执行PowerShell脚本的任务。
此脚本使用Write-CWMetricAlarm cmdlet创建CloudWatch警报 - http://prntscr.com/e6xptj
它适用于自定义指标,如Windows / Default,但对于AWS / EC2 InstanceName也是必需的 - http://prntscr.com/e6xq18
但InstanceName没有维度 - http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ec2-metricscollected.html
..以及Write-CWMetricAlarm Cmdlet没有合适的参数 - http://docs.aws.amazon.com/powershell/latest/reference/Index.html
关于如何解决这个问题的任何想法?
提前致谢!
答案 0 :(得分:1)
实例名称实际上只是标签(带有“名称”键),控制台为它们提供了特殊处理,使它们显示为一流的项目。它们也不需要是唯一的,因此使用“名称”不会使CloudWatch能够区分不同的实例,从警报的角度来看让事情变得混乱。
因此我认为你需要使用实例id值。在您的脚本中,我注意到您正在使用Invoke-Restmethod来获取它 - 您可能有兴趣知道您也可以使用cmdlet获取此值:
Get-EC2InstanceMetadata -Category InstanceId