全部產品
Search
文件中心

Simple Log Service:演算法說明

更新時間:Jul 25, 2024

Log Service提供智能巡檢功能,用於對監控指標或業務日誌等資料進行全自動、智能化、自適應的異常巡檢。目前智能巡檢使用流式圖演算法、流式分解演算法和監督異常檢測演算法進行資料巡檢。本文介紹流式圖演算法、流式分解演算法和監督異常檢測演算法的適用情境、參數配置、預覽說明等內容。

流式圖演算法

流式圖演算法基於Time2Graph系列模型中的原理進行研發,可對資料進行整體降噪,分析異常資料相對整體的位移狀態。流式圖演算法適用於對規模大、噪音多、周期不明顯的時間序列進行異常檢測。更多資訊,請參見Time-Series Event Prediction with Evolutionary State Graph

情境說明

流式圖演算法採用線上機器學習技術,對每條資料進行即時學習、推斷,適用於一般性時間序列的異常檢測情境,包括:

  • 機器層級的監控指標的異常巡檢,例如CPU佔用率、記憶體利用率、硬碟讀寫速率等。

  • 業務指標的異常巡檢,例如QPS、流量、成功率、延時等。

  • 黃金指標的異常巡檢。

參數說明

您可以在建立智能巡檢作業設定精靈頁面的演算法配置地區,完成演算法配置。具體操作,請參見通過SQL彙總指標資料進行即時檢測

參數

子參數

說明

進階參數(必填)

時序分段個數

根據時序數值大小對時序數值進行劃分,用於離散化時間序列,構造時序演化圖。

  • 預設值為8。

  • 建議值範圍為[5, 20]。

  • 分段越少,異常檢測越不敏感。

觀測長度

異常檢測時需要觀測的歷史資料點的個數。

  • 預設值是2880。

  • 建議值範圍是[200, 4000]。

  • 如果被檢測序列具有周期性,建議觀測長度至少包含2個周期的資料點。例如,某個時間序列的觀測點時間間隔為1分鐘、周期為1天,則該時間序列2個周期有2880個觀測點,建議觀測長度的取值大於等於2880。

環比長度

環比分析時的時間長度,以天為單位。異常檢測時會注重分析被檢測指標的環位元征。設定為0時,演算法不進行環比分析。

重點捕獲類型

設定著重關注哪一種形態的時序異常。包括以下類型:

  • 向上的尖刺:指標數值單點向上突增。

  • 向下的尖刺:指標數值單點向下突降。

  • 向上的漂移:指標數值連續若干點平台上升。

  • 向下的漂移:指標數值連續若干點平台下降。

  • 趨勢性上漲:指標數值連續若干點持續上升。

  • 趨勢項下跌:指標數值連續若干點持續下降。

樹的數量

異常檢測演算法使用決策樹輔助檢測,配置使用的決策樹的數量。

單棵樹的樣本量

異常檢測構造決策樹時需要從觀測資料中採樣若干資料樣本,配置採樣的資料樣本數量。

整體異常率

估計值,用於描述時序資料中包含的異常資料的比例,合理的取值範圍是[0.001, 0.01]。

形態判別最短視窗

捕獲時序的異常形態時,參考的觀測序列的最小長度。

形態判別最長視窗

捕獲時序的異常形態時,參考的觀測序列的最長長度。

異常確認最短視窗

捕獲時序的異常形態時,待檢測序列的最小長度。

異常確認最長視窗

捕獲時序的異常形態時,待檢測序列的最長長度。

單維度特徵配置

-

單獨配置待檢測時序的每一個特徵,包括以下內容:

  • 最大值:該特徵指標數值的最大值。

  • 最小值:該特徵指標數值的最小值。

  • 歸一化:對該特徵序列進行檢測時,使用哪種方式對序列進行歸一化。

  • 異常關注類型:對該特徵序列進行檢測時,重點關注哪一類異常形態。

通知敏感度配置

-

對於不同時間段檢測到的例外狀況事件配置不同的通知門檻。例如忽略服務在每周定期維護期間出現的例外狀況事件。

流式分解演算法

流式分解演算法基於RobustSTL系列模型中的原理進行研發,可對資料流進行批處理但計算成本更高,適合小規模業務指標資料的精確巡檢。大規模資料情境下,建議您拆分資料或使用流式圖演算法。更多資訊,請參見RobustSTL: A Robust Seasonal-Trend Decomposition Algorithm for Long Time Series

情境說明

