傳統ELK圖示:

單純使用ElK實現分布式日志收集缺點?
1、logstash太多了,擴展不好。
如上圖這種形式就是一個 tomcat 對應一個 logstash,新增一個節點就得同樣的擁有 logstash,可以說很浪費了。
2、讀取IO文件,可能會產生日志丟失。
3、不是實時性
比如logstash,底層通過定時器發現數據庫發生變化后才去同步,由於是定時則必然出現延遲。
那么既然出現了這些問題,有什么解決方案呢?
安裝kafka
kafka是基於發布訂閱模式的,類似於生產者與消費者。
一張圖搞懂 kafka 的作用:

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