📔心得

因最近在研究elk-stack,藉此紀錄一下使用docker-compose建立起elk-stack的架構,在建立的過程中,比較多遇到的是記憶體使用率的配置不足,導致容器無法成功啟動,或是config檔權限的問題,因此在filebeat的部分會直接把config檔放進去並改成root權限。

之後希望能再增加logstash的pipeline功能,在實務上可多個服務做篩選,以及elasticsearch的資料安全性配置SSL和叢集架構,並導入ILM做log的空間管理。

監控的部分則是拿之前做的小專案直接套用並呈現,所以整體流程大致上差不多,多了個elasticsearch_exporter,可查看更多elasticsearch的整體狀況,例如index、shard的數量,資料大小,寫入速率等等。

🔗詳細專案位置 –> ELFK-stack-monitor

👨‍💻簡介

  • 🔰ELFK-stack:使用docker-compose建立起elk-stack的架構,主要先從alpine產生假資料並存到filebeat讀取的資料夾,接著filebeat將資料送往logstash,在實務上,會在logstash做filter的功能(未來會新增),接著送到elasticsearch存起來,並透過kibana的ui下去做搜尋所需的log資料。

  • 🔰Monitor:使用cadvisor監控所有容器以及elasticsearch_exporter監控elasticsearch的狀態,並把資料送到prometheus儲存起來,最後透過grafana的ui呈現。

🔰基礎介紹

  • ⚙️ELFK-stack : alpine+filebeat(送資料) -> logstash(filter) -> elasticsearch(db) -> kibana(ui)

  • ⚙️Monitor : cadvisor,elasticsearch_exporter(monitor) -> prometheus(db) -> grafana(ui)

🎯setup

  1. 使用docker-compose啟動服務
sudo docker-compose up -d
  1. 進到localhost:5601按照以下圖示設定index pattern

  1. 可進到localhost:3000查看grafana dashboard,帳密都為admin

  • container-dashboard **

  • elasticsearch-dashboard

✅TODO

  • 新增log filter
  • 添加ssl
  • cluster架構的elastic