2017-02-10 9 views
0

Я хочу автоматически создавать предупреждения CloudWatch при запуске экземпляра (через AutoScaling, CLI или что-то еще).CloudWatch Alarm через PowerShell - проблема с InstanceName

Мои экземпляры работают под управлением Windows, поэтому я создал задачу в планировщике задач, которая выполняет сценарий PowerShell.

Этот скрипт использует Write-CWMetricAlarm используется для создания CloudWatch Сигнализации - http://prntscr.com/e6xptj

Это хорошо работает для пользовательских метрик как Windows/по умолчанию, но для AWS/EC2 InstanceName требуется, а также - http://prntscr.com/e6xq18

Но есть нет измерения для InstanceName - http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ec2-metricscollected.html

.. а также нет подходящего параметра для записи-CWMetricAlarm командлет - http://docs.aws.amazon.com/powershell/latest/reference/Index.html

Итак, любые идеи о том, как решить эту проблему?

Заранее благодарен!

ответ

1

Имена экземпляров на самом деле являются только тегами (с ключом «Имя»), и консоль дает им особое обращение, чтобы они выглядели как первоклассные предметы. Они также не обязательно должны быть уникальными, поэтому использование «имени» не позволит CloudWatch различать разные экземпляры, делая вещи запутанными с точки зрения тревоги.

Поэтому я считаю, что вам нужно использовать значение идентификатора экземпляра. В вашем скрипте я замечаю, что вы используете Invoke-Restmethod, чтобы получить его - вы можете быть заинтересованы, чтобы знать, вы также можете получить это значение, используя команду:

Get-EC2InstanceMetadata -Category InstanceId 
0

я в настоящее время с помощью totalcloud, который имеет функциональные возможности, где возникающие тревоги на основе ИИ автоматически создают аварийные сигналы для ресурсов, которые создаются динамически.

Смежные вопросы