ELKB日誌流:日誌分類思路

0、引言

日誌已經可以收集了,那總不能將所有的日誌都放在一個索引下吧?
那怎麼對日誌進行分類呢?

1、分類思路

我的分類思路主要是兩個層級:日誌類型、日誌內容;

  • 日誌類型:即通過不同ES索引存儲不同類型的日誌;
  • 日誌內容:對日誌內容,根據指定字段進行分類;

2、日誌類型分類

2.1 系統日誌

Filebeat讀取各個服務的.log文件進行推送;
讀取不同的日誌文件,增加分類字段,logstash最終保存到ES不同的索引中。
比如:nginx訪問日誌,mysql錯誤日誌,mysql慢查詢日誌;
命名方式 :nginx-access-20200101;

2.2 業務日誌

業務日誌也可以分爲兩類 : 行爲日誌、 錯誤日誌;

各個應用將業務日誌輸出到Redis隊列中,logstash最終保存到ES;
因爲考慮的是,不同業務產生的日誌,對應唯一隊列,所以沒有增加分類字段;

3、日誌內容分類

業務日誌內容輸出時,指定日誌格式,指定字段存儲篩選條件
配置logstash過濾規則,將信息拆分,在kibana對應篩選過濾;

比如 :app業務行爲日誌,Redis隊列寫入的內容字符串爲;
“2020-01-01 12:12:12|用戶模塊|登錄操作|joker|日誌描述xxx”
“2020-01-01 12:12:12|訂單模塊|支付操作|joker|日誌描述xxx”
“2020-01-01 12:12:12|商品模塊|瀏覽操作|joker|日誌描述xxx”

4、日誌字段規劃

4.1 業務日誌:行爲日誌

日誌名稱測試 : System_Behavior_Log_Date

​ 例如 App_Behavior_Log_20200101;

日誌內容格式 : xxxx | xxxxx | xxxxx | xxxxx | xxxx

字段 描述
時間 日誌創建時間 : 2020-01-01 12:12:12
業務 系統對應業務 :登錄、、修改信息
操作人 對應系統業務: APP對應用戶id、平臺對應OA賬號等
操作描述 本次操作描述:簡短描述操作,方便查看
操作參數 json格式參數:將對應參數以json格式寫入Redis

4.2 業務日誌:錯誤日誌

日誌名稱測試 : System_Error_Log_Date
​ 例如: App_Error_Log_20200101

日誌內容格式 : xxxx | xxxxx | xxxxx | xxxxx | xxxx

字段 描述
時間 日誌創建時間 : 2020-01-01 12:12:12
系統 日誌產生系統 : APP、門戶平臺等
業務 系統對應業務 :登錄、綁定學員、修改信息
錯誤類型(未確定) 錯誤類型標識: Notice、Error
錯誤地址 發生錯誤地址:xxx.com/xxx/xxx
錯誤文件 發生錯誤文件:文件名及行數
錯誤參數 發生錯誤參數:將對應參數以json格式寫入Redis
錯誤描述 本次操作描述:簡短描述操作,方便查看
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章