Нуб ruby/logstash здесь использует стек ELK.
У меня есть куча полей
[Сообщение][Детали][Показания][Значение1]
[Сообщение][Детали][Показания][Значение2]
[Сообщение][Детали][Показания][Значение3]
который я хочу пройти через рубин в конфигурации logstash.
Затем я хочу выполнить простую операцию для каждого, например, изменить их с шестнадцатеричного на десятичное, например.
event.set('[currField]', event.get('[currField]').to_s.hex);
но я не могу найти правильный синтаксис с помощью Google ... любая помощь приветствуется.
Я знаю имена полей, поэтому в худшем случае мне придется их жестко закодировать, но я бы хотел избежать этого, если это возможно.
РЕДАКТИРОВАТЬ: я еще не тестировал свою конфигурацию, поэтому я не знаю, будет ли Readout хэш-картой; я использую фильтр grok, чтобы добавить значения в конфигурацию
"(?<[Message][Detail][Readout][Value1]>(?<=0x.{8})([A-F0-9]{2}))",
"(?<[Message][Detail][Readout][Value2]>(?<=0x.{8})([A-F0-9]{2}))"
так далее
Псевдо:
event.get('[Message][Detail][Readout]') each { |k, v|
event[k] = newValue;
}
Message.Detail.Readout.Value1
- person Master Azazel   schedule 27.12.2020