999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

柔性微服務監控框架①

2017-10-20 03:08:34劉一田劉士進
計算機系統應用 2017年10期
關鍵詞:策略服務

劉一田,劉士進,郭 偉,何 翔

(南瑞集團公司(國網電力科學研究院),南京 210003)

柔性微服務監控框架①

劉一田,劉士進,郭 偉,何 翔

(南瑞集團公司(國網電力科學研究院),南京 210003)

微服務細化了服務的粒度,針對微服務的監控是微服務管理需要面對的核心問題,以可擴展全鏈路應用服務監控為目標,在已有服務管理層之上設計實現了一種柔性微服務監控框架,用于監控微服務狀態和不斷變化的服務負載,與已有的分布式監控架構相比,這種監控框架靈活度更高,對服務變化的感知能力更強,使用Raft算法增強了數據一致性,避免了單點故障的情況,經試驗分析,代價更小,在實際項目中驗證了框架及方法的有效性.

柔性; 微服務監控; 智能分析告警

1 引言

微服務的特點決定了應用功能模塊的部署是分布式的,以往在單體架構應用環境下,所有的業務都在同一個服務器上,服務器出現錯誤和異常時可以快速定位和處理問題,但是在微服務的架構下,大部分功能模塊都是單獨部署運行的,彼此通過預先編排的無狀態服務交互,前后臺業務流會經過多個微服務的處理和傳遞,因此,如何實時采集系統及應用服務的訪問及異常信息,根據業務流的錯誤和異常信息統計分析以輔助快速定位問題并告警,靈活可擴展的配置告警,以及能及時跟蹤業務流的處理順序和結果等技術是微服務監控的關鍵所在.

以Zabbix為代表的傳統分布式監控技術更傾向于提供系統級的監控點和指標[1],不能快速定位到系統問題的根本原因.Google公司研發的Dapper[2]分布式跟蹤系統為服務器上每一次發送和接收動作來收集跟蹤標識符和時間戳事件,每次RPC服務調用被稱為一個 Span,用戶的 URL 請求是根 Span A,如果根 Span調用了RPC服務B和C,則B、C為A的子Span,這樣整個請求就被建模為由A為根的Span樹,被稱為一個 Trace.每個 Span 由 trace_id,span_id,parent_id 組成,通過parentId和spanId就可以有序地把所有的關系串聯起來,達到記錄業務流的作用,從而實現端到端的追蹤能力,通過對 Span 計時,可以統計性能數據.但是Dapper只提供調用時間的追蹤,而不提供如錯誤追蹤,業務監控等功能,無法較好滿足業務系統日常業務應用監控的需求.淘寶鷹眼是基于網絡調用日志的分布式跟蹤系統,它可以分析網絡請求在各個分布式系統之間的調用情況,從而得到處理請求的調用鏈上的入口URL、應用服務的調用關系,從而找到請求處理瓶頸,定位錯誤異常的根源位置.同時,業務方可以在調用鏈上設置業務埋點日志,使各個系統的網絡調用與實際業務內容得到關聯.需要一定的代碼植入,且擴展性略差.

本文設計的柔性微服務監控框架結合上述框架各自的典型優勢技術,分別從各方面進行了改進和提升.在數據采集上報組件技術方面,通過應用服務器中間件代理組件,通過業務無侵入的方式提升了采集的定制化能力和可靠性; 在采集數據轉換和合并方面,采用Raft[3]一致性算法,將數據處理后分發到數據存儲和告警服務,確保數據的一致性和準確性; 在告警組件方面,基于配置下發的告警處理策略及可復用的告警策略模板,提高告警的定制化處理能力; 在統計分析組件方面,基于聚類分析算法,對實時和歷史數據進行統計分析,將分析后數據發往消息總線對應的訂閱主題,進行智能告警判定裁決,提高告警準確度; 在監控展示方面,通過配置可視化定制告警參數,支持用戶自定義監控所需的服務指標、JVM等指標,提高監控的自主性.

