Logstash:尝试从路径中提取子字符串

Logstash:尝试从路径中提取子字符串

我正在尝试从 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 数据。

我在文件名及其前面的字段之后,该字段代表它来自的主机。

我的语法有问题吗?

相关内容