logstash: Tentando extrair substrings do caminho

logstash: Tentando extrair substrings do caminho

Estou tentando extrair substrings do meu campo de caminho na minha configuração do logstash.

O campo 'caminho' fica assim:

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

Dentro de uma seção de filtro eu tenho isto:

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

Isso funciona bem. Recebo um novo campo chamado 'log_filename'

No entanto, também estou interessado no nome do servidor (hostname.example.com)

Então eu tentei isso:

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

Isso não funciona de jeito nenhum. Não recebo nenhum erro no meu log do logstash, mas nenhum dado do logstash é visto.

Estou atrás do nome do arquivo e do campo anterior, que representa o host de onde ele veio.

Há algo errado com minha sintaxe?

informação relacionada