如果我可以通过 REST 将数据发送到 elasticsearch,为啥还要安装 logstash?

Posted

技术标签:

【中文标题】如果我可以通过 REST 将数据发送到 elasticsearch,为啥还要安装 logstash?【英文标题】:Why install logstash if I can just send the data through REST to elasticsearch?如果我可以通过 REST 将数据发送到 elasticsearch,为什么还要安装 logstash? 【发布时间】:2017-07-16 00:15:30 【问题描述】:

我安装了 elasticsearch 和 kibana,并按照教程进行操作。 https://www.elastic.co/guide/en/elasticsearch/reference/current/_index_and_query_a_document.html 我正在完美地插入和读取数据,例如:

PUT /customer/external/1?pretty

  "name": "John Doe"

所以,这让我想知道,我需要 logstash 或 filebeats 做什么? 我的计划是将网站上的每个 Web 请求记录到 elasticsearch 以进行分析。

我需要安装logstash吗?我不明白我需要它做什么。 (我不打算将它存储在文件中)我将从 php 脚本中读取请求信息(例如 ip 地址、时间、user_id 等),然后通过 HTTP REST REQUEST 将其发送...如上面的示例到将保存数据的弹性搜索服务器。所以,我看不出有任何理由将数据存储在网络服务器上(即数据重复性),如果我愿意,我为什么还需要 logstash...我可以读取一个 .log 文件并将其发送到elasticsearch....像这个例子:https://www.elastic.co/guide/en/elasticsearch/reference/current/_exploring_your_data.html

【问题讨论】:

从哪里读取每个 Web 请求(它们是否存储在文件中?)以及如何将它们发送到 Elasticsearch? (我不打算将其存储在文件中)我将从 PHP 脚本中读取请求信息(例如 ip 地址、时间、user_id 等),然后通过 HTTP REST 简单地发送它REQUEST 作为上面的示例发送到 elasticsearch 服务器,它将保存数据。所以,我看不出有任何理由将数据存储在网络服务器上(即数据重复性),如果我愿意,我为什么还需要 logstash...我可以读取一个 .log 文件并将其发送到elasticsearch....像这个例子:elastic.co/guide/en/elasticsearch/reference/current/… 最后,这一切都取决于您是要索引 100% 的数据还是可以丢失一些数据。您需要问自己的问题是,当您的 PHP 脚本和 ES 之间出现网络问题时会发生什么和/或如果 ES 由于某种原因(维护等)而停机会发生什么? 总而言之,如果满足以下条件,您不需要 Logstash:1) 您可以保证一切都将始终 100% 在线并正常工作(您有理由不能这样做)或 2) 您接受失败不时提供一些数据。 @Val 你对此有何看法:***.com/questions/43080745/… 【参考方案1】:

不,如果您打算自己收集、规范化和编写应用程序数据,则不必安装 Logstash。正如您正确假设的那样,Logstash 将替代您的 PHP 脚本。

尽管如此,您仍然可以考虑看看 Logstash。由于它是由负责 Elastic Search 的同一家公司开发和维护的,因此您可以从即将到来的更改和优化中受益。

您可以从introduction 中了解到,Logstash 是一种从多个来源读取数据、对其进行规范化并将结果写入多个目的地的工具。有关 Logstash 提供哪些源、过滤器和输出的更多详细信息,您还应该查看pipeline documentation。

【讨论】:

这个怎么样:***.com/questions/43080745/… @Gabriel 这与imo无关

以上是关于如果我可以通过 REST 将数据发送到 elasticsearch,为啥还要安装 logstash?的主要内容,如果未能解决你的问题,请参考以下文章

将带有额外参数的文件发送到 WCF REST 服务

将雪花数据发送到 REST API (POST) 的方法

如何将带有自定义标头的任意 JSON 数据发送到 REST 服务器?

将文件从 REST Web 服务发送到客户端的正确方法是啥?

如何将 json 数据从我的 jsp 页面发送到 spring rest 控制器

在颤动中使用 REST api 将列表数据发送到云 Firestore 时出错