使用 ELK 的文件节拍>如何有效地为每个日志文件构建索引



我计划利用Filebeat通过Logstash将日志文件从每个节点的预定目录复制到一个通用的Elasticsearch数据库中。例如,在源目录中,有10日志文件具有相同的日志格式,并且它们每天都在高速增长。

尽管这10个日志文件具有相同的日志格式,但它们是由10个不同的程序生成的。因此,从长远来看,最好为每个日志文件建立一个索引,即10索引,每个索引对应一个日志文件。首先,我想知道这是一个合适的计划吗?或者,所有日志数据只有一个索引就足够了,因为索引是每天生成的?

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

Filebeat只是发货人。它本身无法发送到多个Elasticsearch索引。为此,您需要Logstash。

在Filebeat中,为日志文件定义多个不同的探矿者,并为字段设置不同的值,因此这可以在Logstash中用于执行逻辑。

然后在Logstash中,根据每个探矿者可能具有不同值的字段,将事件发送到一个或另一个索引。

最新更新