ELK logstash gork匹配在线测试

一、在线调试

[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"
    ]
  ]
}
  • 截图
    在这里插入图片描述

二、kibana 中调试

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

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

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

三、匹配方式

1)、自定义正则

  • 匹配内容
[2020-09-26 08:34:41] 127.0.0.1 GET local.test.com:8010/index/index/test?name=张三&id=9 0.412191
  • 匹配正则
[\s\S]*\]\s(?<client_ip>[0-9\.]+)\s(?<method>[A-Za-z]+)\s(?<url>[^\s]+)\s(?<duration>[0-9\.]+)[\s\S]*

2)、logstash自带的grok

[2020-09-26 13:07:54] GET http://www.test.com/index/index/test 0.118220
  • 匹配正则
\[%{
    
    TIMESTAMP_ISO8601:timestamp}\] %{
    
    USERNAME:method}

3)、logstash自带的grok + 自定义正则 custom patterns

大家注意了:grok调试支持custom patterns(自定义正则)调试

可以参考一下这篇:ELK logstash的grok 自带的正则匹配、自定义正则 使用

  • 匹配内容
[2020-09-26 13:07:54] GET http://www.test.com/index/index/test 0.118220
  • 匹配正则
\[%{
    
    TIMESTAMP_ISO8601:timestamp}\] %{
    
    USERNAME:method}[T ]%{
    
    URL:url} %{
    
    NUMBER:exec_time}
  • 自定义正则 URL
URL (http(s)?:\/\/)?%{
    
    URIHOST:domain_name}%{
    
    URIPATH}

猜你喜欢

转载自blog.csdn.net/qq_36025814/article/details/108842264
今日推荐