【发布时间】:2015-12-18 17:09:52
【问题描述】:
我一直在网上搜索,但不太清楚。
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
有什么想法吗?
【问题讨论】:
标签: url elasticsearch logstash grok