精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

基于Antlr在Apache Flink中實現監控規則DSL化的探索實踐

原創
大數據 數據庫
目前業界已經有很多杰出的監控系統如Nagios、Zabbix、Prometheus,但都是面向運維人員,在應對復雜多變的業務指標監控時顯得不夠靈活。為此蘇寧數據云在流式計算框架Apache Flink之上設計了一組包含ETL、指標計算、告警觸發、告警通知模塊的業務監控引擎。

【51CTO.com原創稿件】1 引言

目前業界已經有很多杰出的監控系統如Nagios、Zabbix、Prometheus,但都是面向運維人員,在應對復雜多變的業務指標監控時顯得不夠靈活。

為此蘇寧數據云在流式計算框架Apache Flink之上設計了一組包含ETL、指標計算、告警觸發、告警通知模塊的業務監控引擎。

其基本規則是告警SQL DSL語言,定義完備易用的場景規則語法和算子并支持動態更新調整,以便于業務方接入。下面對其基本原理和實現進行介紹,供各位同行參考指正。

2 DSL規則設計

初期調研了各個業務方的需求,整理歸納出核心需求點主要是基于維度和時間的指標絕對值、同環比或方差在超出閾值范圍則觸發告警,且業務方接入的是原始明細數據,故在設計規則中需要包含數據清洗過濾、分組、聚合計算、時間窗口設置特性。

而SQL語言作為開發人員最熟悉的數據處理語言,選擇其作為原型,可以省去理解和溝通的成本。

語法規則如下:

  1. SELECT {metrics} FROM {metricFilters} WHERE {alertConditions} GROUP BY {groupByExpr} ORDER BY {orderByExpr} FOR LAST {number} MINUTE 
  • SELECT子句指標計算
  • FROM子句數據過濾表達式
  • WHERE子句告警狀態判斷表達式
  • GROUP BY子句數據分組
  • ORDER BY子句排序規則
  • FOR LAST子句計算窗口時間

目前聚合函數支持的均值(avg)、記數(count)、總數(sum)、去重記數(distinct_count)等指標計算,并支持多個指標四則混合運算、位運算、比較運算、邏輯運算。

以下SQL規則表達的業務含義是根據錯誤類型和城市信息進行分組,5分鐘內錯誤數量大于100且與前5分鐘環比大于20%則觸發告警:

 

  1. SELECT COUNT(errorType, 5) AS currentTypeNum, COUNT(errorType, 10, 5) AS previewTypeNum, (currentTypeNum - previewTypeNum) / previewTypeNumAS circularPercent, errorType, city 
  2. FROM mobileAppIdIN ("Suning_PCbrowser","Suning_WAP")   
  3. WHERE currentTypeNum>100 AND circularPercent>0.2   
  4. GROUP BY errorType, city 
  5. ORDER BY EVENT_TIME  
  6. FOR LAST10 MINUTE 

3 實現設計

3.1 SQL解析

基于Antlr定義詞法和語法,使用Maven Antlr插件生成AST解析器,Visitor模式遍歷語法樹實現各個部分處理器,不熟悉的同學可以參考Antlr官方手冊,此處不再贅述。

解析SQL語句過程如下:

  • 提取所有計算中用的到字段和過濾條件(FROM語句),作為預處理器用于ETL過程
  • WHERE子句抽象為布爾表達式,系統狀態判斷條件
  • GROUP BY子句抽象為從一個數據對象中提取分組Key的處理器
  • ORDER BY從句中提取時間窗口字段即Apache Flink中Event Time或Process Time
  • FOR LAST子句提取出時間窗口大小
  • SELECT語句是一組支持AS別名的算子,執行后的結果為鍵值對,即業務指標

需要注意的是考慮到ETL過程和計算過程都是獨立模塊,若計算過程通過字段名引用字段值,則中間對象必然是鍵值對方式的Map結構,在傳輸中序列化和反序列化必然會對性能有一定的影響。

為此在遍歷抽象語法樹過程中須構建一個解析上下文,把字段名引用改為數組下標,ETL過程產生的中間數據對象為數組結構,計算時訪問字段值的時間復雜度為O(1)。

