通配符支持
只要允许使用通配符模式,Logstash就支持以下模式:
*
匹配任何文件。您可以使用 * 来匹配任意值。例如,*conf 匹配以 conf 结尾的所有文件。 *apache* 匹配名称中带有 apache 的所有文件。此模式与类Unix操作系统上的隐藏文件(. 开头的文件)不匹配。要匹配隐藏的点文件,请使用类似 {*,.*} 的模式。
**
递归匹配目录。
?
匹配任何单字符。
[set]
匹配集合中的任何一个字符。例如,[a-z]。还支持排除逻辑([^a-z])。
{p,q}
匹配文字 p 或文字 q。匹配的文字可以是多个字符,您可以指定两个以上的文字。此模式相当于在正则表达式 (foo|bar) 中使用竖线分割。
\
转义下一个元字符。这意味着您不能在Windows中使用反斜杠作为通配符的一部分。模式 c:\foo* 将不起作用,因此请改用 foo*。
匹配样例
以下是通配符模式的一些常见示例:
"/path/to/*.conf" 匹配指定路径中以 .conf 结尾的配置文件。
"/var/log/*.log" 匹配指定路径中以 .log 结尾的日志文件。
"/var/log/**/*.log" 匹配在指定路径下的子目录中以 .log 结尾的日志文件。
"/path/to/logs/{app1,app2,app3}/data.log" 匹配指定路径下的 app1,app2 和 app3 子目录中的app日志文件。