У меня есть несколько ресурсов Arn под метрикой AWS / DDos Protection, и я пытаюсь создать аварийные сигналы, если порог достигнут. Если мне нужно создать аварийные сигналы для всех Арсеналов ресурсов каждой метрики Ddos из консоли Cloud Watch, я должен создать более 20 аварийных сигналов. Вместо этого я решил написать функцию Python. Это выглядит следующим образом:
import boto3
boto3.setup_default_session(profile_name='Enter Account name')
client = boto3.client('cloudwatch')
Aname = 'DDoS Alarm'
Mname = 'DoSDetected'
put_response = client.put_metric_alarm(
AlarmName= Aname,
AlarmDescription='*************', # Enter alarm description
ActionsEnabled=True,
#OKActions=[
#'*************',# Enter SNS topic ARN
#],
# AlarmActions=[
# '*************',# Enter SNS topic ARN
# ],
#InsufficientDataActions=[
# '*************',# Enter SNS topic ARN
#],
MetricName=Mname,
Namespace='AWS/DDoSProtection',
Statistic='Sum',
Dimensions=[
{
'Name': 'ResourceArn',
'Value': '{arn:aws:***********}'
},
],
Period=60,
EvaluationPeriods=1,
DatapointsToAlarm=1,
Threshold=1,
ComparisonOperator='GreaterThanOrEqualToThreshold',
TreatMissingData='notBreaching',
Percentilewithlowsamples='evaluate'
)
print(response)
Согласно приведенному выше сценарию, он найдет пространство имен AWS / DDoSProtection и будет отслеживать все метрики в разделе Resource Arn с именем (arn: aws: ***********). У меня более 20 метрик. Приведенный выше сценарий не создает сигналы тревоги для всех показателей в разделе "AWS / DDoSProtection> ResourceArn> arn: aws: ***********
Как создать сигнализацию для всех метрик ResourceARn в AWS / DDos?