例如原始數據為:

 

  1. {"errorType":"E005","mobileAppId":"Suning_WAP","city":"025","network":"CMCC"
  2. 解析出子字段數組[“errorType”,”city”]發送ETL模塊,處理后數據對象Row為[“E005”,”025”],算子COUNT(“errorType”)實際運行中為COUNT(ROW[0]) 

3.2 整體架構

基于Antlr在Apache Flink中實現監控規則DSL化的探索實踐

整個流程中ETL和告警計算模塊都是運行在Apache Flink中,借用Flink實時計算和狀態持久化能力。

每個業務接入方的數據格式不盡相同,把相關數據解析、清洗、過濾、豐富等功能單獨抽離成ETL模塊,可以根據接入方業務需求單獨定制部署,其中SQL中FROM階段提前到ETL模塊,提取過濾掉不需要的數據,降低數據傳輸量。

3.3 SQL引擎在Flink中的運行機制

  • ETL模塊

基于Antlr在Apache Flink中實現監控規則DSL化的探索實踐

告警規則SourceStream轉成廣播流BroadcastStream并connect到數據解析Stream,因并行度不一致且未分組須使用BroadcastProcessFunction處理規則的變化通知,把SQL規則解析成字段提取和過濾處理器,保存在BroadcastState中達到數據流和廣播流共享狀態的目的。

  • 告警計算模塊

基于Antlr在Apache Flink中實現監控規則DSL化的探索實踐

從Kafka中消費ETL模塊提取的字段和規則ID,根據告警規則Group子句提取分組信息;結合規則流解析Select子句表達式計算所有指標;再次結合規則流解析Where 子句告警觸發條件和狀態機相關參數,判斷系統當前健康狀態,觸發健康狀態機變遷;把系統狀態變遷和當前指標值作為告警事件寫入Kakfa,由告警通知模塊根據通知規則配置處理相關發送邏輯。

3.4 聚合計算

Apache Flink是流式實時處理框架,而聚合計算類似于批處理,需要計算窗口內的所有數據;相對應告警SQL可能會產生大量分組,每個分組其實都是獨立的告警規則,若是緩存一個事件窗口的數據進行計算,會對Flink的狀態維護產生巨大壓力,所以對于聚合計算采用的分鐘級分桶計算和累加器聚合結果設計思路。

  • 分桶

根據時間窗口長度創建環形隊列,每分鐘一個桶,按照時間計算當前元素桶的位置,計算當前桶的值。

基于Antlr在Apache Flink中實現監控規則DSL化的探索實踐

  • 累加器

類似于Spark和Flink中累加器Accumulator實現,保存分鐘級計算中間結果、合并累加器、獲取最終值,因此計算過程中不必保留原始數據,只需要在Flink中保存累加器的狀態即可。

 

  1. /** 
  2.      * Creates a new accumulator, starting a new aggregate. 
  3.      */ 
  4.      ADD createAccumulator(); 
  5.  
  6.      /** 
  7.      * Adds the given input value to the given accumulator, returning the 
  8.      * new accumulator value. 
  9.      */ 
  10. ADD add(ELE value, ADD accumulator); 
  11.  
  12. /** 
  13.      * Gets the result of the aggregation from the accumulator. 
  14.      */ 
  15. OUT getResult(ADD accumulator); 
  16.  
  17. /** 
  18.      * Merges two accumulators, returning an accumulator with the merged state. 
  19.      */ 
  20. ADD merge(ADD a, ADD b); 

其中去重計數distinct_count聚合計算在告警場景允許精度損失故采用支持分桶累加的HyperLogLog算法,降低對內存的要求。

3.5 告警狀態機

是否產生告警事件并不是依據計算出的指標,而是根據Where從句判斷指標是否超出閾值返回True或False確定當前系統健康狀態,比對當前狀態產生的健康狀態變遷事件作為觸發告警事件。

目前設計系統的狀態有三種,即正常(Normal)、警告(Warning)、嚴重(Critical),而后兩種就是分別對應兩個SQL DSL中Where從句表達式,狀態變遷圖如下:

基于Antlr在Apache Flink中實現監控規則DSL化的探索實踐

業務系統是否產生告警通知也可以根據這幾種事件進行配置,如果連續5分鐘異常才產生告警,則可以只關注CONTINUE相關事件。當然告警通知系統也有通知合并和告警風暴抑制相關功能。

4 問題和展望

目前此引擎已經用于蘇寧易購登錄、商品詳情頁、購物車和支付多個業務線的用戶體驗監控,幫助產品和業務運營人員可以快速發現和定位問題。為了提升處理能力和降低接入難度,以下兩個方面還需要進行優化:

  • 改進Apache Flink狀態管理 現在Flink集群中狀態管理使用的FsStateBackend機制,狀態保存在HDFS文件系統,在高基數維度或多維組合產生海量分組的業務場景下可能會有OOM和性能風險,下一步準備切換為支持增量Checkpoint的RocksDB狀態存儲方案。
  • 異常檢測智能化 現有告警規則如何判斷系統狀態是否異常還是依據靜態閾值,這種方式要求業務方對系統指標有精確的了解,且隨著業務的變化要不斷調整,不符合業界的發展趨勢。下一階段計劃針對新業務無歷史數據的場景采用曲線波動檢測3sigma和中位數絕對偏差MAD(Median absolute deviation)算法,而比較穩定的業務線引入時間序列異常檢測機器學習。

蘇寧數據云服務產品

蘇寧數據云已有大數據開發套件(提供全方位的大數據開發服務)、人工智能服務(實現智能的人機互動做出更好決策)、數據分析及展示服務(提供海量數據處理與分析方法)、平臺基礎服務(提供大數據平臺基礎服務),實時告警數據分析平臺也在規劃建設中。實時計算中實現監控規則DSL是內部項目的一次技術探索,若能經過實際業務的考驗,也會考慮通過數據云對外提供服務。

作者簡介

黃小虎,蘇寧科技集團消費者平臺購物流程架構負責人,全面負責蘇寧易購商品詳情頁、購物車、大聚會等核心系統的優化及大促保障工作。對電商交易流程和業務有較深入的思考和研究,專注于高并發大型電商網站的架構設計、高可用的系統設計。曾主導和參與了 Commerce 系統拆分、商品詳情頁接入層優化、云信客服系統重構等重大技術攻關項目。現致力于打造蘇寧易購新一代核心購物流程系統,希望將購物體驗做到更好。

胡正林,蘇寧科技集團消費者平臺高級架構師,十余年軟件開發經驗,熟悉大型分布式高并發系統架構和開發,目前主要負責易購各系統架構優化與大促保障工作。

【51CTO原創稿件,合作站點轉載請注明原文作者和出處為51CTO.com】

 

責任編輯:未麗燕 來源: 51CTO.com
相關推薦

2021-05-20 09:55:23

Apache Flin阿里云大數據

2022-04-07 16:50:28

FlinkB站Kafka

2021-12-08 10:35:04

開源監控Zabbix

2018-11-14 13:49:16

Apache Flin唯品會架構

2021-08-06 15:06:09

騰訊開源Apache

2025-03-20 10:50:08

RedisCaffeine緩存監控

2022-09-16 08:23:22

Flink數據湖優化

2022-04-14 10:29:57

機器學習時間技術

2024-10-23 20:09:47

2016-01-12 11:38:19

智能化運維運維業務

2016-12-28 14:27:24

大數據Apache Flin搜索引擎

2024-04-17 07:21:52

物化視圖查詢加速器數據倉庫

2021-08-31 10:18:34

Flink 數倉一體快手

2021-05-06 11:54:40

大數據Flink

2009-06-14 22:09:24

Java界面布局DSL

2022-04-22 09:05:12

蔚來汽車Flink實時數倉

2022-08-21 07:25:09

Flink云原生K8S

2022-04-15 10:52:50

模型技術實踐

2023-07-31 07:49:03

2020-09-22 12:20:23

前端架構插件
點贊
收藏

51CTO技術棧公眾號

国产亚洲成av人片在线观黄桃| 国产福利在线| 国产一区成人| 中文字幕日韩在线观看| 永久看看免费大片| a日韩av网址| 亚洲乱码精品一二三四区日韩在线| 国产精品一区在线播放| 久久久999久久久| 黄色精品一区| 日韩在线激情视频| www.超碰97| 精品国产一区二区三区性色av| 岛国av一区二区在线在线观看| 久久免费视频2| 欧美色视频免费| 国产不卡视频一区| 国产裸体写真av一区二区| 欧美三级韩国三级日本三斤在线观看| 国产精品videosex性欧美| 精品视频—区二区三区免费| 亚洲综合123| xxxxx.日韩| 欧美性生交大片免费| 欧美高清中文字幕| 久久黄色美女电影| 国产农村妇女精品| 精品国产一区二区三区四区vr | 欧美日韩亚洲综合一区 | 麻豆精品一区二区三区| 91高清视频免费| 九九热只有精品| 亚洲综合中文| www日韩欧美| 大胸美女被爆操| 啪啪亚洲精品| 日韩电影中文字幕| 成人午夜精品无码区| 网站一区二区| 日韩欧美在线一区二区三区| 欧美午夜精品理论片| 日韩成人一区| 欧美挠脚心视频网站| 久久精品影视大全| 久久青草视频| 欧美精品丝袜久久久中文字幕| 男人搞女人网站| 日韩色淫视频| 欧美日韩在线播放三区| 午夜免费一区二区| 国产极品久久久久久久久波多结野 | 亚洲第一中文字幕在线观看| 美女伦理水蜜桃4| 88久久精品| 亚洲精品一区二区三区香蕉| 欧美xxxxx少妇| 国内精品国产成人国产三级粉色 | 在线播放av网址| 999久久久精品一区二区| 日韩天堂在线观看| 中文字幕人妻熟女在线| silk一区二区三区精品视频| 亚洲国产成人精品电影| 中文字幕av网址| 欧美亚洲精品在线| 啊v视频在线一区二区三区| 成熟的女同志hd| 国产精品vip| 午夜精品一区二区三区在线| 欧美特黄aaaaaa| 日本伊人午夜精品| 国产精品视频白浆免费视频| 国产麻豆一精品一男同| 国产高清在线观看免费不卡| 国产精品区免费视频| 四虎影视精品成人| 中文字幕乱码日本亚洲一区二区| 中文字幕中文字幕在线中心一区 | 亚洲午夜激情av| 男人操女人免费软件| 成人午夜毛片| 精品久久久久久久久久久久久久久| 中文字幕一区二区人妻电影丶| 亚洲天堂日韩在线| 日韩视频免费中文字幕| 亚州国产精品视频| 日本不卡高清视频| 亚洲综合中文字幕68页| 亚洲 欧美 精品| 中文子幕无线码一区tr | 久久综合导航| 91在线视频成人| 香蕉视频黄色片| 国产精品久久久久久久久动漫 | 亚洲性生活视频在线观看| 日韩在线一卡二卡| 国产视频欧美| 亚洲jizzjizz日本少妇| 欧洲综合视频| 一区二区三区四区不卡视频| 爆乳熟妇一区二区三区霸乳| 日韩一区二区三区精品| 在线观看中文字幕亚洲| 久久精品无码人妻| 久久99久久久久| 欧美lavv| www.综合网.com| 欧美日韩国产中文| 亚洲人人夜夜澡人人爽| 欧美午夜视频| 国产日韩在线亚洲字幕中文| 午夜视频在线免费播放| 一区二区三区.www| 亚洲激情在线看| 国产区精品区| 97视频在线观看视频免费视频| 一级α片免费看刺激高潮视频| 99久久99久久精品国产片果冻| 国产盗摄视频在线观看| 国产精品字幕| 精品亚洲va在线va天堂资源站| 免费一级片在线观看| 日韩国产高清影视| 美日韩精品免费| 8x8ⅹ拨牐拨牐拨牐在线观看| 欧美一区欧美二区| 国产无遮挡在线观看| 免费看的黄色欧美网站| 国产伦精品一区二区三| 日本三级中文字幕在线观看| 五月六月丁香婷婷| 91国内精品| 久久成人精品电影| 国产精品午夜福利| 国产精品久久二区二区| 日韩免费毛片视频| 婷婷综合成人| 81精品国产乱码久久久久久| 好吊色在线观看| 洋洋av久久久久久久一区| 国产精品嫩草影视| 综合久久婷婷| 99国产在线| 黄色在线看片| 精品国产乱码久久久久久浪潮| 欧美成人精品欧美一| 国产精品乡下勾搭老头1| 国产日产欧美一区二区| 国产精品成人**免费视频| 久久精品国产一区二区电影| 一级片视频播放| 中文字幕制服丝袜一区二区三区| 亚洲国产日韩欧美在线观看| 成人在线免费小视频| 国产精品夜色7777狼人| 成人国产免费电影| 91精品在线观看入口| 国产大学生自拍| www.亚洲激情.com| 国产乱子伦农村叉叉叉| 国产一区二区三区电影在线观看| 国产精品国产亚洲伊人久久| 91精品国产91久久久久游泳池 | 西野翔中文久久精品字幕| 日本精品久久久| yw在线观看| 欧美一级二级三级蜜桃| 国产精品第72页| 久久久另类综合| 在线观看免费的av| 国产综合视频| 欧美日韩三区四区| 日韩欧乱色一区二区三区在线| 超碰97人人做人人爱少妇| 全部免费毛片在线播放一个| 色综合中文综合网| 欧美日韩色视频| 99久久伊人久久99| 色一情一区二区| 亚洲视频一区| 日韩欧美亚洲区| 欧美视频二区欧美影视| 5252色成人免费视频| 欧美激情午夜| 亚洲精品久久在线| 亚洲图片小说视频| 亚洲成人在线网站| 精品无码在线观看| 成人激情校园春色| 污色网站在线观看| 一区在线观看| 在线成人性视频| 麻豆精品99| 91中文在线视频| a一区二区三区| 欧美大片大片在线播放| 国产乱理伦片a级在线观看| 日韩三级视频在线看| 看黄色一级大片| 亚洲不卡av一区二区三区| 天堂а√在线中文在线鲁大师| 91视视频在线观看入口直接观看www | 亚洲综合久久av一区二区三区| 99久久综合狠狠综合久久| 精品亚洲视频在线| 久久综合影音| 99热亚洲精品| 在线看片不卡| 少妇免费毛片久久久久久久久| 精品按摩偷拍| 亚洲自拍偷拍色图| 国产极品一区| 国产ts一区二区| 123区在线| 久操成人在线视频| 久久久久久国产精品免费无遮挡| 亚洲视频在线观看免费| 五月激情婷婷综合| 亚洲成人黄色在线观看| 国产精品区在线观看| 老妇女50岁三级| 国产福利一区二区三区在线播放| 欧美大片第1页| 日本美女在线中文版| 国产亚洲激情视频在线| 天堂网在线资源| 精品少妇一区二区三区视频免付费 | 水蜜桃久久夜色精品一区| 免费看成人午夜电影| 久久久精品国产**网站| 成人欧美一区二区| 激情综合五月| 91最新在线免费观看| 日韩欧美三区| 国产在线观看91精品一区| 成人免费在线观看视频| 国产精品高精视频免费| 亚洲www啪成人一区二区| 国产成人精品在线播放| 美女福利一区二区| 日韩av高清不卡| 刘亦菲一区二区三区免费看| 日本韩国欧美精品大片卡二| 成人影院入口| 国产国语videosex另类| 欧美暴力调教| 国产精品色视频| 伊人亚洲精品| 99re在线观看视频| 999久久久精品一区二区| 国产精品免费一区二区三区观看 | jk漫画禁漫成人入口| 4k岛国日韩精品**专区| 欧美香蕉视频| 国产精品自拍视频| 在线欧美激情| 国产精品18毛片一区二区| 精品三级av| 欧美亚洲一级二级| 不卡一区综合视频| 中国老女人av| 亚洲人成人一区二区三区| 欧美 日本 亚洲| 日韩黄色一级片| 亚洲第一区第二区第三区| 国产99精品在线观看| 人人妻人人澡人人爽人人精品 | 国产精品一区二区果冻传媒| 风韵丰满熟妇啪啪区老熟熟女| 9l国产精品久久久久麻豆| 亚洲国产日韩一区无码精品久久久| 国产精品素人视频| 精品无码久久久久久久| 黑人巨大精品欧美一区二区| 中文天堂在线视频| 欧美变态口味重另类| 你懂得网站在线| 久久久精品免费| 91黄页在线观看| 国产精品天天狠天天看| 日韩精品一级| 日韩av在线电影观看| 欧美永久精品| 久久久精品在线视频| 激情亚洲综合在线| 国产精品无码一区二区三区免费| 国产精品麻豆视频| 国产福利拍拍拍| 欧美疯狂做受xxxx富婆| 日韩中文字幕免费在线观看| 亚洲一区二区动漫| 国产v亚洲v天堂无码| 日韩精品免费一区二区夜夜嗨| 日韩av不卡播放| 欧美日一区二区在线观看| 国产精品免费观看久久| 国产综合色精品一区二区三区| 国产又粗又猛又色| 亚洲欧洲日韩在线| 超碰超碰超碰超碰| 不卡视频在线| 免费看日本黄色| 日韩不卡一区二区| 国产精品久久久久久亚洲av| 欧美国产欧美亚州国产日韩mv天天看完整 | 亚洲中文一区二区| 欧美va亚洲va在线观看蝴蝶网| 成人免费在线电影| 91av在线国产| 成人香蕉社区| 99re99热| 蜜桃一区二区三区四区| 黄色国产在线观看| 亚洲国产欧美在线| 国产三级第一页| 中文字幕日韩av电影| 澳门成人av网| 精品视频免费观看| 黄色av日韩| 99国产精品免费视频| 国产精品久久久久久久久动漫| 久久久精品毛片| 亚洲片av在线| 性欧美xxx69hd高清| 波多野结衣一区二区三区在线观看| 97人人精品| 99国产精品久久久久久| 国产蜜臀av在线一区二区三区| av图片在线观看| 亚洲免费精彩视频| 中文在线中文资源| 黑人另类av| 亚洲人成免费| 中文字幕av观看| 色综合婷婷久久| 男生女生差差差的视频在线观看| 黄色精品视频在线观看| 高清成人免费视频| 小泽玛利亚一区二区免费| 欧美色爱综合网| 二区在线视频| 国产精品综合网站| 日韩一区自拍| 欧美性受xxxxxx黑人xyx性爽| 中文字幕第一页久久| 中日韩在线观看视频| xvideos国产精品| 日韩一区二区三区精品| 青青青在线观看视频| 成人国产精品免费| 久久久久久久久久影院| 日韩激情在线视频| 欧美电影免费观看高清完整| 欧美在线3区| 另类调教123区| 多男操一女视频| 日韩免费高清av| h片在线观看下载| 免费国产一区二区| 蜜桃视频一区二区三区| 免费在线观看黄色小视频| 日韩美女视频一区二区在线观看| 毛片在线导航| 欧美少妇一区| 久久99精品久久久久久国产越南| 久久国产波多野结衣| 精品国产一区二区三区av性色| 中文字幕资源网在线观看免费 | 奇米影视888狠狠狠777不卡| 国产精品成人av性教育| 91精品啪在线观看国产18| 欧美丰满熟妇bbb久久久| 调教+趴+乳夹+国产+精品| 国内在线精品| 91九色极品视频| 午夜在线视频观看日韩17c| 我想看黄色大片| 亚洲+变态+欧美+另类+精品| 国内性生活视频| 中文av一区二区| 性色av蜜臀av| 奇米成人av国产一区二区三区| 欧美激情另类| bl动漫在线观看| 欧美在线|欧美| 久久大胆人体| 四虎影视永久免费在线观看一区二区三区| 国产原创一区二区三区| 欧美日韩精品区| 久久亚洲精品一区| 免费精品国产的网站免费观看| 网站在线你懂的| 日韩欧美在线视频观看| 1区2区在线观看| 午夜一区二区三区| www..com久久爱| 国产三级小视频| 国产精品视频一| 亚洲神马久久| 欧美爱爱小视频|