当前位置:  开发笔记 > 数据库 > 正文

Logstash:如何将文件名添加为字段?

如何解决《Logstash:如何将文件名添加为字段?》经验,为你挑选了1个好方法。

我正在使用Logstash + Elasticsearch + Kibana来概述我的Tomcat日志文件.

对于每个日志条目,我需要知道它来自的文件的名称.我想把它添加为一个字段.有办法吗?我用谷歌搜索了一下,我只发现了这个问题,但答案不再是最新的.

到目前为止,我看到的唯一解决方案是为每个可能的文件名指定单独的配置,使用不同的"add_field",如下所示:

input {
  file {
     type => "catalinalog"
     path => [ "/path/to/my/files/catalina**" ]
     add_field => { "server" => "prod1" }
  }
}

但是每次有新的可能文件名时我都需要重新配置logstash.有更好的想法吗?



1> Jettro Coenr..:

嗨,我添加了一个grok过滤器来做这件事.我只想让文件名不是路径,但你可以根据需要改变它.

filter {
  grok {
    match => ["path","%{GREEDYDATA}/%{GREEDYDATA:filename}\.log"]
  }
}


通常不会在消息字段上使用grok,但我使用路径字段,这是一个由logstash自动添加的特殊字段.
推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有