elasticsearch 从Logstash中的多个目录读取文件?,elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana" /> elasticsearch 从Logstash中的多个目录读取文件?,elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana" />

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

elasticsearch 从Logstash中的多个目录读取文件?,elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana,我使用以下配置读取日志文件(cron_日志、auth_日志、mail_日志等): file{ path => '/path/to/log/file/*_log' } 因此,我读取日志文件并检查: if(path) ~= "cron" -----match-------- if(path) ~= "auth" -----match-------- 现在我有一个目录,比如:Server1 Server2 Server3…在Server1中有子目录:authlog cronlog…在au

我使用以下配置读取日志文件(cron_日志、auth_日志、mail_日志等):

file{
path => '/path/to/log/file/*_log'
}
因此,我读取日志文件并检查:

if(path) ~= "cron"  -----match--------
if(path) ~= "auth"  -----match--------
现在我有一个目录,比如:
Server1 Server2 Server3
…在
Server1
中有子目录:
authlog cronlog
…在authlog中有子目录date-wise(比如
2014.05.26,2014.05.27
),它们最终包含了当天的日志文件,我必须对其进行解析

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

现在我必须阅读许多目录(如上所述)

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


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

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

因此,例如,您可以为用户提供如下路径:

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

如果我想要目录名(Server1,Server2)和子目录(cron,auth),那么我会相应地应用grok来分别匹配每个文件模式。例如:对于Server1和cron类型------>Pattern1。那么,有没有一种方法可以获取这些信息并在以后对其应用条件呢???您的
文件
输入可以;在筛选器块中,您可以使用[tags]
中的like
if“foo”来检查标记。我希望它出现在我的Web界面上,这样就可以先选择Server1,然后选择cronLog。因此必须添加
字段
标记
?两者都可以。在web界面中搜索扁平字段可能会容易一些。