ELK logstash的grok 自定义正则匹配日志

一、logstash 配置 grok

1、配置单个规则

这里的流程是直接用logstash分析input源日志文件,然后处理日志数据flitergrok,最后把数据输出inputelasticsearch

匹配下面内容中的 client_ipmethodurlduration

[2020-09-26 08:34:41] 127.0.0.1 GET local.test.com:8010/index/index/test?name=张三&id=9 0.412191
[ info ] 信息异常

grok内容可以这么写:

input {
    
    
 file {
    
    
    ...
  }
}
filter {
    
      
    grok {
    
      
		match => {
    
    
			"message"=>"[\s\S]*\]\s(?<client_ip>[0-9\.]+)\s(?<method>[A-Za-z]+)\s(?<url>[^\s]+)\s(?<duration>[0-9\.]+)[\s\S]*"
		}
   }  
} 
output {
    
    
    ...
}

2、配置多个规则

由于这里没做日志分割,所以写进es的记录是每一行一条记录,所以我们要匹配多种不同格式的日志。关于日志拆分,这个我用filebeat结合logstash来实现。

我们既要匹配 1 中的信息,又要匹配下面内容中的sqlsql_duration

[ SQL ] SHOW COLUMNS FROM `user` [ RunTime:0.074797s ]

grok 可以这么写

input {
    
    
    file {
    
    
        ...
    }
}
filter {
    
      
    grok {
    
      
		match => {
    
    
			"message" => [
				"[\s\S]*\]\s(?<client_ip>[0-9\.]+)\s(?<method>[A-Za-z]+)\s(?<url>[^\s]+)\s(?<duration>[0-9\.]+)[\s\S]*",
				"\[\sSQL\s\]\s(?<sql>[\s\S]*)\[\sRunTime:(?<sql_duration>[0-9\.]+)"
			]
		}
   }  
} 
output {
    
    
    elasticsearch {
    
    
	    ...
	}
}

3、windows启动logstash

cd D:\ProgramFiles\ELK\logstash-7.2.0\bin
logstash.bat -f ../logstash_test.conf
  • 配置文件 logstash_test.conf写哪都可以,只要你能够正确指定。我的配置文件写在logstash-7.2.0 根目录,也是bin 的同级目录

二、grok 在线调试

1、在线调试

[2020-09-26 08:34:41] 127.0.0.1 GET local.test.com:8010/index/index/test?name=张三&id=9 0.412191
[ info ] 信息异常
  • 正则
[\s\S]*\]\s(?<client_ip>[0-9\.]+)\s(?<method>[A-Za-z]+)\s(?<url>[^\s]+)\s(?<duration>[0-9\.]+)[\s\S]*
  • 结果
{
    
    
  "client_ip": [
    [
      "127.0.0.1"
    ]
  ],
  "method": [
    [
      "GET"
    ]
  ],
  "url": [
    [
      "local.test.com:8010/index/index/test?name=张三&id=9"
    ]
  ],
  "duration": [
    [
      "0.412191"
    ]
  ]
}
  • 截图
    在这里插入图片描述

2、kibana 中调试

如果你安装了 kibana,也可以在 kibana 中调试

  • kibana首页 -> Console
    在这里插入图片描述

  • 选择 Grok Debugger
    在这里插入图片描述

三、相关文章

[ 文档 ]

[ 博客 ]

猜你喜欢

转载自blog.csdn.net/qq_36025814/article/details/108812961