Создайте несколько сигналов тревоги Cloudwatch для Elastic Beanstalk с оповещениями по электронной почте SNS
Итак, я читал по всему интернету, пытаясь заставить мое работающее приложение Elastic Beanstalk прислать мне электронное письмо, когда показатель ухудшится.
Я знаю, что могу сделать это через консоль, но я хочу настраиваемый подход, который я могу использовать для нескольких развертываний автоматически.
У меня есть это до сих пор (СМ. РЕДАКТИРОВАТЬ):
Resources:
AWSCloudWatch:
Type: "AWS::CloudWatch::Alarm"
Properties:
ActionsEnabled: true
AlarmActions: ""
AlarmDescription: "Traffic spike app over threshold"
AlarmName: "APP CPU Over 70%"
ComparisonOperator: GreaterThanOrEqualToThreshold
EvaluationPeriods: 5
MetricName: CPUUtilization
Namespace: Environment Health
Period: 60
Statistic: Maximum
Threshold: 70
Unit: Percent
Как настроить несколько аварийных сигналов (монитор работоспособности среды, монитор ЦП, монитор задержки) и заставить их отправлять мне электронные письма?
РЕДАКТИРОВАТЬ: приведенный выше код создает сигнал тревоги, который не имеет ничего общего с ELB. Он не отображается на консоли и вместо этого создается в совершенно отдельной области.:(
1 ответ
В дополнение к сигналу тревоги вам необходимо дополнительно определить тему SNS, в которую событие направляется.
После этого вы можете определить подписки на электронную почту, которые будут получать эти сигналы Cloudwatch.
Вот пример шаблона CloudFormation для этого:
AWSTemplateFormatVersion: '2010-09-09'
Resources:
AlarmTopic:
Type: AWS::SNS::Topic
Alarm:
Type: AWS::CloudWatch::Alarm
Properties:
ActionsEnabled: true
AlarmActions:
- Ref: AlarmTopic
AlarmDescription: "Traffic spike app over threshold"
AlarmName: "APP CPU Over 70%"
ComparisonOperator: GreaterThanOrEqualToThreshold
EvaluationPeriods: 5
MetricName: CPUUtilization
Namespace: Environment Health
Period: 60
Statistic: Maximum
Threshold: 70
Unit: Percent
TopicSubscription:
Type: AWS::SNS::Subscription
Properties:
Endpoint: "email@example.com"
Protocol: Email
TopicArn:
Ref: AlarmTopic