我正在探索CloudWatch日志流到火喉。据我所知,Cloudwatch订阅筛选器是一个事件,它触发lambda来消化CloudWatch日志并将其发送到不同的目的地(ElasticSearch或Firehose .另一种习俗)。如果我错了,请纠正我。
我对Cloudwatch Logs to Firehose一案的关注是:
[1]就履约+定价而言,在以下方面是否有任何区别:
[2]从Cloudwatch收到何种数据格式?
如有任何建议,将不胜感激。
发布于 2019-11-06 16:51:28
是。在性能方面,您将看到稍大的延迟,因为您的数据必须通过lambda才能到达消防水管,但很可能增加的时间一点也不重要。您将获得的灵活性,有一个可定制的处理步骤面对您的消防水管-一个机会,以执行额外的转换或更聪明的过滤。
注意,你会失去CloudWatch的自动压缩时,直接发送到消防水管-如果你想压缩,你将不得不设置它自己(可能在消防软管)。此外,您还需要支付lambda调用处理中间步骤的费用。查看定价页面,看看这是否真的重要。
当直接使用消防水管时,您将得到消防软管输出配置 (一堆附加在文件中的记录),其中每个记录都是一个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\"}"
},
...
]
}当去兰达的时候:
Lambda收到的实际有效载荷为下列格式{“awslog”:{"data":"BASE64ENCODED_GZIP_COMPRESSED_DATA"} }
(也来自上文链接的文档)
其中data是上面的(编码、压缩) CloudWatch输出对象。
考虑到您编写了lambda,您可以输出任何您想要的消防软管。请记住,消防水管将做同样的事情,在每个输出文件中附加多个记录。
警告:一定要适当地缩放你的消防水管。 -如果你不小心,而且你是规模过小的,消防水管put会开始失败,你会开始丢弃日志数据。确保你在监控故障!
https://stackoverflow.com/questions/58734531
复制相似问题