amazon-web-services - 如何让 lambda 监听多个 cloudwatch 日志组?
问题描述
我有一个处理来自 cloudwatch 日志组的日志的 lambda。它将日志保存到 Elasticsearch 集群。我正在使用无服务器将日志组流配置到 lambda:https ://www.serverless.com/framework/docs/providers/aws/events/cloudwatch-log/ 。
但是,它只支持监听一个日志组。如何让我的 lambda 监听多个日志组?我想使用如下模式:
functions:
myCloudWatchLog:
handler: myCloudWatchLog.handler
events:
- cloudwatchLog: '/aws/lambda/hello*'
在上面的示例中,我希望每当有日志发送到名为 start withs 的日志组时触发我的 lambda /aws/lambda/hello
。这样,它会将所有日志保存到 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'
推荐阅读
- pandas - 将一个日期与开始日期进行比较,将结束日期与重复日期进行比较
- debian - 从 Debian Stretch 升级到 Buster 后出现 OCS 错误
- javascript - 如何修复分页页面不使用反应钩子网格更新
- python - 当一列满足熊猫中的某个条件时,如何提取第一个实例?
- python-3.x - 以小时、天、月格式对数据帧进行排序
- python - 在 Python 中使用数据框值填充预定义的字符串?
- php - 如何使用带有 `file_get_contents` 的波浪号从主目录读取文件
- python - 在搅拌机的另一个线程中运行昂贵的计算
- excel - 使用 saveas 方法命名错误
- syntax - 如何在 DB2 中将 FETCH FIRST 1 ROWS ONLY 与 UNION ALL 结合使用?