我使用Logstash解析appache access_log,我需要从请求的查询字符串中检索键值格式的数据。我使用kv来分割我的查询字符串。但有时我得到这样的查询字符串:
?key1=value1&key2&key3=value3
对于没有获得该值的密钥,是否可以使用默认值,例如TRUE?
我不知道会在查询字符串中发送密钥。
我的kv配置:
kv {
field_split => "&?"
source => "params"
}
答案 0 :(得分:0)
嗯,我认为最好的选择是使用mutate和gsub
mutate {
gsub => ["params", "[&,?](((?!\=).)*)[&,\s]", "&\1=true& "]
}
kv {
field_split => "&?"
source => "params"
}
这不是最好的方法,你应该在此之后修剪键和值。 我认为这种正确方式的唯一方法是补丁kv