成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

故障召回率提升34%,攜程智能異常檢測實踐

開發 新聞
指標異常檢測是智能運維領域的重要落地場景,攜程AIOPS團隊致力于提升告警質量,尋找告警效率、準確率和真實故障召回率三者之間的平衡點。

作者簡介

零一,攜程算法工程師,專注于智能告警、容量管理、根因定位等領域。

一、背景

攜程作為在線旅游公司,對外提供機票、酒店、火車票、度假等豐富的旅游產品,其系統穩定性關乎用戶是否具有順滑的出行體驗。然而,流量激增、代碼發布、運維變更等都會給系統穩定性帶來挑戰。

我們在2020年對生產故障的“發現-定位-解決效率”提出了“1-5-10”的目標(即一分鐘發現故障,五分鐘定位故障,十分鐘解決故障),這無疑對監控告警提出了很高的要求。訂單量是生產故障異常檢測場景中最核心最顯性的指標,訂單量在自身形態上具有周期性、規律上升和下降、業務高峰和低谷等特點,影響因素包括節假日、促銷等。倘若數以萬計的業務線通過人工配置規則的方式來覆蓋到所有業務場景,并且做到高準確率和召回率,是非常不現實的。因此,迫切需要一套配置費力度低、普適性強、準確率高、時效性強的智能異常檢測算法體系來及時發現異常。

指標異常檢測是智能運維領域的重要落地場景,攜程AIOPS團隊致力于提升告警質量,尋找告警效率、準確率和真實故障召回率三者之間的平衡點。我們將統計學方法和機器學習方法結合,根據指標的歷史數據,將訓練的多個模型組成一套異常檢測系統,在覆蓋真實故障的基礎上,減少告警數量,產生更有價值的告警。

二、告警質量提升

2.1 更準確的預測

時序類異常檢測算法通常是對指標進行預測,通過對比實際值與預測值的偏離情況來判斷時刻T是否異常。與其他算法相比,時序類異常檢測算法適用于更多的數據類型,并且檢測效果也是最優的。

為實現對業務線的精準預測,前期我們嘗試了ARIMA、Holt-Winter、LSTM等多種時間序列預測方法。攜程訂單業務指標具有較強的周期性,LSTM模型捕獲序列長期和短期模式的特性導致其在周期性指標上的預測效果優于其他模型。我們以離當前時刻最近的10個時間序列數據作為LSTM模型的輸入,采用滑動窗口不斷預測未來時刻指標的取值。

在絕大多數場景下,LSTM模型的預測效果是非常好的,然而,當指標出現緩慢下跌時,由于在短時間內很難判斷出異常,隨著窗口的不斷滑動,訓練數據中包含了異常值,從而導致預測值被帶偏。

為了解決這個問題,采用假設檢驗的方式對指標當前走勢做出判斷。我們認為,短期內指標的取值應具有一定的隨機性,不會具有明顯的上升或下降趨勢。當假設檢驗認為指標在當前時段存在上升或下降的趨勢時,不再對LSTM模型的輸入數據作更新,依然采用上一個窗口的輸入數據進行預測。

當假設檢驗認為當前數據不存在上升或下降趨勢時,才會對LSTM輸入數據進行更新。在做趨勢分析時,不應將指標自身的趨勢性包括進來,所以,我們可以利用的時間序列數據是非常有限的,此場景下,非參數檢驗方法要優于參數檢驗,因此,我們采用Mann-Whitney U統計量進行趨勢分析。為了評估不同模型的性能,我們選擇了三條業務線,并使用平均絕對誤差(MAE)作為評估指標進行對比,實驗結果表明,經過趨勢分析調整的LSTM模型的MAE值最小,說明預測效果最優。


ARIMA

Holt-Winter

LSTM

LSTM-Adjust

AA業務線

0.01519

0.02024

0.01995

0.01483

BB業務線

0.02975

0.03064

0.02919

0.02612

CC業務線

0.02314

0.02542

0.02108

0.01690

表1 不同模型的預測效果

趨勢分析的引入,加強了LSTM模型的預測精度(如圖1),無論是對于點異常(顯著有別于其他點的數據異常)的識別還是對于連續性異常(指標在正常范圍內波動,但波動模式卻發生了顯著變化)的識別,均做了較好的鋪墊。         

圖1

2.2 自適應閾值計算

起初,研發人員會基于自己對業務的理解,設置“人為指定規則”的專家體系,同時,為保障故障100%召回,閾值設置的都比較敏感。該體系不僅存在準確率低、維護成本高的問題,還可能產生告警風暴,導致告警接收人警惕性麻痹,產生更嚴重的故障。

