Logstash ELK-当系统输出每个日志一个文件时,如何收集日志?

Logstash ELK-当系统输出每个日志一个文件时,如何收集日志?,logstash,elastic-stack,filebeat,elk,Logstash,Elastic Stack,Filebeat,Elk,假设我有一个系统,它不是在给定的日志文件上附加日志行,而是为每个“日志事件”输出单独的文件。这些文件有一个公共名称模式,但包含一个时间戳和另一个变量参数 ./log/202104231115012_SYSTEM_FOO.out ./log/202104231116452_SYSTEM_BAR.out ./log/202104231117568_SYSTEM_BAZ.out ./log/202104231120711_SYSTEM_FOO.out Filebeat或Logstash中是否有任何

假设我有一个系统,它不是在给定的日志文件上附加日志行,而是为每个“日志事件”输出单独的文件。这些文件有一个公共名称模式,但包含一个时间戳和另一个变量参数

./log/202104231115012_SYSTEM_FOO.out
./log/202104231116452_SYSTEM_BAR.out
./log/202104231117568_SYSTEM_BAZ.out
./log/202104231120711_SYSTEM_FOO.out

Filebeat或Logstash中是否有任何标准功能或配置来收集这些日志,或者首先是否需要另一个后台进程(即bash脚本)将所有这些文件连续附加到一个全局.log文件中?

您可以在模式中使用输入。请注意,默认操作是在读取文件后删除该文件,但您可以将其更改为仅记录已读取的文件

filebeat也可以基于通配符模式进行读取。它比logstash更轻,因此如果您不在管道中进行其他处理,您可能会更喜欢它。

有两种选择:

  • 伐木场
    • 文件输入:
    • 文件输出:
  • 拍子
    • 日志输入:
    • 文件输出:
使用Logstash也可以在输出格式中为您提供最灵活的解决方案,不过正如Badger所说的,它在资源方面有点过于繁重