ELK 簡單介紹與架設

需求很簡單,手頭上的一個專案由不同的系統構成,每個系統有自己的 log,有些還不是 log 是寫進 SQL,當要追一個系統問題時,需要在不同的地方找線索串出整個問題發生的前因後果。這樣做不是不行,一來要連進不同的主機,不同的系統,要會下 SQL,要會下正規,查一次下來半條命都去了。

理想上應該將所有的 log 都倒進同一個地方,然後用一個美麗的網頁介面來呈現這些 log。原本想用 Springboot 自幹一個簡單的 Web APP 來做,剛好想到最近看的書 App 後台開發維運和架構實踐,有提到 ELK 這套日誌分析平台,號稱窮人版的 Splunk



ELK 大致架構如上圖:
  • logstash:讀取 log 檔案,讀取時可以做些處理,比如擷取有意義的字串產生一個新的欄位。最後將資料傳給 elasticsearch。
  • elasticsearch:可以想成 no SQL 的搜尋引擎。
  • kibana:連接 elasticsearch,提供一個網頁介面,讓使用者對 elasticsearch 操作,做搜尋、建立圖表、建立即時監控儀表板。
我架設的方法是用 github 上人家做好的 vagrantfile,大致上是用 vagrant 產生一個有 puppet 的 ubuntu,第一次啟動時,vagrant 再利用 puppet 和 script 去安裝 ELK 所需要的元件,順利應該是 vagrant up 完,本地端打開 http://localhost:5601/ 就連上 kibana 了!不用 docker 的原因是,本人目前環境還是直接給 vm 交接速度比較快,用 docker 可能還要花時間教學。

安裝步驟和踩到的雷就放在下方的 google drive 上啦,有需要的人可以拿去參考。至於 ELK 除了網路上外,我另外買了 ELKstack 權威指南,整理的不錯,可以省去初學者不少時間。

覺得看完後對你有幫助,可以用比特幣或是 ETHEREUM 打個賞,贊助一下本人,感恩。
  • 比特幣:13QhmaWSAGU6oeuzM3hKaAjt2sDegxbAgD
  • ETHEREUM:0x5d748f15a641413c3362ae6af37e5dcadf7edf62



0 則回應: