如何解决如何让Lambda侦听CloudWatch的多个日志组?
我有一个lambda,用于处理cloudwatch日志组中的日志。它将日志保存到Elasticsearch集群。我正在使用无服务器来将日志组流配置为lambda:https://www.serverless.com/framework/docs/providers/aws/events/cloudwatch-log/。
但是,它仅支持在一个日志组上进行侦听。如何让我的lambda侦听多个日志组?我想使用以下模式:
functions:
myCloudWatchLog:
handler: myCloudWatchLog.handler
events:
- cloudwatchLog: '/aws/lambda/hello*'
在上面的示例中,我希望每当有发送到名称为/aws/lambda/hello
的日志组的日志发送时触发我的lambda。这样,它将所有日志保存到Elasticsearch进行分析。
我无法在日志组中添加通配符,如果我添加*
An error occurred (InvalidParameterException) when calling the PutSubscriptionFilter operation: 1 validation error detected: Value '/aws/lambda/hello*' at 'logGroupName' failed to satisfy constraint: Member must satisfy regular expression pattern: [\.\-_/#A-Za-z0-9]+
解决方法
您可以添加多个cloudwatchLog
事件
myCloudWatchLog:
handler: myCloudWatchLog.handler
events:
- cloudwatchLog: '/aws/lambda/hello1'
- cloudwatchLog: '/aws/lambda/hello2'
,如果要为每个日志组提供不同的过滤器模式,则可以使用:
myCloudWatchLog:
handler: myCloudWatchLog.handler
events:
- cloudwatchLog:
logGroup: '/aws/lambda/hello1'
filter: 'filter1'
- cloudwatchLog:
logGroup: '/aws/lambda/hello2'
filter: 'filter2'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。