in infra/ecs-service/construct/ecs-monitor-const.ts [93:113]
private createMetricAlarm(baseName: string, metric: cloudwatch.Metric): cloudwatch.Alarm {
const alarmTopic = new sns.Topic(this, `${baseName}-Alarm-Topic`, {
displayName: `${this.props.stackName}-${baseName}-Alarm-Topic`,
topicName: `${this.props.stackName}-${baseName}-Alarm-Topic`
});
const emailList: string[] = this.props.subscriptionEmails;
emailList.forEach(email => alarmTopic.addSubscription(new subscriptions.EmailSubscription(email)));
const period = 3;
const alarm = metric.createAlarm(this, 'RequestCountAlarm', {
alarmName: `${this.props.stackName}-${baseName}-Alarm`,
threshold: this.props.alarmThreshold,
evaluationPeriods: period,
actionsEnabled: true,
alarmDescription: `This alarm occurs when request-count is over ${this.props.alarmThreshold} for ${period} minutes.`
})
alarm.addAlarmAction(new cw_actions.SnsAction(alarmTopic));
return alarm;
}