如果我可以通过 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?的主要内容,如果未能解决你的问题,请参考以下文章
如何将带有自定义标头的任意 JSON 数据发送到 REST 服务器?
将文件从 REST Web 服务发送到客户端的正确方法是啥?