背景
日誌系統接入的日誌種類多、格式複雜多樣,主流的有以下幾種日誌:
-
filebeat採集到的文本日誌,格式多樣
-
winbeat採集到的操作系統日誌
-
設備上報到logstash的syslog日誌
-
接入到kafka的業務日誌
以上通過各種渠道接入的日誌,存在2個主要的問題:
-
格式不統一、不規範、標準化不夠
-
如何從各類日誌中提取出用戶關心的指標,挖掘更多的業務價值
爲了解決上面2個問題,我們基於flink和drools規則引擎做了實時的日誌處理服務。
系統架構
架構比較簡單,架構圖如下:
各類日誌都是通過kafka彙總,做日誌中轉。
flink消費kafka的數據,同時通過API調用拉取drools規則引擎,對日誌做解析處理後,將解析後的數據存儲到Elasticsearch中,用於日誌的搜索和分析等業務。
爲了監控日誌解析的實時狀態,flink會將日誌處理的統計數據,如每分鐘處理的日誌量,每種日誌從各個機器IP來的日誌量寫到Redis中,用於監控統計。
模塊介紹
系統項目命名爲eagle。
-
eagle-api:基於springboot,作爲drools規則引擎的寫入和讀取API服