首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果我可以直接发布到Elasticsearch,为什么要使用Beats?

如果我可以直接发布到Elasticsearch,为什么要使用Beats?
EN

Stack Overflow用户
提问于 2019-12-04 16:09:01
回答 3查看 497关注 0票数 1

最近,我一直在阅读弹性堆栈,并发现了这个叫做Beats的东西,它基本上是用于轻量级托运人的。

所以问题是,如果我的服务可以直接点击Elasticsearch,我真的需要拍吗?因为据我所知,这只是一种代理(?)

希望我的问题足够清楚

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-02-21 04:11:02

不确定具体指的是哪一个节拍,但让我们举一个Filebeat的例子。

假设应用程序日志需要被索引到Elasticsearch中。选项

  1. 将日志直接发送到Elasticsearch
  2. 将日志保存到文件中,然后使用File节拍索引日志
  3. 将日志发布到像RabbitMQ或Kafka这样的AMQP服务,然后使用Logstash输入插件从RabbitMQ或Kafka读取并索引到Elasticsearch中。

备选方案2福利

  • File节拍确保每条日志消息都被传递到至少一次。File节拍能够实现此行为,因为它将每个事件的传递状态存储在注册表文件中。在已定义的输出被阻塞且尚未确认所有事件的情况下,File节拍将继续尝试发送事件,直到输出确认已收到事件为止。
  • 在将数据传送到Elasticsearh之前,我们可以做一些额外的处理或过滤。我们希望根据日志消息中的一些文本删除一些日志,或者添加附加字段 (例如:将应用程序名称添加到所有日志中,以便将多个应用程序日志索引到单个索引中,然后在消费端根据应用程序名称过滤日志)。

基本上,beats提供了一种可靠的索引数据的方法,而不会给系统带来太多开销,因为beats是轻量级的发货人。

选项3--这也提供了与option2相同的好处。如果我们想直接将日志发送到外部系统,而不是将其存储在本地系统中的文件中,这可能更有用。对于部署在Docker/Kubernetes中的任何应用程序,在这些应用程序中,我们没有足够的访问权限或足够的空间在本地系统中存储文件。

票数 1
EN

Stack Overflow用户

发布于 2019-12-04 16:27:00

B拍作为轻量级代理收集日志文件、OS度量等流数据是很好的,在这里您需要某种代理来收集和发送。如果您有一个服务想要将东西放入弹性中,那么当然可以,它可以直接使用rest/java。

票数 0
EN

Stack Overflow用户

发布于 2019-12-05 13:28:38

文件提供了一种从多台服务器集中动态日志的方法,

假设您在不同的服务器上运行多个应用程序实例,它们正在编写日志。

您可以将所有这些日志发送到单个ElasticSearch索引中,并从中分析或可视化它们。

一个静态文件不需要文件就可以移动到ElasticSearch。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59180228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档