Regex for logstash.conf 输入过滤器路径



我有一个logstash.conf文件,我正在为两种不同类型的日志定义两个不同的路径,一个用于system logs,另一个用于network logs。但是,这些日志是在与/scratch/rsyslog相同的目录位置收集的,在转储日志之前为每个主机创建一个单独的文件夹,例如..

1(/scratch/rsyslog/server01/messages.log系统日志/scratch/rsyslog/server02/messages.log

2(对于网络日志,它像:/scratch/rsyslog/Sep/messages.log

下面是两种类型日志的输入筛选器和路径。 现在的问题是我使用通配符来匹配所有名称,*在这里path => [ "/scratch/rsyslog/*/messages.log" ]得到一切。

input {
file {
path => [ "/scratch/rsyslog/*/messages.log" ]
type => "syslog"
}
file {
path => [ "/scratch/rsyslog/Sep/messages.log" ]
type => "apic_logs"
}
}

因此,在我所需要的系统日志的第一条路径中,它以小写字母开头,其中可能包含一些数字,尽管server01.

也许我在想^[a-z0-9]

而在网络日志的第二条路径中,我需要获取第一个字母以小写字母开头的位置(这些是月份名称,通常就像我Sep提到的那样,它在月底会自行更改(。

也许^[A-Z].*为第二个

我希望得到一个可以适应这种情况的正则表达式。 任何帮助将不胜感激。

不幸的是,文件插件中的路径不支持正则表达式。它仅支持通配符。

最新更新