Создайте несколько сигналов тревоги 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
Другие вопросы по тегам