我正在使用Logstash + Elasticsearch + Kibana来概述我的Tomcat日志文件.
对于每个日志条目,我需要知道它来自的文件的名称.我想把它添加为一个字段.有办法吗?我用谷歌搜索了一下,我只发现了这个问题,但答案不再是最新的.
到目前为止,我看到的唯一解决方案是为每个可能的文件名指定单独的配置,使用不同的"add_field",如下所示:
input { file { type => "catalinalog" path => [ "/path/to/my/files/catalina**" ] add_field => { "server" => "prod1" } } }
但是每次有新的可能文件名时我都需要重新配置logstash.有更好的想法吗?
嗨,我添加了一个grok过滤器来做这件事.我只想让文件名不是路径,但你可以根据需要改变它.
filter { grok { match => ["path","%{GREEDYDATA}/%{GREEDYDATA:filename}\.log"] } }