Amazon web services Cloudwatch日志警报-如何在电子邮件通知中包含错误/异常/堆栈跟踪数据

Amazon web services Cloudwatch日志警报-如何在电子邮件通知中包含错误/异常/堆栈跟踪数据,amazon-web-services,amazon-cloudwatch,amazon-cloudwatchlogs,Amazon Web Services,Amazon Cloudwatch,Amazon Cloudwatchlogs,我刚刚在我的ec2实例上配置了Cloudwatch日志,到目前为止我非常喜欢它。我还为某些关键字设置了警报,如“错误”。虽然电子邮件警报似乎工作正常,但我想知道是否有办法对警报电子邮件进行微调,使其更简洁、信息更丰富。具体来说,我希望 清除警报电子邮件中的所有样板文本 包括有关触发警报的错误/异常的一些信息。这可能很简单,包括生成警报的log语句 现在,警报电子邮件看起来像 您收到此电子邮件是因为您的Amazon CloudWatch闹钟 美国东北弗吉尼亚州地区的“应用程序错误警报”已进入 报警

我刚刚在我的ec2实例上配置了Cloudwatch日志,到目前为止我非常喜欢它。我还为某些关键字设置了警报,如“错误”。虽然电子邮件警报似乎工作正常,但我想知道是否有办法对警报电子邮件进行微调,使其更简洁、信息更丰富。具体来说,我希望

  • 清除警报电子邮件中的所有样板文本

  • 包括有关触发警报的错误/异常的一些信息。这可能很简单,包括生成警报的log语句

  • 现在,警报电子邮件看起来像

    您收到此电子邮件是因为您的Amazon CloudWatch闹钟 美国东北弗吉尼亚州地区的“应用程序错误警报”已进入 报警状态,因为“超过阈值:1个数据点(1.0)更大 小于或等于阈值(1.0)。“于”2017年2月7日星期二 16:39:43 UTC”

    在AWS管理控制台中查看此警报:

    警报详情: -名称:应用程序错误警报 -描述:app.log中的错误 -状态更改:数据不足->报警 -状态更改原因:交叉阈值:1个数据点(1.0)大于或等于阈值(1.0)。 -时间戳:2017年2月7日星期二16:39:43 UTC -AWS帐户:

    阈值: -当度量值大于或等于阈值1.0并持续300秒时,报警处于报警状态

    监测指标: -MetricNamespace:LogMetrics -MetricName:错误 -尺寸: -时间:300秒 -统计数字:总和 -单位:未指定

    状态更改操作: -好: -警报:[arn:aws:sns:us-east-1::支持] -数据不足:

    我希望它像

    报警:应用程序错误报警

    关键词:“错误”

    原因:错误2017-02-07:31:47375[SimpleAsyncTaskExecutor-5] com.app.server.rest.Watcher:javax.net.ssl.SSLHandshakeException: 收到致命警报:握手失败


    它的短暂、甜蜜和即时告诉我,这是否是需要我立即关注的事情。如果不按照建议编写代码,是否可以做到这一点

    您可以使用提供的自定义Cloudwatch警报

    当你收到警报时,你需要足够的信息来决定是否 它是否需要立即关注。您还需要自定义 警报文本符合操作需要。CloudWatch日志自定义警报 是一个Lambda函数,有助于从CloudWatch读取日志 在警报期间记录日志,并通过SES发送自定义电子邮件


    这些软件包提供了使用Lambda SNS端点的功能,该端点可以根据您的操作要求自定义报警通知。

    您出现此问题是因为您配置了报警,并且报警是用于聚合数据,而不是用于特定日志记录。您可以将其配置为某些指标(带有错误关键字的日志记录数)

    您可以改为使用日志订阅,并将与筛选器匹配的所有日志记录流式传输到自定义Lambda函数。您可以使用它向电子邮件或电子邮件发送通知

    要配置日志流,请转到AWS控制台中的Lambda,并从名为“cloudwatch日志处理数据”的蓝图创建一个新函数。它有一个基本的结构,很容易定制您的需要


    据我所知,这是不可能做到的。如果我们有许多lambda,并且我们希望收到SNS通知,说明其中任何一个记录了错误,该怎么办?我们是否需要为每个日志组提供CloudWatch订阅的Lambda?@CharlieSchliesser-您可以设置要在
    /aws/Lambda
    上调用的触发器,然后根据您想要/需要侦听的内容设置筛选器。使用此方法,您可以获得非常有表现力的内容,并且很容易获得大量的覆盖@RobSchmuecker你能解释一下如何在/aws/lambda上触发吗?我到处找了,但没找到。谢谢。费用呢?它似乎会触发每个日志上的函数message@Faa bioPaiva否,仅适用于与筛选器匹配的日志记录。例如所有错误