首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CloudWatch订阅筛选器:使用lambda或直接订阅

CloudWatch订阅筛选器:使用lambda或直接订阅
EN

Stack Overflow用户
提问于 2019-11-06 16:22:41
回答 1查看 3.6K关注 0票数 3

我正在探索CloudWatch日志流到火喉。据我所知,Cloudwatch订阅筛选器是一个事件,它触发lambda来消化CloudWatch日志并将其发送到不同的目的地(ElasticSearch或Firehose .另一种习俗)。如果我错了,请纠正我。

我对Cloudwatch Logs to Firehose一案的关注是:

[1]就履约+定价而言,在以下方面是否有任何区别:

  • 云监视订阅过滤器->消防软管
  • 云监视订阅过滤器-> Lambda ->消防软管

[2]从Cloudwatch收到何种数据格式?

  • 云监视订阅过滤器->防火墙:我不知道
  • Cloudwatch订阅过滤器-> Lambda -> Firehose :我认为lambda可以将日志转换为JSON,然后将其放入消防软管。

如有任何建议,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-06 16:51:28

  1. 就性能+定价而言,拥有灯笼与直接使用消防水管有什么区别吗?

是。在性能方面,您将看到稍大的延迟,因为您的数据必须通过lambda才能到达消防水管,但很可能增加的时间一点也不重要。您将获得的灵活性,有一个可定制的处理步骤面对您的消防水管-一个机会,以执行额外的转换或更聪明的过滤。

注意,你会失去CloudWatch的自动压缩时,直接发送到消防水管-如果你想压缩,你将不得不设置它自己(可能在消防软管)。此外,您还需要支付lambda调用处理中间步骤的费用。查看定价页面,看看这是否真的重要。

  1. 火龙从云表接收哪种数据格式?

当直接使用消防水管时,您将得到消防软管输出配置 (一堆附加在文件中的记录),其中每个记录都是一个CloudWatch日志输出:

代码语言:javascript
复制
{
    "owner": "123456789012",
    "logGroup": "CloudTrail",
    "logStream": "123456789012_CloudTrail_us-east-1",
    "subscriptionFilters": [
        "Destination"
    ],
    "messageType": "DATA_MESSAGE",
    "logEvents": [
        {
            "id": "31953106606966983378809025079804211143289615424298221568",
            "timestamp": 1432826855000,
            "message": "{\"eventVersion\":\"1.03\",\"userIdentity\":{\"type\":\"Root\"}"
        },
        ...
    ]
}

(取自SubscriptionFilter文档)

当去兰达的时候:

Lambda收到的实际有效载荷为下列格式{“awslog”:{"data":"BASE64ENCODED_GZIP_COMPRESSED_DATA"} }

(也来自上文链接的文档)

其中data是上面的(编码、压缩) CloudWatch输出对象。

考虑到您编写了lambda,您可以输出任何您想要的消防软管。请记住,消防水管将做同样的事情,在每个输出文件中附加多个记录。

警告:一定要适当地缩放你的消防水管。 -如果你不小心,而且你是规模过小的,消防水管put会开始失败,你会开始丢弃日志数据。确保你在监控故障!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58734531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档