logstash: intentando extraer subcadenas de la ruta

logstash: intentando extraer subcadenas de la ruta

Estoy intentando extraer subcadenas de mi campo de ruta en mi configuración de logstash.

El campo 'ruta' se ve así:

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

Dentro de una sección de filtro tengo esto:

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

Esto funciona bien. Aparece un nuevo campo llamado 'log_filename'

Sin embargo, también me interesa el nombre del servidor (hostname.example.com)

Entonces probé esto:

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

Esto no funciona en absoluto. No recibo ningún error en mi registro de logstash pero no se ven datos de logstash.

Busco el nombre del archivo y el campo anterior, que representa el host del que proviene.

¿Hay algún problema con mi sintaxis?

información relacionada