我正在使用Logstash + Elasticsearch + Kibana來概覽我的Tomcat日誌文件。Logstash:如何將文件名稱添加爲字段?
對於每個日誌條目,我需要知道它來自哪個文件的名稱。我想將其添加爲字段。有沒有辦法做到這一點? 我google了一下,我只找到this SO question,但答案不再是最新的。
到目前爲止,我看到的唯一的解決方法是指定不同的「add_field」每個可能的文件名單獨的配置,像這樣:
input {
file {
type => "catalinalog"
path => [ "/path/to/my/files/catalina**" ]
add_field => { "server" => "prod1" }
}
}
但後來我需要logstash每次重新配置有新的可能文件名。 有什麼更好的想法?
感謝您的回答:)是不是會查找文件名INSIDE內的日誌文件內容? – machinery
通常情況下,您不會在郵件字段中使用grok,但我使用path字段,這是一個由logstash自動添加的特殊字段。 –
非常感謝:)您的解決方案的工作原理 - 在「{GREEDYDATA:filename}」之前添加百分比符號後。請更新您的答案,我會接受它作爲解決方案。 我只是沒有意識到「路徑」字段的存在。 – machinery