為解決這個問題,我們從數據本身出發,基于數據本身的波動性,構造合適的統計學模型,實現閾值的自適應計算。

為便于對異常程度進行衡量,我們定義統計量Z,假設當前值為圖片,預測值為圖片。當預測值與實際值很接近,Z值接近于0;偏離越大,Z的絕對值也越大(如圖2)。異常事件發生的概率是非常小的,一般情況下,預測值與實際值非常接近,也就是說,不同時刻Z統計量的取值圍繞X軸上下隨機波動。數據分析發現,基于不同時間段計算的Z統計量的均值和方差均是一個與時間T沒有關系的常數,這完全符合平穩時間序列的定義,因此,我們認為,時間序列Z屬于平穩時間序列。

圖片

當數據平穩時,業界一般會對指標的分布情況做出估計,通過上限閾值或下限閾值來實現上升或下降場景的異常檢測。對指標的分布情況做出估計的方法稱作密度估計。統計學中,密度估計方法包括參數方法和非參數方法兩種。參數估計方法假定樣本服從某個分布,然后基于假定分布作出區間估計和點估計;而非參數方法一般不利用有關數據分布的先驗知識,對數據分布不做任何假設,從數據本身出發做出估計。

實踐證明,非參數方法核密度估計(KDE)對指標Z的擬合效果要好于高斯,因此,我們采用KDE方法對指標Z的分布情況進行估計,考慮到異常事件出現的概率遠小于正常事件出現的概率,經不斷驗證和調整,我們一般選擇99.99分位數作為異常判斷的閾值。

我們發現,指標在一天內不同時間段的波動性存在顯著差異,業務低谷期間指標隨機性更強,波動性相對也更大一些。倘若不考慮指標在不同時間的波動性,每條業務線僅配置一個閾值,由于閾值被平均,可能導致在業務低谷期間誤告增多,業務高峰時段真實故障無法被召回。

在統計學中,采用標準差和變異系數來衡量指標的波動性,相比標準差,變異系數剔除了量綱的影響,便于在不同指標間進行波動性的比較。我們基于指標在不同時段變異系數的取值情況,將一天24小時劃分為低波動區和高波動區,也就是說,一條業務線只要適配兩組閾值,便可做到7*24小時不間斷監控。

圖2

通過上述方法,實現了告警體系閾值的自適應計算和優化,告警準確性和故障召回率均有顯著提升。與人為指定閾值的方式相比,故障召回率提升了34%。

2.3 業務趨勢分析

我們發現,采用單一異常檢測算法在多指標上很難實現通用,為進一步提升告警質量,需要結合其他算法實現異常的層層過濾。下面將講述我們是如何利用線性回歸模型對訂單業務指標進行異常檢測的。

宏觀上看,訂單隨時間周期性波動,倘若將時間窗口圈定在最近的有限分鐘內,便可以采用線性模型對業務趨勢進行擬合。在業務高峰來臨前,觀測值隨著時間的推移不斷增加,高峰過后,觀測值隨時間的推移不斷下降。由于Huber-Regression穩健回歸算法為識別為異常點的觀測值分配較小的權重,所以,無論訓練數據中是否包含異常值,均能得到比較理想的回歸線。

因此,我們最終采用Huber-Regression算法對指標短期窗口內的觀測值進行預測分析。為了對指標在時刻T的異常情況做出判斷,需要對窗口內指標的波動性進行衡量,觀測點與擬合直線之間的距離是指標波動性的一種體現。對于強周期性指標,可以設置較為敏感的閾值;當指標整體量綱比較小,用戶行為對曲線形態的影響較大,可以適當調低異常檢測敏感度。

引入業務趨勢分析,可以有效減少指標抖動產生的誤報,從而提高告警準確性。業務趨勢分析可以幫助我們更好地理解業務當前趨勢,從而更準確地判斷異常情況。通過業務趨勢分析的引入,告警準確率提升了30%。

2.4 周期性異常

周期性異常是指在一定時間范圍內,某個或某些指標出現了周期性的波動或變化,通常與正常的趨勢和規律不符,表現為短期內突然上升或下降。周期性告警屬于一種較為明顯的誤報,在總告警數量中占有不少比例,如果不進行有針對性解決,將會嚴重影響用戶體驗。