流式分解演算法適用於對具有周期性的資料序列進行巡檢,且要求資料的周期性較為明顯。例如適用於具有明顯周期變化的業務指標巡檢的情境。

說明

周期性資料在日常生活中比較常見,例如遊戲的訪問量、客戶的訂單量。

參數說明

您可以在建立智能巡檢作業設定精靈頁面的演算法配置地區,完成演算法配置。具體操作,請參見通過SQL彙總指標資料進行即時檢測

  1. 配置演算法。

    參數

    子參數

    說明

    自動周期檢測

    -

    是否開啟周期自動檢測,主要適用於時序資料存在周期性情境。如果時序序列的周期性一直,建議關閉自動周期檢測,手動設定序列的周期長度。

    周期檢測頻率

    -

    開啟自動周期檢測時該配置項生效。演算法根據配置的時間頻率定期更新時間序列的周期。例如周期檢測頻率是12小時,那麼演算法每隔12小時自動檢測更新序列的周期。

    周期長度

    -

    關閉自動周期檢測時該配置項生效。設定序列周期的時間長度,如果序列無周期,那麼設定為0。

    觀測長度

    -

    異常檢測時參考的歷史資料長度。如果序列包含周期性,那麼建議觀測長度是序列周期長度的3倍。例如序列的周期長度為1天,那麼設定觀測長度為3天。

    敏感度

    -

    敏感度越高,檢測到的異常數量越多、異常分數越高。此時對於異常的召回率越高,準確率越低。

    進階參數

    趨勢項敏感度

    演算法會將序列分解成趨勢項、周期項和雜訊項三部分。趨勢項敏感度越高,在對趨勢項序列異常檢測時檢測到的異常數量越多、異常分數越高。此時對於異常的召回率越高,準確率越低。

    雜訊項敏感度

    演算法會將序列分解成趨勢項、周期項和雜訊項三部分。雜訊項敏感度越高,在對雜訊項序列異常檢測時檢測到的異常數量越多、異常分數越高。此時對於異常的召回率越高,準確率越低。

    趨勢項採樣長度

    演算法會將序列分解成趨勢項、周期項和雜訊項三部分。如果序列觀測長度太長,會導致趨勢項分析速度較慢。配置的趨勢項採樣長度越長,趨勢項分析速度越快(可能會降低趨勢項檢測的準確率)。例如配置趨勢項採樣長度為8,分析趨勢項時在原始序列中每個8個點採樣一個資料點,在採樣後序列上進行分析。

    周期項採樣長度

    演算法會將序列分解成趨勢項、周期項和雜訊項三部分。如果序列觀測長度太長,會導致周期項分析速度較慢。配置的周期項採樣長度越長,周期項分析速度越快(可能會降低周期項檢測的準確率)。例如配置周期項採樣長度為8,分析周期項時在原始序列中每個8個點採樣一個資料點,在採樣後序列上進行分析。建議配置在5以內。

    視窗長度

    如果序列觀測長度太長,會導致異常檢測速度較慢。設定視窗長度後檢測演算法以滑動視窗的形式分段檢測資料序列,提高檢測速度。建議配置在5000以內。如果不需要按照滑動視窗形式檢查,配置為0。

  2. 在預覽地區體驗、查看當前參數配置下的演算法效果。

    1. 設定時間範圍,確定待檢測的時間序列的起始和結束時間。單擊資料查詢,將使用在資料特徵配置中設定的查詢分析語句,處理指定時間範圍的資料,產生時序資料。

    2. 選擇實體資訊特徵,確定待檢測的特徵序列。單擊預覽將會調用檢測演算法處理指定的特徵序列,並在下方展示檢測結果。單擊顯示參數,會顯示當前演算法的參數配置。

    3. 檢測結果中展示趨勢項預覽周期項預覽雜訊項預覽。可以在趨勢項預覽雜訊項預覽中調整異常閾值,只有當異常分數大於異常閾值的例外狀況事件才可以用來產生警示。

監督異常檢測演算法

監督異常檢測演算法

監督異常檢測演算法構造時序資料的若干特徵。使用時序資料的特徵和異常標籤,訓練決策樹、隨機森林等監督分類模型。完成模型訓練後,使用訓練好的模型進行異常檢測。

情境說明

監督異常檢測演算法適用於包含異常標籤的時序資料、流式圖演算法和流式分解演算法無法處理的時序資料。

參數說明

您可以在建立模型訓練作業設定精靈頁面的演算法配置地區,完成演算法配置。具體操作,請參見通過SQL彙總指標資料進行模型訓練