2 監控框架設計

本文設計的柔性微服務監控框架結構如圖1所示.其主要具備如下特征.

圖1 柔性微服務監控框架結構

(1)架構設計高可用.整個系統無核心單點,易運維,易部署.

(2)低侵入性.盡可能少侵入或者無侵入其他業務系統,對于使用方透明,減少開發人員的負擔.

(3)告警策略靈活和自發現.支持策略模板、模板繼承和覆蓋、多種告警方式、支持回調動作,可以隨時決定所收集數據的范圍和粒度.

(4)支持最大告警次數、告警級別設置、告警恢復通知、告警暫停、不同時段不同閾值、支持維護周期,支持告警合并.

(5)時效性高、擴展性好.從數據的收集和產生,到數據計算處理和最終展現都盡可能快; 生產環境每秒30萬次數據收集、告警、存儲、繪圖,可持續水平擴展.

(6)決策支持.提煉分析數據從DevOps角度并提供決策支持服務.

(7)自助分析儀表板.多維度的數據展示,用戶自定義儀表板等功能,提升更細粒度的用戶自助分析應用體驗.

柔性微服務監控框架的執行流程分為八個步驟,分別介紹如下.

(1)統一配置管理中心統一維護監控和告警策略配置,配置的變更自動發布到消息總線的約定主題上,配置管理支持集群、負載均衡及高可用.

(2)監控策略服務作為監控代理的輔助工具,從消息總線訂閱監控策略配置,監控代理根據監控配置收集微服務狀態信息; 微服務實例從消息總線指定主題訂閱監控代理地址,作為數據上報的地址; 告警判定組件從消息總線訂閱告警策略配置,作為告警的判定依據; 監控策略包括監控告警閾值、特殊定制的采集項,IP白名單等,監控代理將特殊采集項信息上報給監控策略服務.

(3)監控策略服務根據統計信息發布不可用的微服務實例狀態到消息總線指定主題,統一配置管理中心訂閱相應主題后及時更新監控狀態.客戶端代理庫作為微服務中間件代理,應用通過代理將服務埋點、調試、異常等信息采集到監控代理服務實例.

(4)監控代理網關依據監控策略對監控信息進行篩選,將篩選后的數據發布到消息總線指定告警主題.

(5)告警判斷組件和數據存儲和歸檔組件通過一致性哈希數據轉換合并工具將發布的消息通知訂閱到本地進行存儲.

(6)告警判定組件從消息總線訂閱告警策略和微服務統計信息,并依據告警策略和服務統計信息等參數,初步告警加權判定,根據判斷結果告警并以郵件等方式處理.

(7)監控聚類分析組件定時從數據存儲中獲取歷史數據,進行聚類學習和訓練,分析出服務調用的調用鏈等信息,并將分析結果提交給消息總線指定監控主題分發.重復告警判定流程.

(8)監控展示組件支持指定的環境、應用和服務指標配置定制,根據定制參數實時展示監控圖表,實現良好的自助分析效果.

3 監控框架實現

柔性微服務監控框架采用JSON格式的策略模板支持快速配置定義監控和告警策略; 微服務實例的客戶端代理動態獲取代理網關地址,將日志及埋點信息上報給監控代理組件; 監控代理組件根據監控和告警策略,篩選過濾所需的監控統計信息并發布到消息總線指定主題; 告警判定組件從消息總線訂閱告警策略及數據統計信息,形成初步判斷結果并發布到告警通知事件; 數據存儲歸檔組件訂閱的上報數據進行聚類統計分析,聚合結果存儲歸檔并再次發布到消息總線作為告警判斷組件的輸入,同時用戶可通過監控儀表板調用查詢組件監控及自助分析統計指標.根據上述框架的設計,需要實現五個主要關鍵技術組件:(1)高可用的統一配置管理中心.(2)無侵入的微服務實例客戶端代理.(3)高可用及高性能的消息總線.(4)靈活可復用的監控及告警策略模板.(5)聚類分析的統計算法.

