將 Spring Boot Log 透過 Logstash 導入 Elasticsearch
在 Spring Boot 應用程式中,Log 通常會先輸出到 Console 或檔案,方便開發與單機排查問題。不過當服務數量變多、部署環境變複雜後,單靠各主機上的 Log 檔案會讓查詢與追蹤變得不方便。這時可以透過 Logstash 接收 Spring Boot 輸出的結構化 Log,再寫入 Elasticsearch,讓後續查詢、分析與視覺化更加集中。
本文會記錄如何在 Linux 環境安裝 Logstash,設定 Logstash 將 TCP 收到的 JSON Log 寫入 Elasticsearch,最後再於 Spring Boot 的 logback 設定中加入 Logstash Appender,讓應用程式 Log 可以送進 Elasticsearch。