為了實現周期性異常的過濾,需要考慮周期性異常在時間維度上的偏移。動態時間規整(DTW)是一種用于比較兩個時間序列相似性的算法,它可以對兩個時間序列進行時間軸上的對齊,從而消除時間上的偏移,使得它們在時間上的對應點更加接近。為實現周期性異常的檢測,可以采用以下步驟:

  • 利用DTW算法實現當前時段數據和歷史數據的最優匹配,從而消除時間上的偏移,提高周期性異常的檢測準確性。
  • 基于當前數據和最優匹配數據進行異常特征提取,例如周期、幅度、相位等,這些特征要盡可能描述當前異常。
  • 使用分類算法對異常特征進行判斷,從而得出當前異常是否處于周期性異常的結論。

通過上述方法,實現了對周期性異常的準確過濾,周期性誤報減少80%,對于提升告警質量有非常重要的作用。

三、小結

智能異常檢測系統包括線下訓練和線上實時檢測兩部分(如圖3)。由于業務變化較快,較遠的歷史數據參考性不大,因此采用14天的歷史數據訓練預測模型和自適應計算閾值。

歷史數據需要進行預處理,主要包括以下幾個方面:

  • 異常事件產生的異常數據需要剔除,比如,RCA時間段、秒殺、考試等外面事件引起指標的突升。同時,采用滑動窗口的方式對異常區間進行缺失值補全。
  • 為增強模型魯棒性,消除數據毛刺點產生的影響,使用滑動窗口對數據進行平滑處理。
  • 對數據進行歸一化處理,保證LSTM預測模型能夠快速收斂,提高模型預測精度。

線上檢測算法包括:基線預測模塊和無監督異常檢測方法集。基線預測模塊的主要功能是時間序列預測和異常特征提取,無監督異常檢測方法集包括一些統計類異常檢測算法,如Boxplot、K-sigma、KDE。無論是點異常還是連續性異常,均會基于異常特征集,采用多種無監督檢測方法實現檢測,最終以投票的方法得出時刻T是否異常的結論。

圖3

智能異常檢測系統在攜程投入使用三年有余。在這期間,我們有遇到各式各樣的挑戰。經過千錘百煉,取得了不錯的效果。告警準確率和召回率均有了顯著提升,大部分故障可以在一分鐘內被發現。

責任編輯:張燕妮 來源: 攜程技術
相關推薦

2023-07-07 14:18:57

攜程實踐

2023-10-20 09:17:08

攜程實踐

2022-12-14 10:09:44

研發效能

2024-09-25 15:37:46

2022-07-15 12:58:02

鴻蒙攜程華為

2022-05-13 09:27:55

Widget機票業務App

2022-06-03 08:58:24

APP攜程流暢度

2022-09-20 09:54:35

運維AIOps

2023-08-25 09:51:21

前端開發

2022-09-03 21:13:19

攜程供應商直連平臺

2022-07-15 09:20:17

性能優化方案

2023-02-08 16:34:05

數據庫工具

2022-08-12 08:34:32

攜程數據庫上云

2022-07-08 09:38:27

攜程酒店Flutter技術跨平臺整合

2023-03-14 14:01:00

內存優化

2022-05-27 09:52:36

攜程TS運營AI

2023-08-18 10:49:14

開發攜程

2023-12-15 10:05:58

攜程網絡

2023-07-07 12:26:39

攜程開發

2022-06-03 09:21:47

Svelte前端攜程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产大毛片 | 四虎影 | 午夜伦理影院 | 亚洲一二三区精品 | 精品国产乱码久久久 | 91精品国产高清一区二区三区 | 国产二区av | 精品中文字幕一区 | 欧美黑人一级爽快片淫片高清 | 超碰免费观看 | 丝袜 亚洲 另类 欧美 综合 | 日韩一区二区三区视频 | 久久69精品久久久久久久电影好 | 国产精品亚洲综合 | 一级黄大片 | 日韩一区二区在线视频 | 成人久久| 青青草一区二区 | 国产在线一区二区三区 | 久久99精品久久久 | 爱操影视 | a在线观看| 九九视频在线观看 | 日韩精品一区二区三区在线播放 | julia中文字幕久久一区二区 | 国产资源视频 | 日韩久久久一区二区 | 欧美理论片在线 | 操久久| 久久影音先锋 | 91精品久久久久久久久中文字幕 | 亚洲视频免费一区 | 免费视频中文字幕 | 成人免费视频观看 | 一区二区三区精品视频 | 伊人春色在线观看 | 精品国产91乱码一区二区三区 | 成人精品一区二区三区中文字幕 | 成年人黄色一级片 | 久久com | 嫩草一区二区三区 |