(1)高可用統一配置中心

框架采用動態路由的高可用代理及分布式一致性Raft[3]算法作為統一配置中心集群環境下負載均衡、統一配置的一致性及高可用,實現配置管理集群實例在節點故障重啟時對請求透明化.如圖2所示.

圖2 高可用統一配置中心

統一配置管理集群由高可用代理節點對外統一暴露靜態固定端口,而高可用代理本身監控配置管理節點的狀態變更信息,當配置管理節點集群中出現節點不可用、動態擴充配置管理節點等狀況時,高可用代理及時更新路由表.

配置信息的高可用技術基于Raft算法,集群中的節點分為 leader、follower、candidate 三種角色,由leader響應客戶端請求并確保響應結果的一致性.統一配置管理節點集群首先選舉一個leader節點,由leader節點對外提供服務,當配置更新時,leader節點發出命令,并在確保集群中多數節點都已完成命令操作后,返回正確響應給請求對象.如果一個follower在選舉超時的時間周期里沒有收到leader的信息,就進入新的選舉周期,自身轉成候選人candidate角色,給自己投票,發起選舉,并重寫產生leader以繼續提供高可用一致性服務.

(2)無侵入的微服務實例客戶端代理

系統實施監控的方式分為兩類:一類是內嵌式,一類是伴隨式.對大型分布式系統來講,伴隨式是一種更加合適的結構[4].

框架采用伴隨式的中間件劫持技術實現微服務實例的客戶端代理,業務系統應用開發時只需關注業務功能實現.中間件劫持就是將我們自己的代碼行為植入到中間件的各種行為中.實現劫持和監控主要依靠四種關鍵行為:應用啟動,停止,接收請求,響應回復.對JavaEE應用服務器的劫持核心是根據classloader的加載時機,在classloader的樹型層次上獲得優先加載權,從而可以改變這些行為.如圖3所示.

圖3 無侵入的微服務實例客戶端代理

通過中間件劫持技術,全自動的收集微應用實例、微服務實例及服務接口的信息.這些信息包括應用唯一標識、服務名、服務實例的URI、服務接口的URI、服務接口的元數據(類,方法,入參出參,注解,部署描述符)等統計信息.其中,服務類型和方法通過Java的反射方式提取信息; Annotation通過注解掃描工具提取具有相關注解的類,然后通過注解API提取注解信息; 部署描述符通過WebAppClassLoader獲取web.xml,spring-config.xml,log4j.xml等部署描述符文件路徑,然后使用文檔對象模型解析提取關注的標簽信息.最后調用特定服務接口獲取服務實例的內存、CPU等信息,并動態獲取監控代理網關的地址,將統計數據上報給代理網關.

(3)靈活可復用的監控及告警策略模板

框架采用靈活可復用的監控及告警策略模板,以JSON格式描述,如表1所示.

表1 監控策略模板描述

主機域是一組采用相同監控策略機器的集群,監控策略模板支持繼承和策略覆蓋,模板和主機域綁定后,主機下的機器會自動應用該模板的所有策略,節點進出主機域時,相關的模板會自動關聯或者解除.服務上下線不需要手動來變更監控,從而在提高效率的同時降低了遺漏和誤報警.策略模板支持以表達式方式動態添加監控及告警策略,如圖4所示.

圖4 監控及告警策略模板定義

(4)高可用及高性能的消息總線

為了實現在分布式環境下的即時消息通知,并保障消息的高性能傳輸,框架采用高性能分布式消息總線 Apache Kafka[5]組件實現消息的發布/訂閱功能,并使用多個節點組成集群以保障消息總線的高可用.通信模式采用發布/訂閱模式,使消息按照特定的主題甚至內容進行分發,應用程序可以根據主題接收到所需要的消息.發布/訂閱功能使得發送者和接收者之間的耦合關系變得更為松散,發送者和接收者不必關心消息的發送和接收地址,而只是根據消息的主題進行消息的收發.

