IT架構轉型:商業(yè)銀行智能化生產運維探索與實踐
前我國主要商業(yè)銀行均在推進 IT 架構轉型,在大規(guī)模的分布式轉型過程中,相較于原集中式運行環(huán)境內存內的構件調用,分布式架構下跨節(jié)點的 RPC 調用涉及節(jié)點數(shù)據(jù)多,運維人員更為分散,如何在錯綜復雜的分布式環(huán)境中快速的發(fā)現(xiàn)、定位、解決金融服務運行問題,成為分布式運維中的痛點與難點。
為此,一個功能完備、分析迅速的智能運維平臺,成為商業(yè)銀行支撐銀行業(yè)務在開放平臺的快速迭代和升級創(chuàng)新的現(xiàn)實需求。
以下為分布式架構下智能化生產運維的信息采集、智能分析、可視觸達等方面的探索與實踐,希望能為商業(yè)銀行提供部分思路。
一、一體化采集分析,高時效發(fā)現(xiàn)潛在問題 建立完善的生產智能維護平臺首先是要能安全高效地采集到生產運行信息,而銀行金融產品均主要采取自研為主,技術棧及風格難以統(tǒng)一,若均由各產品自行采集生產運行信息,則過于復雜且低效,因此獨立的采集公用構件成為智能運維平臺建設的必選項。 同時,在實踐中可通過消息隊列等中間件能力,保證在采集的同時準實時的進行聚合分析,避免問題發(fā)現(xiàn)滯后而導致錯過最佳處理時效的情況。 1)輕量化異常采集 采用輕量級的SDK,記錄調用鏈路、異常、環(huán)境等信息,并準實時推送轉發(fā),于智能運維平臺統(tǒng)一持久化并進行分類聚合。 采集端經由動態(tài)代理技術實現(xiàn)了對原業(yè)務代碼的零侵入,可配置化的接入方式則讓接入人員簡單配置即可直接接入,無需額外的學習成本。 2)智能化分類聚合 智能運維平臺針對不同的異常采用不同的處理策略:部分異常來自設計漏洞或編碼問題,借由展示堆棧信息可快速的定位問題根因;部分異常來自網絡抖動,存儲介質老化等環(huán)境相關問題,需要在統(tǒng)計層面上關注。 借由對異常信息進行分類,準實時的聚合具體錯誤每天、小時、分鐘的出現(xiàn)頻次,可快速地獲得各類錯誤在各個時間節(jié)點的分布情況。 3)準實時數(shù)據(jù)分析 采用孤立森林及時序分析等算法,將當前時間段與上幾日、上幾分鐘,或前幾天同一時間段等分布情況進行對比。 當某類錯誤的發(fā)生頻次在數(shù)據(jù)分布上出現(xiàn)驟增、突刺等情況時,與已配置的節(jié)假日、營銷活動等進行匹配,若不存在特定場景,快速進入預警流程,通知運維開發(fā)人員介入分析。 借由一體化采集、聚合、分析能力,從程序異常發(fā)生,到被定義為須預警場景,智能運維平臺實現(xiàn)了秒級響應,減少了問題發(fā)現(xiàn)滯后的可能。 二、聚焦問題根因推測,助力定位復雜場景 分布式環(huán)境下的交易系統(tǒng)在帶來高可擴展性及高可用性的同時,也兼具問題涉及節(jié)點多、環(huán)境影響復雜的特點。智能運維平臺聚焦問題根因推測,并以此提供在線解決方案。 1)全鏈路問題跟蹤 分布式框架中,歸屬不同開發(fā)團隊的節(jié)點常存在自定義異常無法序列化,異常堆棧相互覆蓋,或是以統(tǒng)一錯誤代碼直接替換原錯誤信息等導致丟失錯誤發(fā)生現(xiàn)場的情況。 智能運維平臺聚合各個節(jié)點采集的異常信息,采用TraceId 及 SpanId 拼接調用鏈路,無論采用哪個節(jié)點的上下文信息進行查詢,都可快速定位到問題發(fā)生根源。 2)分布式環(huán)境關聯(lián) 分布式場景中的環(huán)境問題難以定位,在定位到單筆交易發(fā)生超時、連接池滿等場景時,往往難以進一步定位是具體服務節(jié)點問題還是數(shù)據(jù)庫節(jié)點問題。 智能運維平臺基于問題采集數(shù)據(jù),針對相同錯誤問題分布呈驟增、突刺等波動的情況,分析同類問題關聯(lián)容器、宿主機、數(shù)據(jù)庫中 CPU、內存、資源池等情況,并提出問題根因推測,協(xié)助分析人員快速定位問題。 無論從哪個節(jié)點的信息接入,智能運維平臺都能串接起這個異常鏈路,并追索至問題根源節(jié)點,暴露問題根本原因,減少了鏈路間各個節(jié)點維護人員的溝通成本。 平臺更進一步的關聯(lián)當前環(huán)境信息,統(tǒng)計并總結可能導致該問題的環(huán)境因素,減少環(huán)境導致的疑難問題的分析時效。 三、可視化運維查詢,一站式觸達解決方案 銀行系統(tǒng)生產運維及開發(fā)人員在發(fā)現(xiàn)問題時,第一時間快速定位及獲取到問題的解決方案尤為重要。銀行生產交易日志的獲取因其涉敏性常涉及到運維及開發(fā)人員的多次溝通及審批流程。 智能運維平臺單獨推送異常信息,隔離了業(yè)務交易敏感信息及交易報錯內容,并借由可視化頁面,為分析人員還原異常發(fā)生現(xiàn)場,并初步提供解決方案。 1)可視化異常溯源 可視化頁面除異常的基本信息外,也包含了此次問題的時間地點等基礎業(yè)務信息及容器信息,流量標簽,調用鏈路等技術內容。通過可視化頁面,可基于任意節(jié)點的部分業(yè)務信息或異常信息快速定位到問題根因,并快速了解此類錯誤在近幾日,近幾周的分布情況,實時查看預測的頻次走向,觀察是否出現(xiàn)重大偏移,協(xié)助運維開發(fā)人員快速判斷。 2)解決方案推薦 問題的解決時效通常依賴于運維開發(fā)人員的個人水平及處理經驗。智能運維平臺搭建運維經驗知識庫,經由專家系統(tǒng)邏輯推理能力,基于當前異?,F(xiàn)場信息及問題根因推斷能力,提供問題可能性分析及相應問題處理方案,減少運維開發(fā)人員能力依賴,提高問題處理時效。 可視化頁面及專家知識庫,幫助分析人員僅依靠部分交易信息即可觀察到整個鏈路情況、異常根因、分布規(guī)律并進一步獲取到推薦的解決方案,減少了人員間反復溝通成本,一站式觸達問題核心。 分布式架構下智能運維平臺對生產運維開發(fā)人員提供一體化采集分析、全鏈路根因推測、可視化的查詢及解決方案推薦能力,貫穿了問題處理中的發(fā)現(xiàn)、定位、解決流程,對推動運維時效縮減,保持金融服務穩(wěn)定運行具有重要作用,將成為商業(yè)銀行架構轉型過程中的一個重要的基礎設施建設選項。