【问题标题】:Sending cloudwatch email from logs从日志发送 cloudwatch 电子邮件
【发布时间】:2024-04-23 10:10:01
【问题描述】:

我正在使用 EC2 实例。我已将应用程序中的异常记录到 cloudwatch 日志中。 日志格式为 JSON 对象/字符串:

{
'application': 'abc',
'type': '404',
'error': 'The page you requested was not found.'
}

现在我想根据日志类型在电子邮件地址上通过电子邮件发送特定日志,例如:仅类型为 404 的日志。 我怎样才能做到这一点?

【问题讨论】:

    标签: javascript amazon-web-services amazon-ec2 aws-sdk


    【解决方案1】:

    我没有将 SNS 视为日志组的订阅,但您可以使用 Lambda 函数来做到这一点。

    当日志匹配时,触发 lambda 和从 lambda,您可以发送电子邮件或可以根据消息执行任何操作。

    为订阅添加过滤器。

    aws logs put-subscription-filter --log-group-name /aws/ec2/execption --destination-arn arn:aws:lambda:us-east-1:123456:function:send-email-on-exception --filter-name ec2-404-errors --filter-pattern "404"
    

    过滤器和模式语法

    您可以使用指标过滤器来搜索和匹配字词、短语或 日志事件中的值。当度量过滤器找到其中一个 日志事件中的术语、短语或值,您可以递增 CloudWatch 指标的值。例如,您可以创建一个指标 过滤以搜索并计算单词 ERROR 的出现次数 您的日志事件。

    FilterAndPatternSyntax

    您可以浏览此article 以阅读 aws CW 日志事件。

    【讨论】:

    • 非常感谢您提供有关创建指标以触发某些事件的想法。