gpt4 book ai didi

amazon-web-services - CloudWatch 订阅过滤器 : using lambda or direct subscription

转载 作者:行者123 更新时间:2023-12-05 06:23:00 25 4
gpt4 key购买 nike

我正在探索到 Firehose 的 CloudWatch Logs 流。到目前为止,据我所知,Cloudwatch 订阅过滤器是一个触发 lambda 以消化 CloudWatch 日志并将其发送到不同目的地(ElasticSearch 或 Firehose 或...另一个自定义 lambda)的事件。如果我错了,请纠正我。

我对 Cloudwatch Logs Stream to Firehose 这个案例的关注是:

1/在性能+定价方面,有什么区别:

  • Cloudwatch 订阅过滤器 -> Firehose
  • Cloudwatch 订阅过滤器 -> Lambda -> Firehose

2/Firehose 从 Cloudwatch 接收的数据格式是什么?

  • Cloudwatch 订阅过滤器 -> Firehose:我不知道
  • Cloudwatch 订阅过滤器 -> Lambda -> Firehose:我认为 lambda 可以将日志转换为 JSON,然后将其放入 Firehose。

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

最佳答案

  1. In term of performance + pricing, is there any difference between [having a lambda vs. going straight to firehose?] :

是的。在性能方面,您会发现延迟稍大一些,因为您的数据在进入 firehose 之前必须通过 lambda,但延迟很可能根本无关紧要。您将获得灵 active ,在您的 firehose 前面有一个可定制的处理步骤 - 一个执行额外转换或更智能过滤的机会。

注意,当直接发送到 firehose 时,您将丢失 CloudWatch 的自动压缩 - 如果您想要压缩,您必须自己设置(可能在 firehose 上)。此外,您需要为处理中间步骤的 lambda 调用付费。 Check the pricing page 看看这是否真的重要。

  1. Which data format does Firehose receive from Cloudwatch?

当直接使用 firehose 时,您会得到 firehose's output configuration(一堆记录附加在一个文件中),其中每条记录都是 CloudWatch 日志输出:

{
"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\"}"
},
...
]
}

(摘自 the SubscriptionFilter docs )

当进入 lambda 时:

The actual payload that Lambda receives is in the following format { "awslogs": {"data": "BASE64ENCODED_GZIP_COMPRESSED_DATA"} }

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

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

鉴于您编写了 lambda,您可以将任何您想要的输出到 firehose。请记住,firehose 将执行与上述相同的操作,将多条记录附加到每个输出文件中。


请注意:make sure to scale your firehose appropriately - 如果您不小心,并且规模不足,firehose put 将开始失败,您将开始丢弃日志数据。确保您正在监控故障!

关于amazon-web-services - CloudWatch 订阅过滤器 : using lambda or direct subscription,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58734531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com