總體架構:
邏輯架構:數據庫
一個系統(project)包含多個服務(service),一個服務有多個副本,elk系統須要將不一樣系統的日誌統一歸集,按project-service-date歸集到index便於查看系統日誌,避免尋找系統全部副本日誌的繁瑣。
Filebeat定義所採集的系統、服務及其日誌地址,發送到project-service的topic。Logstash訂閱kafka以該project開頭全部的topic,通過統一解析後添加日期信息,發往project-service-date的index中。
若是須要採集其餘系統日誌,更改filebeat的project,service及日誌地址,並在logstash添加新的數據源(project-*)便可。json
filebeat:採集日誌發往kafka架構
input:分佈式
Output:spa
部署:線程
Logstash:解析數據發往es日誌
input:kafka部署
filter:kafka
output:input