我正在尝试从 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 日志中没有收到任何错误,但没有看到logstash 数据。
我在文件名及其前面的字段之后,该字段代表它来自的主机。
我的语法有问题吗?