Могу ли я использовать boto, чтобы добавить «ok_action» к существующему будильнику cloudwatch без создания нового будильника? - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть 700 предупреждений CloudWatch, которые мои пользователи создали без действий в «OKActions», что означает, что они не разрешаются самостоятельно.

Они уже в prod, поэтому я не решаюсь удалить \ переместить \ и т.д..

В консоли AWS я могу просто добавить новое действие.Однако я не могу найти такое действие в документах для boto :

can_paginate()
delete_alarms()
delete_dashboards()
describe_alarm_history()
describe_alarms()
describe_alarms_for_metric()
disable_alarm_actions()
enable_alarm_actions()
generate_presigned_url()
get_dashboard()
get_metric_data()
get_metric_statistics()
get_metric_widget_image()
get_paginator()
get_waiter()
list_dashboards()
list_metrics()
put_dashboard()
put_metric_alarm()
put_metric_data()
set_alarm_state()

Могу ли я использовать boto, чтобы добавить "ok_action" к существующему будильнику cloudwatch без создания нового будильника?

AWS cli?Какие-то другие средства автоматизации?

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

Ответ Amazon:

tl; dr: Нет хорошего способа сделать это.

Здравствуйте,

Благодарим Вас за обращение в AWS PremiumСлужба поддержки.Меня зовут Сонал, и я буду помогать вам с делом.

Я понимаю, что вы хотели бы добавить действие OK к существующим аварийным сигналам, не изменяя ничего в конфигурации аварийных сигналов.Поскольку вам нужно добавить это действие ко всем вашим сигналам тревоги, вы ищете способ сделать этот пользовательский сценарий.

«PutMetricAlarm» - единственный API, используемый как для создания, так и для обновления тревоги.Обратите внимание, что при обновлении существующего сигнала тревоги с использованием API «PutMetricAlarm» обновление полностью перезаписывает предыдущую конфигурацию сигнала тревоги.Это означает, что вы должны указать все параметры существующего аварийного сигнала вместе с параметрами, которые вы хотите изменить.

Таким образом, чтобы изменить существующие аварийные сигналы, ваш пользовательский сценарий должен будет сделать следующее: -> Получить список всех аварийных сигналов, которые будут обновлены.Вы можете использовать API «DescribeAlarms» [1] -> Вы можете анализировать список аварийных сигналов, извлекать необходимые параметры -> Используйте вышеупомянутые параметры для вызова API «PutMetricAlarm» [2] вместе с параметром OKActions.

Обратите внимание, что предоставление фактического кода для развертывания этих решений для конкретной среды выходит за рамки поддержки AWS, но, конечно, мы сможем помочь вам в этом процессе, если у вас возникнут какие-либо проблемы.

0 голосов
/ 04 февраля 2019

Используйте 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

...