📔心得
因最近在研究elk-stack,藉此紀錄一下使用docker-compose建立起elk-stack的架構,在建立的過程中,比較多遇到的是記憶體使用率的配置不足,導致容器無法成功啟動,或是config檔權限的問題,因此在filebeat的部分會直接把config檔放進去並改成root權限。
之後希望能再增加logstash的pipeline功能,在實務上可多個服務做篩選,以及elasticsearch的資料安全性配置SSL和叢集架構,並導入ILM做log的空間管理。
監控的部分則是拿之前做的小專案直接套用並呈現,所以整體流程大致上差不多,多了個elasticsearch_exporter,可查看更多elasticsearch的整體狀況,例如index、shard的數量,資料大小,寫入速率等等。
👨💻簡介
- 🔰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
- 使用docker-compose啟動服務
sudo docker-compose up -d
2. 進到localhost:5601按照以下圖示設定index pattern
3. 可進到localhost:3000查看grafana dashboard,帳密都為admin