digiLogs 勇者指南

【digiLogs 勇者指南】09.機器學習模型應用理論

陶玲巧 Sherry Taur / 謝紹勳 David Hsieh 2025/01/15 12:07:17
38

上一篇【digiLogs 勇者指南】08.digiCollector監控與鏈路追蹤實務指南,介紹了dgC的鏈路追蹤功能,如何幫助我們分析系統效能、診斷延遲問題,並了解元件之間的依賴關係。今天我們將解說 digiLogs(以下簡稱 dgL)中,如何進行機器學習和預測分析的方法。

 

dgL 機器學習透過特定的資料來源進行 K-means 分群分析,並根據數計的分析結果產生四個模型標準,以利管理者方便管理與設定告警等應用。

 

一、K-means 演算法說明

K-Means clustering是分群演算法(Clustering Algorithom)中的其中一種。在非監督式學習(Unsupervised Learning)中,分群的目的即是「物以類聚」,將具有相似特徵的資料做歸類。

 

根據下圖從左至右簡單敘述K-Means分析方式:

1.原始資料指在未套用K-Means前的資料狀態。

2.套用K-Means後,會從原始資料中隨機選取K個點作為初始的群集中心(群心),K代表分群的數量。

3.群心設定好,就將會把每一個資料點分類到離自己最近的群集中心。

4.最後分群完成。

 

二、K-means K群算法說明

但是怎麼知道我該分幾群是最好的分群結果呢?dgL使用「手軸法( Elbow method)」,來找出最佳K群。

 

透過誤差平方和(sum of the squared errors, SSE)作為指標計算每一群中的每一個資料點到群中心的距離,找出 SSE 相對平緩的資料點作為拐點(Inflection point),並以此拐點選為群數,拐點很像人的手軸如右下圖,因此才稱為手軸法。

 

參考下方二圖,如要找出最大差異的關鍵點,K=3時幅度明顯趨向平穩,因而得出設定K=3。

 

三、測試機器學習模型與告警機制(digiLogs版本V3.4後適用)

透過digiLogs功能『系統功能管理 > 機器學習模型維護』建立所需機器學習類型,以下為digiLogs資料實作後,所得到的四個模型標準,並應用於下列情況:

1.異常的來源或訪問IP位置(收集方式:Packet-Beats):訓練模型產出常用使用者的連線IP位址並指出造成異常來源IP位址,。

2.網路連線數異常識別(收集方式:Packet-Beats):描述IP連線數量出現異常的情況, 指出是否存在同一個IP地址在短時間內發起大量連線請求或同時建立了過多的連線。

3.登入次數異常(收集方式:digiCollector):有關IP請求次數異常,例如是否出現了非常頻繁的請求、多次嘗試失敗、或者是短時間內大量的請求。這有助於識別可能的安全風險或系統設置問題。

4.登入IP異常(收集方式:digiCollector):描述有關異常IP請求的資訊,透過IP位址推算異常請求是否來自未授權的地點或者是一種攻擊行為。

 

四、運算資料來源說明

在 digiLogs 中建立的模型是透過兩個資料來源(packet-beats 和 digiCollector)進行收集,並傳送至 dgl-packet-* 。隨後,透過這些資料會以多維度方式進行 K-means 分群分析,產出的結果可以用來做告警等應用。

 

備註:
1.若 Index dgl-packet-* 中無資料,則不會建立機器學習模型。
2.若使用者有多筆相關訓練資料,可將資料倒入進dgl-packet-* 這份Index方可進行模型訓練。

3.dgl-packet-*的logs,使用type欄位進行分群,當type=http表示資料來源為digiCollector,type=flow表示資料來源為Packetbeat

 

五、測試機器學習模型與告警機制

建立好的機器學習模型可建立告警設定,當告警設定觸發後,可於歷程與賦歸內偵測明細中,查看觸發機器學習模型觸發的數值是否與預期結果相符,若是該觸發的數值人工判讀為正常值,可按下倒讚。

 

按下倒讚後會將該數值標註為正常值並記錄於快取記憶體,並於下一次模型運算時代入反饋,將模型進一步完善。

 

以上是關於 digiLogs v3.4版本有關機器學習模型的原型與資料來源說明,希望能夠對您有所幫助,謝謝。

 

機器學習模型維護功能實作方式,請參考下一篇【digiLogs 勇者指南】10.機器學習模型實作於異常檢測系統建置。

 

 

【參考資料】

https://paulvanderlaken.com/2018/12/12/visualizing-the-inner-workings-of-the-k-means-clustering-algorithm/

https://medium.com/%E6%89%8B%E5%AF%AB%E7%AD%86%E8%A8%98/%E8%87%AA%E7%84%B6%E8%AA%9E%E8%A8%80%E8%99%95%E7%90%86-%E4%BD%BF%E7%94%A8-k-means-%E6%AF%94%E8%BC%83%E5%90%84%E7%B8%A3%E5%B8%82%E5%B8%82%E9%95%B7%E5%B0%B1%E8%81%B7%E5%85%B8%E7%A6%AE%E6%BC%94%E8%AA%AA-169ac9ac5501

https://blog.csdn.net/feichong621/article/details/109035295

 

陶玲巧 Sherry Taur