最近我一直在阅读 Elastic stack 并发现了一个叫做 Beats 的东西,它基本上用于轻量级的托运人。
所以问题是,如果我的服务可以直接访问 Elasticsearch,我真的需要节拍吗?因为据我所知,它只是一个代理(?)
希望我的问题足够清楚
最近我一直在阅读 Elastic stack 并发现了一个叫做 Beats 的东西,它基本上用于轻量级的托运人。
所以问题是,如果我的服务可以直接访问 Elasticsearch,我真的需要节拍吗?因为据我所知,它只是一个代理(?)
希望我的问题足够清楚
不确定您具体指的是哪个节拍,但让我们以 Filebeat 为例。
假设应用程序日志需要被索引到 Elasticsearch。选项
选项 2 的好处
本质上,beats 提供了一种可靠的数据索引方式,而不会对系统造成太多开销,因为 beats 是轻量级的托运人。
选项 3 - 这也提供与选项 2 相同的好处。如果我们想将日志直接发送到外部系统而不是将其存储在本地系统的文件中,这可能会更有用。对于部署在 Docker/Kubernetes 中的任何应用程序,我们没有太多的访问权限或足够的空间来在本地系统中存储文件。
Beats 非常适合作为轻量级代理来收集日志文件、操作系统指标等流数据,您需要某种代理来收集和发送这些数据。如果你有一个服务想把东西放到 Elastic 中,那么是的,它可以直接使用 rest/java 等 API。
Filebeat 提供了一种方法来集中来自多个服务器的实时日志
假设您在不同的服务器上运行应用程序的多个实例,并且它们正在写入日志。
您可以将所有这些日志发送到单个 ElasticSearch 索引,并从那里分析或可视化它们。
单个静态文件不需要 Filebeat 即可迁移到 ElasticSearch。