logstash kv{} 过滤器插件如何工作?

How does the logstash kv{} filter plugin work?

我想提取 url 查询参数,根据 this forum answer 我可以使用 kv{}

但我想了解这是如何工作的。

这是我的字符串:param1=val1&param2=val2&adv=val3&param3=val4&param4=val5

现在我在 logstash 中将该字段提取为 uri_query。

那么我就这样使用kv:

kv {
  source => "uriQuery"
  field_split => "&"
  prefix => "query_"
}

我得到每个查询参数的字段:

query_param1 val1
query_param2 val2
etc

但我不明白的是它是如何知道在“=”上剥离和中断的。这就像 kv 的 key=value 语法或其他东西的默认标记吗?

是的。 = 是 kv 的默认标记。

Here 是关于名为 value_split.

的 kv 插件参数的文档