
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?