Создать новое поле с рубиновым фильтром - PullRequest
0 голосов
/ 30 января 2019

Итак, здесь 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 ... и т. Д."

1 Ответ

0 голосов
/ 01 февраля 2019

Решение:

event.set('field_name', field_value)
...