生成特定参数,以便在 CloudWatch Alarm 的 SNS 电子邮件通知中显示日志组的参数

0

【以下的问题经过翻译处理】 我可以创建一个CloudWatch警报,该警报会从日志组中的"ERROR"指标过滤器触发,但我需要向CloudWatch警报生成的电子邮件通知中添加特定参数。我已经创建了一个SNS主题和SNS订阅以生成通知,但我无法弄清楚如何添加以下参数到电子邮件中。我尝试使用PowerShell命令来实现这一点,但收到了"Delivery protocol [email] does not support raw message delivery"的错误。经过研究,似乎我需要创建一个Lambda函数来实现这一点。我正在寻求关于如何构建Lambda函数的指导,以获取日志组中指标过滤器的原始数据,并在ERROR CloudWatch警报触发时将该信息发送到电子邮件中。

    "@@t" - time
    "SourceContext" - the context of the occurred error
    "MachineName" - server name
    "@log" - the log group name

1 回答
0

【以下的回答经过翻译处理】 目前,您无法直接在CloudWatch警报通知中嵌入您正在寻找的数据。然而,正如您发现的,您可以通过使用Lambda等形式的自定义代码来丰富通知。CloudWatch警报支持SNS作为目标,连接到Lambda函数非常简单。

您可以查看 https://github.com/awslabs/cloudwatch-logs-customize-alarms,了解如何使用日志事件详细信息来丰富警报的示例。由于每个指标过滤器都唯一对应一个日志组,您可以利用警报的"Description"字段来传达日志组的信息。描述会显示在通知电子邮件中。

以下是解释端到端流程的博客文章链接:https://aws.amazon.com/blogs/mt/customize-amazon-cloudwatch-alarm-notifications-to-your-local-time-zone-part-1/

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则