繁体   English   中英

logstash grok解析网址

[英]logstash grok parse url

我一直在网上搜索,但还不太清楚。

grok {
    match => ["message", "%{TIMESTAMP_ISO8601:log_timestamp} %{URIPATH:url}
}

我需要从URL中获取内容,并将其放入弹性搜索中。

日志具有这样的网址

网址1 = / NEED_A / Constant_A / Constant_B / Constant_C / Need_B / Constant_D / Need_C / Need_D

网址2 = / NEED_A / Constant_A / Constant_B / Constant_C / Need_B / Constant_D

网址3 = / Wierd_A

Need_A,NEED_B,NEED_C,Need_D,Wierd_A应该放在相应的字段中。

我一直在尝试寻找if else-if循环,但还没有真正得到任何东西。

grok {
    match => ["message", "%{TIMESTAMP_ISO8601:log_timestamp} {URIPATH:url} %]
  }
if[url] == "/*/Constant_A/Constant_B/Constant_C/*/Constant_D/*/*" {
    \/%{WORD:NEED_A}\/.*\/.*\/.*\/%{WORD:NEED_B}\/.*\/%{WORD:NEED_C}
}

else-if[url] == "/*/Constant_A/Constant_B/Constant_C/*/Constant_D" {
    \/%{WORD:NEED_A}\/.*\/.*\/.*\/%{WORD:NEED_B}\/.*\/
}
else-if
    //something similar for url 3
}
//move on if nothing matches

有什么想法吗?

logstash不是循环类型的系统。

如果要对输入运行多种模式,只需列出它们

grok {
    match => {
        "message" => [
            "%{PATTERN1}",
            "%{PATTERN2}"
        ]
    ]
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM