自定义来自 AWS Cloudwatch 的警报消息

Customize alarm message from AWS Cloudwatch

我从 AWS Cloudwatch 收到一些警报通知到我的电子邮件,但它们通常以 JSON 格式发送,问题是我公司的非技术人员收到了其中一些电子邮件。我想知道是否可以自定义 AWS SNS 发送的电子邮件,因为我看不到有关如何自定义它的任何选项。

我认为您无法更改通过电子邮件发送的来自 SNS 的通知。

如果您真的需要自定义它们,您应该通过 SES(简单电子邮件服务)查看 SNS 通知

如果您使用 Cloudwatch/Event/Rules,那么您可以使用 "Input transfomer" 自定义电子邮件的内容,然后 SNS 将发送该内容而不是 JSON。

我正在使用此设置在用户登录 AWS 控制台时收到通知。 在我的例子中,"Event Source" 是 "AWS Console Sign-in",但您可以尝试使用 Cloudwatch,看看是否能满足您的需求。

请看截图,希望对您有所帮助。

https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatch-Events-Input-Transformer-Tutorial.html

https://forums.aws.amazon.com/thread.jspa?messageID=820808

您从 SNS 主题触发了一个 lambda 函数,获取事件并通过 SNS 或 SES 发送它。 SES 支持发送 HTML 邮件,SNS 只支持纯文本邮件。

我通常采用以下方法: 警报 -> SNS -> Lambda -> SES (HTML)

received by non-technical people in my company

我会使用带有按钮和漂亮文本的基本 HTML 模板:-)

我为此创建了一个 post 和一个 GitHub 存储库:

https://medium.com/@sandro_volpicella/how-to-customise-cloudwatch-alarm-notifications-with-lambda-ses-html-and-cdk-f0094b07fed6

https://github.com/AlessandroVol23/cloudwatch-custom-email-cdk