我需要根据路径分离输出日志文件,所以我需要像这样制作一个正则表达式:
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编写完全正则表达式
答案 0 :(得分:1)
我认为你的正则表达式存在语法错误。你需要逃避斜杠,更重要的是。
试试这些正则表达式:
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
等在线检查器检查您的正则表达式