2015-04-07 21 views
4

我在我的公司內部運行Jira和Confluence。我希望將日誌文件發送到Kibana。Jira的Logstash託運人配置

這很容易做到,但我不想重寫Grok過濾器。我無法想象沒有人已經這樣做過。

有沒有人有一個logstash託運人配置的例子。大部分日誌記錄如catalina.log是標準的。

請幫我的例子

回答

1

有人會認爲,Java應用程序日誌中僅有一種形式,但我的經驗是,經常有細微的差別。有時線程名稱在方括號中,有時在括號中,有時線程名稱首先在記錄器名稱之後,其他時間,等等。當您嘗試解析多種類型的日誌時,這會變得更加痛苦。

而是與各種過濾器的加入多消息和神交我使用github.com/logstash/log4j-jsonevent-layout Log4j的佈局產生基於JSON的日誌,這些日誌Logstash可以直接讀取沒有任何過濾器強烈支持的所有字段搞亂的。除了不必維護過濾器外,您還可以從每個日誌事件中獲得全部字段。由於我不知道你的 catalina.log看起來像我不能說通過解析它的內容而不是使用JSON佈局會丟失什麼。

缺點是它在部署方面有點多。你顯然必須自己部署佈局jar文件,但它有自己的一些依賴關係(net.minidev:jsonsmart和commons-lang:commons-lang),你也需要提供它們。