Используйте put_metric_alarm
с Boto3.Я добавлю пример кода, когда у меня будет несколько минут, ниже приведен справочник по CLI.
ПРИМЕЧАНИЕ !!
Когда вы обновляете существующий сигнал тревоги, его состояние остается неизменным, но обновление полностью перезаписывает предыдущую конфигурацию тревоги.
Я проверял, что это то же самое действие при использовании инструментов командной строки.
До:
{
"AlarmName": "CPU_High",
"AlarmArn": "arn:aws:cloudwatch:us-east-1:<redacted>:alarm:CPU_High",
"AlarmDescription": "Check for High CPU usage",
"AlarmConfigurationUpdatedTimestamp": "2019-02-04T17:53:54.236Z",
"ActionsEnabled": true,
"OKActions": [],
"AlarmActions": [
"arn:aws:sns:us-east-1:<redacted>:<redacted>"
],
<deleted non-pertinent info>
}
Команда CLI:
aws cloudwatch put-metric-alarm --alarm-name "CPU_High" --metric-name "CPUUtilization" --period 300 --ok-actions "arn:aws:sns:us-east-1:<redacted>:<redacted>" --evaluation-periods 1 --threshold 99.0 --comparison-operator "GreaterThanOrEqualToThreshold" --namespace "AWS/EC2" --statistic "Average"
После:
{
"AlarmName": "CPU_High",
"AlarmArn": "arn:aws:cloudwatch:us-east-1:<redacted>:alarm:CPU_High",
"AlarmConfigurationUpdatedTimestamp": "2019-02-04T18:05:02.592Z",
"ActionsEnabled": true,
"OKActions": [
"arn:aws:sns:us-east-1:<redacted>:<redacted>"
],
"AlarmActions": [],
<deleted non-pertinent info>
}
Из службы поддержки AWS
Здравствуйте,
Благодарим Вас за обращение в службу поддержки Premium AWS.Меня зовут Сонал, и я буду помогать вам с делом.
Я понимаю, что вы хотели бы добавить действие OK к существующим аварийным сигналам, не изменяя ничего в конфигурации аварийных сигналов.Поскольку вам нужно добавить это действие ко всем вашим сигналам тревоги, вы ищете способ сделать этот пользовательский сценарий.
«PutMetricAlarm» - единственный API, используемый для создания и обновления сигналов тревоги.Обратите внимание, что при обновлении существующего сигнала тревоги с использованием API «PutMetricAlarm» обновление полностью перезаписывает предыдущую конфигурацию сигнала тревоги.Это означает, что вам нужно указать все параметры существующего сигнала тревоги вместе с параметрами, которые вы хотите изменить.
Таким образом, чтобы изменить существующие сигналы тревоги, ваш пользовательский сценарий должен будет сделать следующее: -> Получить список всех аварийных сигналов, которые будут обновлены.Вы можете использовать API «DescribeAlarms» 1 -> Вы можете проанализировать список аварийных сигналов, извлечь необходимые параметры -> Используйте вышеупомянутые параметры, чтобы сделать вызов API «PutMetricAlarm» [2] вместе сПараметр OKActions.
Обратите внимание, что предоставление фактического кода для развертывания этих решений для вашей конкретной среды выходит за рамки поддержки AWS, но, конечно, мы сможем помочь вам в процессе, если вы столкнетесьлюбые проблемы.
Ссылка:
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/cloudwatch.html