【发布时间】:2019-09-09 23:09:22
【问题描述】:
我正在尝试从 logstash 中的 request_uri 字段中提取子字符串。 Grok 将我的快速访问日志行拆分为几个字段(已经在工作),所以我在自己的字段中获取 request_uri。现在我想获取 uri 的根上下文。
/en/some/stuff
/ApplicationName/some/path
/fr/some/french/stuff
但我不知道如何将 en、ApplicationName、fr 存储在其自己的字段中(除其他字段外)。我在想这样的事情可能会奏效。
grok {
pattern => "\"%{GREEDYDATA:domain}\" - %{IP:client_ip} \[%{GREEDYDATA:log_timestamp}\] \"%{WORD:method}\" \"%{GREEDYDATA:request_uri}\" - \"%{GREEDYDATA:query_string}\" - \"%{GREEDYDATA:protocol}\" - %{NUMBER:http_statuscode} %{NUMBER:bytes} \"%{GREEDYDATA:user_agent}\" %{NUMBER:seconds} %{NUMBER:milliseconds} \"%{GREEDYDATA:server_node}\""
match => [ "new_context_field", "SOME-REGEX fo parse request_uri" ]
}
你能给我一个提示吗?
【问题讨论】:
-
这是哪个 Logstash 版本?我从未听说过 grok 过滤器的
pattern选项。