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

时间:2017-02-07 17:01:41

标签: amazon-web-services amazon-cloudwatch amazon-cloudwatchlogs

我刚刚在ec2实例上配置了Cloudwatch日志,到目前为止我很喜欢它。我还为某些关键字设置了提醒,例如" ERROR"。虽然电子邮件提醒似乎工作正常,但我想知道是否有一种方法可以微调警报电子邮件,使其简洁明了。翔实。具体来说,我正在寻找

  1. 删除警报电子邮件中的所有样板文本。

  2. 包含有关触发警报的错误/异常的一些信息。这可能就像包含生成警报的日志语句一样简单。

  3. 现在,提醒电子邮件似乎是

      

    您收到此电子邮件是因为您的Amazon CloudWatch警报   "应用-错误报警"在美国东部 - 弗吉尼亚州的N区进入了   ALARM状态,因为"阈值交叉:1个数据点(1.0)更大   大于或等于阈值(1.0)。"在" 2017年2月7日星期二   16:39:43 UTC"。

         

    在AWS管理控制台中查看此警报:   https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#s=Alarms&alarm=App-Error-Alarm

         

    警报详情:    - 名称:App-Error-Alarm    - 描述:app.log中的错误    - 州变更:INSUFFICIENT_DATA - >报警    - 状态变化的原因:阈值交叉:1个数据点(1.0)大于或等于阈值(1.0)。    - 时间戳:2017年2月7日星期二16:39:43 UTC    - AWS账户:<>

         

    阈值:    - 当度量标准为GreaterThanOrEqualToThreshold 1.0 300秒时,警报处于ALARM状态。

         

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

         

    州改变行动:   - 好:    - 警报:[arn:aws:sns:us-east-1:<>:support]    - INSUFFICIENT_DATA:

    我喜欢

    之类的东西
      

    警报:应用错误警报

         

    关键字:"错误"

         

    原因:错误2017-02-07 07:31:47,375 [SimpleAsyncTaskExecutor-5]   com.app.server.rest.Watcher:javax.net.ssl.SSLHandshakeException:   收到致命警报:handshake_failure

    它短小,甜美,瞬间告诉我它是否需要我立即注意。这可以在不编写建议here的代码的情况下完成吗?

2 个答案:

答案 0 :(得分:5)

您有此问题,因为您配置了警报,并且该警报用于聚合数据,而不是特定的日志记录。您为某些度量标准配置(使用ERROR关键字的日志记录数)。

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

要配置日志流,请在AWS控制台中转到Lambda并从名为“ cloudwatch-logs-process-data” 的蓝图创建新功能。它具有基本结构,可以轻松地根据您的需求进行定制。

enter image description here

答案 1 :(得分:1)

您可以使用Cloudwatch Logs Customize alarms Package提供的AWS labs自定义Cloudwatch闹钟。

  

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

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