傳統ELK圖示:redis

單純使用ElK實現分佈式日誌收集缺點?
一、logstash太多了,擴展很差。數據庫
如上圖這種形式就是一個 tomcat 對應一個 logstash,新增一個節點就得一樣的擁有 logstash,能夠說很浪費了。tomcat
二、讀取IO文件,可能會產生日誌丟失。服務器
三、不是實時性app
好比logstash,底層經過定時器發現數據庫發生變化後纔去同步,因爲是定時則必然出現延遲。分佈式
那麼既然出現了這些問題,有什麼解決方案呢?
安裝kafkaspa
kafka是基於發佈訂閱模式的,相似於生產者與消費者。日誌
一張圖搞懂 kafka 的做用:blog

思考問題:
1. Logstash輸入來源有那些?
本地文件、kafka、數據庫、mongdb、redis等索引
2. 那些日誌信息須要輸入logstash
error級別
3. AOP 異常通知 服務與服務之間如何區分日誌索引文件
服務名稱
4. 在分佈式日誌收集中,相同的服務集羣的話是不須要區分日誌索引文件。
5. 目的爲了 統一管理相同節點日誌我信息。
6. 相同的服務集羣的話,是是不須要區分日誌索引文件 搜索日誌的時候,如何定位服務器節點信息呢?
未完待續。