Итак, здесь params - это хеш, и я хотел бы объединить все ключи и сохранить их в новом поле, как мне этого добиться?Я обнаружил, что возможно использовать встроенный код ruby в файле конфигурации, но я понятия не имею, как назначить возвращаемое значение concat.
grok { match => { "request" => [ "url", "%{URIPATH:url_path}%{URIPARAM:url_params}?" ]} }
urldecode{ field => "url_path" }
mutate { gsub => ["url_params","\?","" ] }
kv {
field_split => "&"
source => "url_params"
target => "params"
}
urldecode{ field => "params" }
ruby {
code => 'pattern= params.keys.join(",")'
#Pattern should be the new field that contains the key, separated by comma
}
Ожидаемый результат должен быть:
pattern = "param1, param2, param3 ... и т. Д."