CloudWatch Alarm via PowerShell - issue with InstanceName



我想在实例启动时自动创建 CloudWatch 警报(通过 AutoScaling、CLI 或其他方式(。

我的实例正在运行Windows,因此我在执行PowerShell脚本的任务计划程序中创建了任务。

此脚本使用 Write-CWMetricAlarm cmdlet 创建 CloudWatch 警报 - http://prntscr.com/e6xptj

它适用于自定义指标,如 Windows/默认 ,但对于 AWS/EC2 实例名称也是必需的 - http://prntscr.com/e6xq18

但是实例名称没有维度 - http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ec2-metricscollected.html

.. 以及没有合适的参数用于 Write-CWMetricAlarm Cmdlet - http://docs.aws.amazon.com/powershell/latest/reference/Index.html

那么关于如何解决这个问题的任何想法?

提前感谢!

实例名称实际上只是标签(带有键"名称"(,控制台对它们进行了特殊处理,使它们显示为第一类项目。它们也不需要是唯一的,因此使用"名称"不会使 CloudWatch 区分不同的实例,从而从警报的角度来看使事情变得混乱。

因此,我认为您需要使用实例 id 值。在您的脚本中,我注意到您正在使用 Invoke-Restmethod 来获取它 - 您可能有兴趣知道您也可以使用 cmdlet 获取此值:

Get-EC2InstanceMetadata -Category InstanceId

最新更新