如何在logstash中仅修剪键的最后一部分?
我的网址格式为http://aaa.bbb/get?a=1&b=2
,将它们放入“请求”并根据“?&”分割字段保存GET参数。
我只关心特定的API调用,而不关心主机或协议。我可以链接哪些过滤器以仅保留最终'/'之后的部分?我已经阅读了一些关于模式的内容,但没有偶然发现如何引用分割字段的最后部分。
grok {
match => [ "message", "%{TIMESTAMP_ISO8601:timestamp}
%{NOTSPACE:loadbalancer} %{IP:client_ip}:%{NUMBER:client_port:int}
%{IP:backend_ip}:%{NUMBER:backend_port:int}
%{NUMBER:request_processing_time:float}
%{NUMBER:backend_processing_time:float}
%{NUMBER:response_processing_time:float}
%{NUMBER:elb_status_code:int}
%{NUMBER:backend_status_code:int}
%{NUMBER:received_bytes:int} %{NUMBER:sent_bytes:int}
%{QS:request}" ]
}
date {
match => [ "timestamp", "ISO8601" ]
}
kv {
field_split => "&?"
source => "request"
}