(5)聚類分析的統計算法

統計分析采集日志的主要目標包括分析服務調用全過程鏈、用戶在導航或瀏覽網站時生成的點擊流或單擊路徑、發生系統宕機之前的事件的日志、用戶在系統關鍵操作順序的事務記錄、根據一段時間內用戶的互動來預測服務取消或其他不良結果的記錄.

框架算法綜合了順序分析、聚類分析方法和Markov鏈分析,以識別數據分類及其順序并進行動態信任決策[6].分析算法的特點之一是使用順序數據,此數據通常表示數據集狀態之間的一系列事件或轉換,如圖5所示.

圖5 聚類分析的統計算法

4 案例分析與評估

為了對本文提出的柔性微服務監控框架進行驗證,在一個真實的環境中進行了案例的部署和研究.案例環境由16臺8核8 G內存的PC服務器(HPDL 380 G4 378735-AA1)組成,其中數據庫、微服務實例、監控代理節點、統一配置管理節點、消息總線節點、日志歸檔節點、告警節點比例為1:8:1:2:2:1:1,數據庫和應用服務采用國家電網公司智能運檢系統的測試數據庫和經過拆分的微應用服務,微服務實例以Docker容器形式運行.通過loadrunner模擬并發600用戶的微服務訪問,通過監控策略和告警模板定制統計了服務響應時間超過5秒的URL及異常信息,觀察柔性微服務監控框架的效率和穩定性,評估客戶端代理庫對應用的性能影響,試驗結果如表2所示.

表2 客戶端代理對應用性能的影響

驗證結果表明,柔性微服務監控框架在大并發吞吐量時保證了高可用和高效,但也發現了一些問題,針對小規模的應用現有框架的部署架構略顯復雜,客戶端代理庫會在生產模式下會產生微小的性能損耗,尚有提升空間.目前,柔性微服務監控框架已在國網智能運檢系統中實現并應用,取得了較好的應用效果.

5 結束語

本文研究了傳統分布式系統監控技術及基于服務調用鏈的分布式系統追蹤技術,在此基礎上,設計了柔性微服務監控框架,給出了高可用配置中心、無侵入的微服務實例客戶端代理、靈活可復用的監控告警模板等創新點,闡述了該框架的架構設計及關鍵實現技術.最后,以國網智能運檢系統的微服務應用案例為背景,給出了柔性微服務監控框架的應用驗證評估,驗證結果、效率評估及生產運行實踐表明,該框架提升了分布式系統中微服務監控管理的靈活度、效率和問題定位準確度,提高了電網應用信息系統的服務水平.后續將針對遺留問題持續改進優化該框架.

1Zabbix.Enterprise-class monitoring system.http://www.zabbix.com/functionality.

2Sigelman BH,Barroso LA,Burrows M,et al.Dapper,a largescale distributed systems tracing infrastructure.Google Technical Report dapper-2010-l,2010.

3Ongaro D,Ousterhout J.In search of an understandable consensus algorithm.Proc.of the 2014 USENIX Annual Technical Conference.Philadelphia,PA,USA.2014.305–319.

4劉東紅,郭長國,王懷民,等.監控使能的分布式軟件系統構造方法.軟件學報,2011,22(11):2610–2624.

5Kafka Apache.A distributed streaming platform.http://kafka.apache.org/intro.

6李小勇,桂小林,毛倩,等.基于行為監控的自適應動態信任度測模型.計算機學報,2009,32(4):664–674.

Flexible Microservice Monitoring Framework

LIU Yi-Tian,LIU Shi-Jin,GUO Wei,HE Xiang

(NARI Group Corporation(State Grid Electric Power Research Institute),Nanjing 210003,China)

