带有输出 logstash 的正则表达式条件

regex condition with output logstash

我需要根据路径分离输出日志文件,所以我需要像这样制作一个正则表达式条件:

if [path] =~ "/var/log/nginx/json_access/live.json.log" { 
 file {path => /home/user/output.live.txt} }

if [path] =~ "/var/log/nginx/json_access/video.json.log" { file {path => /home/user/output.video.txt} }

但它不起作用,如何使用 if 条件 logstash 编写一个精确的正则表达式

我认为您的正则表达式中存在语法错误。您需要转义斜杠,更重要的是 .

试试这些正则表达式:

if [path] =~ "\/var\/log\/nginx\/json_access\/live\.json\.log" { 
 file {path => /home/user/output.live.txt} }

if [path] =~ "\/var\/log\/nginx\/json_access\/video\.json\.log" { file {path => /home/user/output.video.txt} } 

在创建 logstash 配置之前,只需使用 http://regexr.com

等在线检查器检查您的正则表达式