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

时间:2014-06-03 14:08:13

标签: elasticsearch logstash kibana

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

file{
path => '/path/to/log/file/*_log'
}

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

if(path) ~= "cron"  -----match--------
if(path) ~= "auth"  -----match--------

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

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

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

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

使用logstash实现此目的的最佳方法是什么?

1 个答案:

答案 0 :(得分:8)

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

因此,例如,您可以为file input提供一条路径,例如:

/path/to/date/folders/**/*_log