在15章講過利用Logstash 的Grok做資料欄位切割並傳到Elasticsearch,這章來講一下利用資料探勘來進一步做分析
資料探勘(英語:data mining)是一個跨學科的電腦科學分支 。 它是用人工智慧、機器學習、統計學和資料庫的交叉方法在相對較大型的資料集中發現模式的計算過程。 資料探勘過程的總體目標是從一個資料集中提取資訊,並將其轉換成可理解的結構,以進一步使用。
https://zh.wikipedia.org/wiki/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98
Log Mining
我們在前幾章收了很多Log 也能做mining嗎? 查一下還蠻多人在做的,這裡先參考: An Evaluation Study on Log Parsing and Its Use in Log Mining這篇論文的作法
https://slideplayer.com/slide/12299621/

Sturctured Data
拿到Log的Raw Data後,逐步將資料從非結構化 -> 半結構化 -> 結構化,結構化的資料容易看得懂,並且很容易利用分析

參考資料: 結構化資料是什麼? 數據分析前,重新認識你的資料!
https://daxpowerbi.com/%E7%B5%90%E6%A7%8B%E5%8C%96%E8%B3%87%E6%96%99/
Hand On
參考: A Directed Acyclic Graph Approach to Online Log Parsing
https://arxiv.org/pdf/1806.04356.pdf

拿這份OpenSSH Log來練習 https://github.com/logpai/loghub/blob/master/OpenSSH/SSH_2k.log
Raw Log Messages
首先做分類

Log Events
再來作抽象化,轉成變數來達到資訊壓縮減量

抽象化(類型2)

Structure Logs

Matrix
如果以時間及事件作矩陣,會發現Event 2~6 會同一起出現

回去查看原始資料會發現,這是一個驗證登入錯誤的事件,並且有相關性,Event2後面應該要接著3、4、5、6,假設Log沒有漏紀錄,之間少一個可能判定異常
