生成特定参数,以便在 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 Antwort
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
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen