带有 ELK 的 Filebeat > 如何有效地为每个日志文件构建索引

Filebeat with ELK > how to build indices per log file efficiently

我打算利用Filebeat(s)通过Logstash将日志文件从每个节点的预定目录复制到一个通用的Elasticsearch数据库中。比如在源码目录下有10个相同日志格式的日志文件,而且每天都在高速增长。

虽然这10个日志文件具有相同的日志格式,但它们是由10个不同的程序生成的。因此,在长 运行 中,为每个日志文件建立一个索引可能是明智的,即 10 个索引,每个索引对应一个日志文件。首先,我想知道这个计划是否合适?或者所有日志数据只需要一个索引就足够了,因为索引是每天生成的?

IF 为每个日志文件建立一个索引是明智的,那么如何实现这个目标呢? filebeat.yml 似乎只允许定义一个索引,因此不可能使用一个 Filebeat 生成多个索引。有什么好的解决方案吗?

Filebeat 只是发货方。它本身不能发送到多个 Elasticsearch 索引。为此,您需要 Logstash。

在 Filebeat 中为日志文件定义 multiple different prospectors 并为字段设置不同的值,因此可以在 Logstash 中使用它来执行逻辑。

然后在 Logstash depending on that field 中,每个探矿者可以有不同的值,将事件发送到一个或另一个索引。