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, но никаких данных в журнале не отображается.

Я за именем файла и полем перед ним, которое представляет собой узел, из которого он пришел.

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

Interesting Posts

Найдите и замените строку, если определенный шаблон найден в строке

Команда Bash запускает команду каждый раз, когда отображается новое приглашение

Преобразование коротких повторяющихся слов в столбцах в числа

xautolock / ssh-add не может взаимодействовать с ssh-agent при запуске из .xsessionrc

Что означает поле `maximum error` в` sudo dmidecode -t 22`

Как скопировать текст из vim во внешнюю программу?

Может ли один каталог принадлежать двум группам?

Как заменить это значение в bash / sed

Как убедиться, что определенная функциональность (например, Alt + Ctrl + F1, переключение в tty) доступна в системе обмена файлами?

Gnome-manual-duplex в Gnome 3 на Arch Linux

Bash итерация по парам файлов

как удалить адрес шлюза в Ubuntu?

XServer: как проверить, кто / что использует отображение: N

Как исправить Двойную загрузку отсутствует загрузчик режима UEFI в окне 8.1

Печать только строк, которые являются полностью числовыми

Linux и Unix - лучшая ОС в мире.