繁体   English   中英

将多个日志组添加到 Cloudwatch 事件触发器而无需单独指定它们?

[英]Adding multiple log groups to Cloudwatch event triggers without having to specify them individually?

我想在我的其他 Lambda 函数生成的错误事件上触发 Lambda function。 我看到可以使用无服务器添加多个日志组。 示例来自这里

functions:
  hello1:
    handler: handler.hello1
    events:
      - cloudwatchLog: '/aws/lambda/hello1'
  hello2:
    handler: handler.hello2
    events:
      - cloudwatchLog: '/aws/lambda/hello2'

然而,这意味着为每个 function (我有大约 2 打)定义一个事件 + 过滤器,这需要为我将来添加的任何其他功能进行更新。 有没有办法使用像/aws/lambda/*这样的包罗万象的日志组定义?

我已经使用带有Errors指标的aws/lambda命名空间的指标过滤器设置了 Cloudwatch 警报。 简单易行,但是它发布的 SNS 主题几乎没有关于错误性质的信息。 我想创建一个 Lambda function 直接发布包含堆栈跟踪的 SNS 主题。 我希望以同样的方式选择所有日志组也一样容易。

您需要进行架构更改。

创建 Kinesis 数据 stream 并将各个 cloudwatch 日志组订阅到该单个 kinesis stream

处理错误日志的 lambda 需要将 Kinesis 作为事件源。

现在,这将为来自任何 lambda 函数的 cloudwatch 日志组的日志启用来自 kinesis 的触发器

要自动启用此订阅,请将无服务器本身与 Kinesis CloudWatch 订阅结合使用,并且所有功能的 kinesis stream 将相同。

Serverless 有一个插件可以做同样的事情(serverless-plugin-log-subscription) https://www.serverless.com/plugins/serverless-plugin-log-subscription

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM