logstash: Попытка извлечь подстроки из пути

logstash: Попытка извлечь подстроки из пути

Я пытаюсь извлечь подстроки из поля пути в конфигурации logstash.

Поле «путь» выглядит так:

/storage/logs/deployment/servers/hostname.example.com/server.log

Внутри раздела фильтра у меня есть это:

ruby {
     code => "event.set('log_filename', 
     event.get('path').split('/').last)"
}

Это работает отлично. Я получаю новое поле с именем 'log_filename'

Однако меня также интересует имя сервера (hostname.example.com)

Итак, я попробовал это:

ruby {
      code => "event.set('log_filename', event.get('path').split('/').[-1]) event.set('server_name', event.get('path').split('/').[-2])"
}

Это вообще не работает. Я не получаю никаких ошибок в своем журнале logstash, но и данные logstash не видны.

Мне нужно имя файла и поле перед ним, которое представляет хост, с которого он пришел.

Что-то не так с моим синтаксисом?

Связанный контент