You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用CDK为AWS Glue作业的CloudWatch告警配置SNS通知

给AWS Glue作业告警配置SNS邮件通知

以下是修改后的完整代码,已添加SNS邮件通知配置:

import { aws_cloudwatch as cloudwatch, aws_events as events, aws_sns as sns, aws_cloudwatch_actions as cw_actions } from 'aws-cdk-lib';
import { Rule } from 'aws-cdk-lib/aws_events';

// 1. 创建SNS主题,作为告警通知的消息通道
const glueJobAlarmTopic = new sns.Topic(scope, '{DVRD replication} GlueJobFailureAlarmTopic', {
  displayName: 'Glue DVRD复制作业失败告警主题'
});

// 2. 给主题添加邮件订阅,替换成实际接收通知的邮箱地址
glueJobAlarmTopic.addSubscription(new sns.Subscription(scope, '{DVRD replication} EmailSubscription', {
  endpoint: 'your-alert-email@example.com',
  protocol: sns.SubscriptionProtocol.EMAIL
}));

// 监控指定Glue作业的状态变更
const jobFailedRule = new Rule(scope, '{DVRD replication} JobFailureRule', {
  eventPattern: {
    source: ['aws.glue'],
    detailType: ['Glue Job State Change'],
    detail: {
      state: ['FAILED', 'TIMEOUT', 'ERROR'],
      jobName: ['DVRD replication'], // 修正:此处需用字符串格式
    },
  },
});

// 定义CloudWatch指标
const numFailedJobsMetric = new cloudwatch.Metric({
  namespace: 'AWS/Events',
  metricName: 'TriggeredRules',
  statistic: 'Sum',
  dimensionsMap: {
   RuleName: jobFailedRule.ruleName,
  },
});

// 创建CloudWatch告警
const numFailedJobsAlarm = new cloudwatch.Alarm(scope, '{DVRD replication} numFailedJobsAlarm', {
  metric: numFailedJobsMetric,
  threshold: 1,
  evaluationPeriods: 1,
});

// 3. 将SNS主题绑定到告警,触发告警时自动发送邮件通知
numFailedJobsAlarm.addAlarmAction(new cw_actions.SnsAction(glueJobAlarmTopic));

关键操作说明:

  • 导入必要模块:新增aws_sns(SNS服务)和aws_cloudwatch_actions(CloudWatch告警动作)模块,支撑主题创建、订阅配置和告警关联。
  • 创建SNS主题:作为告警消息的转发载体,设置显示名称方便在AWS控制台识别。
  • 配置邮件订阅:指定接收告警的邮箱,用户需登录该邮箱完成订阅确认,才能正常接收通知。
  • 关联告警与主题:通过addAlarmAction方法将SNS主题与告警绑定,当告警触发时,CloudWatch会自动向主题推送消息,再由主题转发给订阅邮箱。

注意事项:

  1. 原代码中jobName: [DVRD replication]存在语法错误,需改为字符串数组格式['DVRD replication']。
  2. 务必将your-alert-email@example.com替换为实际接收告警的邮箱地址。

内容的提问来源于stack exchange,提问作者Marcus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 12:09:51