Значение по умолчанию для чтения вектора целых в конфигурации logstash - PullRequest
0 голосов
/ 17 октября 2018

У меня есть вектор целых в поле json, я могу получить доступ к элементам и добавить новое поле в конфигурацию logstash, например:

mutate{add_field  => { "MyField_0" => "%{[JsonField][0]}"}}
mutate{add_field  => { "MyField_1" => "%{[JsonField][1]}"}}

Если мой вектор [7, 9], товыходные данные:

MyField_0 = 7
MyField_1 = 9

Проблема в том, что размер вектора является переменным, иногда вектор имеет только 1 элемент, а выходные данные в кибане для полей:

MyField_0 = 7
MyField_1 = %{[JsonField][1]}

Iхотите, чтобы значение по умолчанию появилось во втором значении, например 0 или -1, это можно сделать?Я новичок в ELK и не знаю рубина :(.

Спасибо за любые указания,

1 Ответ

0 голосов
/ 18 октября 2018

Хорошо, я получил его для работы с фильтром перевода, подобным следующему:

filter{
  translate{
    field => "MyField_1" 
    destination => "NewField" 
    dictionary => ["%{[JsonField][1]}", "0"]
  }
}
...