У меня есть этот фильтр в журнале sh конвейер
filter{
ruby { code => 'event.set("patternmatch1", event.get("message").scan(/TEXT.*?(\w[\w,.]*)\r?$/))'
}
# Retrieve the lenght of the array cointaining all the matches
ruby { code => 'event.set("number_of_elements", event.get("patternmatch4").length-1)'
}
Моя цель
Я хотел бы использовать длину массива в качестве индекса ruby массив шаблонов, чтобы выбрать шаблон индекса, который я хочу. Вместо использования индекса 9:
mutate{
add_field => {"gross_profit" => "%{[patternmatch4][9]}"}}
}
Я хочу сослаться на последний шаблон, сопоставленный в массиве, с переменной, содержащей длину массива "number_of_elements", но мой код не работает. Может быть, я неправильно ссылаюсь на переменную. Как правильно ссылаться на эту переменную?
mutate{
add_field => {"gross_profit" => "%{[patternmatch4][%{[number_of_elements]}"}}
}