Estou tentando extrair substrings do meu campo de caminho na minha configuração do logstash.
O campo "caminho" é assim:
/storage/logs/deployment/servers/hostname.example.com/server.log
Dentro de uma seção de filtro, tenho isto:
ruby {
code => "event.set('log_filename',
event.get('path').split('/').last)"
}
Isso funciona bem. Eu 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. Eu não recebo nenhum erro no log do meu logstash, mas nenhum dado logstash é visto.
Estou atrás do nome do arquivo e do campo antes dele, que representa o host de onde veio.
Há algo errado com minha sintaxe?
Tags text-processing logstash