Microservices refine the granularity of services,and the monitoring of flexible microservices is the core of the microservices management.With the aim of extending the full-link application service monitoring,a flexible microservices monitoring framework is designed and implemented on the existing service management layer to monitor the microservices status and the changing service load.Compared with the existing distributed monitoring architecture,the framework is more flexible,more aware of service changes.The Raft algorithm is used to enhance data consistency and avoid single point failure.The experimental analysis shows that the cost is smaller,and the validity of the framework and the method is verified in the actual project.

flexible; microservices monitoring; intelligent analysis and alarm

劉一田,劉士進,郭偉,何翔.柔性微服務監控框架.計算機系統應用,2017,26(10):139–143.http://www.c-s-a.org.cn/1003-3254/6006.html

國網電力科學研究院科技項目(524606160150)

2017-01-19; 采用時間:2017-02-20

猜你喜歡
策略服務
基于“選—練—評”一體化的二輪復習策略
求初相φ的常見策略
例談未知角三角函數值的求解策略
我說你做講策略
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
高中數學復習的具體策略
數學大世界(2018年1期)2018-04-12 05:39:14
主站蜘蛛池模板: 一区二区无码在线视频| 亚洲精品手机在线| 久久黄色毛片| 鲁鲁鲁爽爽爽在线视频观看 | 久久久久久尹人网香蕉| 婷婷色狠狠干| 91原创视频在线| 国产爽爽视频| 国产永久无码观看在线| 欧美 亚洲 日韩 国产| 国产成人精品午夜视频'| 欧美成人综合在线| 永久免费无码成人网站| 欧美成人二区| 欧美日韩在线成人| 伊人激情久久综合中文字幕| 欧美日韩国产一级| 欧美19综合中文字幕| 国产精品大白天新婚身材| 日韩A∨精品日韩精品无码| 国产色婷婷视频在线观看| 国产精品视屏| 依依成人精品无v国产| 国产成人福利在线视老湿机| 国产黑人在线| 国产日韩av在线播放| 欧美一区二区精品久久久| 午夜无码一区二区三区| 暴力调教一区二区三区| 亚洲开心婷婷中文字幕| 欧美精品在线视频观看| 麻豆精品视频在线原创| AV色爱天堂网| 91欧美亚洲国产五月天| 九九热精品免费视频| 国产视频一区二区在线观看 | 久久国产黑丝袜视频| 重口调教一区二区视频| AV天堂资源福利在线观看| 国产在线日本| 91麻豆精品国产高清在线| 99国产精品免费观看视频| 国产一区二区三区日韩精品| 蝌蚪国产精品视频第一页| 乱码国产乱码精品精在线播放| 一级毛片免费不卡在线| 高清不卡毛片| 综合网天天| 久久综合结合久久狠狠狠97色| 国产精品爆乳99久久| 国产99视频免费精品是看6| 2021精品国产自在现线看| 草逼视频国产| 91在线激情在线观看| 婷婷亚洲视频| 亚洲久悠悠色悠在线播放| 久久美女精品| 亚洲av综合网| 91精品啪在线观看国产91| 亚洲侵犯无码网址在线观看| 国产无码性爱一区二区三区| 亚洲国产综合自在线另类| 日韩在线欧美在线| 国产91色在线| 无码精品福利一区二区三区| 国产精品极品美女自在线看免费一区二区| 天堂亚洲网| 免费久久一级欧美特大黄| 日韩精品亚洲精品第一页| 国内自拍久第一页| 99热亚洲精品6码| 色婷婷在线播放| 2022精品国偷自产免费观看| 国产精品成人第一区| 国产无码网站在线观看| 国产人妖视频一区在线观看| 国产成人精品亚洲日本对白优播| 国产aaaaa一级毛片| 激情无码视频在线看| 精品视频一区在线观看| 在线视频亚洲欧美| 深夜福利视频一区二区|