【问题标题】:Amazon Web Services - S3 - Logstash or Lambda to channel data into Elasticsearch?Amazon Web Services - S3 - Logstash 或 Lambda 将数据导入 Elasticsearch?
【发布时间】:2016-11-07 04:36:03
【问题描述】:

我的问题是赞成/反对的。我想将数据从 Amazon S3 传输到 Elasticsearch,并且正在考虑两种选择:通过 Logstash 或通过 Lambda 传输。哪一个是更快/更容易/更有弹性的解决方案,为什么?有人有经验吗?

谢谢!

【问题讨论】:

  • 您确定使用 lambda 标签吗?它更多的是关于编程语言中的 lambda,而不是 Lambda 亚马逊服务
  • 嗯,它被称为 Lambda,虽然我理解其中的混淆。
  • lambda 标签明确地与编程语言中的 lambda 有关。因此,您问题中的 lambda 标签具有误导性。还有一个标签aws-lambda
  • 谢谢,会相应更新。您有机会就问题本身添加一些有价值的东西吗?
  • 我正在写一个答案,主要是关于 Logstash

标签: amazon-web-services elasticsearch amazon-s3 logstash aws-lambda


【解决方案1】:

免责声明:我的经验仅限于 Logstash。

使用 logstash,您必须处理服务器,以及 logstash 的安装和配置。但是您不必编写任何代码,并且您已经准备好处理连接的插件。
如果您没有修改数据,则配置非常简单。如果你有修改,Logstash 有各种插件来做不同的操作。
Logstash documentation

根据我阅读的有关 aws-Lambda 的内容,您不必管理服务器和应用程序,但您必须编写所有代码,包括与 S3 和 Elasticsearch 的连接。

【讨论】:

    【解决方案2】:

    到目前为止,AWS 不支持自定义 logstash 服务模块。所以就像你说的,我们有两种方法:

    • logstash 优点: 您可以使用所有 logstash 功能和过滤器 流行的原木运输标准工具 缺点: 您需要设置运行 logstash 代理的 EC2 机器。

    • Lambda 函数 优点: 不需要服务器设置,我也相信没有额外的费用。 缺点: 您需要编写从 S3 读取和写入 ElasticSearch 的代码

    我也遇到过这个标准运输的 lambda 函数。 https://github.com/arithmetric/lambda-stash

    看起来很有希望,但似乎不支持 logstash 过滤器

    【讨论】:

    • 查看了 lambda-stash。虽然是出于好意,但它会在将第一个文档发送到 ES 之前将输入文件完全放入内存中。此外,处理程序在它们包装的节点模块上几乎没有增加任何价值。 IE。只需 1 个 pipe() 调用即可对压缩流进行gunzip。 CSV 解析输入也是如此。等等。如果由于某种原因,logstash 无法满足您对 OOTB 的需求,我建议您直接使用 Node 模块滚动您自己的 Lambda。更少的代码,更易于阅读和排除故障,最重要的是,正确的流处理。
    猜你喜欢
    • 2017-11-14
    • 2017-01-01
    • 2018-01-10
    • 1970-01-01
    • 2012-04-26
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    • 2016-11-05
    相关资源
    最近更新 更多