我在公司内部运行Jira和Confluence。我希望将日志文件发送到Kibana。
这很容易,但我不想重写Grok过滤器。我无法想象没有人这样做过。
是否有人拥有logstash发货人配置的示例。像catalina.log这样的大多数日志都是标准的。
请帮我举例
答案 0 :(得分:1)
有人会认为Java应用程序日志只有一种形式,但我的经验是,通常存在细微差别。有时线程名称在方括号中,有时在括号中,有时线程名称首先出现,有时在记录器名称之后,依此类推。当您尝试解析多种类型的日志时,这会变得更加痛苦。
而不是使用各种过滤器来加入多行消息并浏览所有字段,我强烈支持使用github.com/logstash/log4j-jsonevent-layout中的Log4j布局来生成基于JSON的日志,Logstash可以直接读取而无需任何过滤器。除了不必维护过滤器之外,您还可以从每个日志事件中获取所有字段。因为我不知道你的 catalina.log是什么样的,所以我不能通过解析它的内容而不是使用JSON布局来说明你会丢失什么。
缺点是部署方面的工作要多一些。你显然必须自己部署布局jar文件,但它有一些你自己的依赖(net.minidev:jsonsmart和commons-lang:commons-lang),你也需要它们。