kinesis firehose 如何将数据流式传输到自我管理的elasticsearch?

Zha*_* Yi 7 amazon-web-services elasticsearch amazon-kinesis

我在 EKS 中托管 Elasticsearch 集群,并且希望通过 Kinesis Firehose 将所有 cloudwatch 组流式传输到此 Elasticsearch 集群。但 AWS Kinesis firehose 不支持将数据流传输到 AWS 托管的 ES 之外的 Elasticsearch 集群。

将数据流式传输到自托管 ES 集群的最佳方式是什么?

Mar*_*cin 2

我认为最好的方法是使用Firehose 的 lambda 函数。为此,您必须选择受支持的目标,例如 S3。该函数通常用于转换记录,但您可以编写您想要的任何逻辑,包括将记录上传到自定义 ES。

如果您使用Python,该函数可以使用elasticsearch层连接您的自定义集群并将记录注入其中。 elasticsearch是 ES 的 python 接口,它可以与任何 ES 集群一起使用。

另一种方法是使用HTTP Endpoint 作为您的目的地。在这种情况下,您可能在 ec2 容器上有一个小实例,它会从 firehose 获取记录,然后将它们推送到 ES。就像以前一样, elasticsearch库可以与 Python 一起使用。