【问题标题】:How can I subscribe an alarm to a notification or SNS topic using CDK?如何使用 CDK 订阅通知或 SNS 主题的警报?
【发布时间】:2021-03-14 15:05:58
【问题描述】:

我知道如何使用 AWS CDK 创建警报,但我不知道如何向该警报添加通知。我该怎么做?

这是我的闹钟代码:

/**
 * Alarm for CPU above 75%
 */
const metric = cluster.metricCPUUtilization();
new cloudwatch.Alarm(this, `CPU above 75% alarm` , {
  metric: metric,
  threshold: 75,
  evaluationPeriods: 3,
  datapointsToAlarm: 2,
});

这是它在控制台中的样子:

【问题讨论】:

    标签: typescript amazon-cloudwatch aws-cdk


    【解决方案1】:

    您需要的是一个 SNS 主题和一个订阅。

    首先导入需要的包:

    import * as sns from "@aws-cdk/aws-sns";
    import * as subscriptions from "@aws-cdk/aws-sns-subscriptions";
    

    然后创建一个带有电子邮件订阅的主题:

    const topic = new sns.Topic(scope, 'Alarm topic', {
      displayName: envSpecificName(props.displayName)
    });
    
    topic.addSubscription(
      new subscriptions.EmailSubscription(email)
    )
    

    最后将topic注册为报警动作:

    import * as actions from "@aws-cdk/aws-cloudwatch-actions";
    
    ...
    
    
    const metric = cluster.metricCPUUtilization();
    const alarm = new cloudwatch.Alarm(this, `CPU above 75% alarm` , {
      metric: metric,
    });
    
    alarm.addAlarmAction(new actions.SnsAction(topic));
    

    你可以找到more examples in documentation

    【讨论】:

      猜你喜欢
      • 2021-06-24
      • 1970-01-01
      • 1970-01-01
      • 2015-09-26
      • 2019-03-17
      • 1970-01-01
      • 1970-01-01
      • 2021-01-11
      • 2021-12-29
      相关资源
      最近更新 更多