从Logstash中的多个目录中读取文件?

Sid*_*kha 2 elasticsearch logstash kibana

我使用此配置读取了我的日志文件(cron_log,auth_log,mail_log等):

file{
path => '/path/to/log/file/*_log'
}
Run Code Online (Sandbox Code Playgroud)

所以我读了我的日志文件并检查:

if(path) ~= "cron"  -----match--------
if(path) ~= "auth"  -----match--------
Run Code Online (Sandbox Code Playgroud)

现在我有一个目录,如:Server1 Server2 Server3......在Server 1子目录中:authlog cronlog.....在authlog内部有子目录日期明智(如2014.05.26, 2014.05.27)最终包含当天的日志文件,我必须解析.

所以目前我有一个用于读取文件的配置文件, *_log 我用它来运行该配置文件并/path/to/log/file/*_log解析了所有存在的日志文件.

现在我必须从许多目录中读取(如上所述).

我是否必须为每个目录编写单独的配置文件?

使用logstash实现这一目标的最佳方法是什么?

rut*_*ter 8

Ruby globs解释**为包括所有子目录.

因此,例如,您可以为file输入提供如下路径:

/path/to/date/folders/**/*_log
Run Code Online (Sandbox Code Playgroud)