





摘 要:本文提出了一種基于三層智能關聯的監控框架。該框架專注于SaaS/PaaS/IaaS三層資源的統一管理和關聯,利用智能關聯技術自動識別資源實體并構建資源間的關聯關系。采用多維時序指標算法和事件鏈法2種方法,針對異常檢測和根因分析提供有效的解決方案。在北京電信CRM系統中的實際應用中驗證了這些方法的有效性,成功診斷了多個異常情況,證明了該監控框架在實踐中的可行性。該框架為各種IT系統監控提供新的思路和解決方案,提高資源管理的自動化水平和故障排除的效率,對企業的運維和管理有重要的價值。
關鍵詞:IT監控;智能關聯;SaaS;PaaS;IaaS;根因定位
中圖分類號:TP 391 " " " " " " 文獻標志碼:A
隨著IT系統數字化架構不斷更新,其架構復雜度逐漸提升。當面臨復雜多變的IT基礎設施時,傳統的IT監控系統面臨很多挑戰,由于數據增長速度快,因此監控范圍變得更廣。通過監控系統只能看到表面現象,不能看出潛在的問題。因此,智能關聯技術的應用顯得尤為重要。智能關聯允許監控系統跨越不同層級的IT資源,通過關聯分析和智能處理,將不同層級的資源關聯起來。采用該技術可以通過監控系統快速追溯問題的根源。
1 三層智能關聯的總體設計
本文搭建基于三層智能關聯的一體化運維監控平臺,該平臺監控對象范圍覆蓋信息系統數據流轉和業務處理全過程,從上到下依次為SaaS、PaaS、IaaS三層的全部軟、硬設備和資源對象。平臺通過配置數據庫(CMDB)集中統一管理服務間調用關系、實體間的承載關系、設備的物理連接關系三類關系信息,具有告警收斂、異常檢測以及根因定位等智能運維功能。系統架構及數據流圖如圖1所示。
2 三層智能關聯的關鍵技術
2.1 引入基于大數據的自動管理CMDB技術
本文提供一種基于大數據進行自動關聯的動態CMDB技術方法[1],采用多種措施將SaaS/PaaS/IaaS三層資源統一納入管理范疇,自動構建三層之間的動態拓撲關聯關系,為運維監控、安全管控以及資產管理等應用場景提供精準實時的資源配置管理數據。
2.1.1 重點舉措一:實體發現
SaaS應用實體發現:通過調用鏈自動發現識別全量及未知服務,利用調用鏈追蹤技術[2],監控并記錄服務之間的調用關系,跟蹤一個請求從一個服務到另一個服務的完整路徑。利用Jaeger工具[3],對服務間的請求和響應進行監控和數據采集,捕捉請求所經過的每個服務并記錄詳細信息。運用識別算法和模式匹配技術,識別服務的關鍵信息。
PaaS組件實體發現:通過組件API接口,解析關鍵配置數據,自動發現組件基本信息。根據API返回數據的結構,準確提取出組件的關鍵信息。
IaaS資源實體發現:通過各類工具(SNMP、DPI等),自動掃描探測設備基礎信息(IP/端口等)。通過發送特定的SNMP請求進行深度解析,獲取設備的基礎信息。
2.1.2 重點舉措二:內部關聯
SaaS之間關聯:通過調用鏈自動發現服務與服務之間的調用關系,監控系統對收集的調用鏈數據進行聚合,將同一調用鏈的信息聚集為一個全局視圖。PaaS之間關聯:通過組件API接口,解析組件關系數據,自動發現組件關系信息。IaaS之間關聯:通過網絡流量自動解析,發現設備之間的訪問關系,形成網絡拓撲關系圖。
2.1.3 重點舉措三:外部關聯
SaaS與PaaS關聯:通過調用鏈自動發現服務所訪問的組件實例信息。
SaaS與IaaS關聯:自動發現服務所部署的容器信息。
PaaS與IaaS關聯:通過組件API接口,解析組件部署數據,自動發現組件所部署的資源信息。
2.2 構建指標異常檢測引擎,實現問題事件因果關系的根因判斷
基于SaaS、PaaS、IaaS指標的采集和動態CMDB配置管理,將各層指標進行關聯分析,調用根因定位模型,構建三層指標異常檢測引擎[4]。系統整體設計如圖2所示。該設計包括以下4個步驟。步驟一,指標實時監控。通過Agent對S/P/IaaS三層進行數據實時采集監控。步驟二,數據處理。對采集指標數據進行清洗/轉換/計算。步驟三,指標關聯分析。縮小指標異常的排查范圍。步驟四,根因分析。根據時間因果、應用調用因果和事務因果證據綜合判斷出根因問題。
2.3 建立根因定位模型,快速定位故障根因
以具體業務場景的運維監控需求為輸入,引入AI能力至監控排障的生產環節中,對服務層、組件層以及云資源層的監控指標進行整合,診斷故障[5]。
2.3.1 多維時序指標算法
層內掃描采用的多維時序指標算法是一種基于時間序列數據分析的方法,通過收集和分析多個維度的指標數據來識別問題的根因[6]。例如在SaaS層內進行多維時序指標算法的異常檢測其基本步驟如下。
2.3.1.1 數據收集和預處理
收集與SaaS服務相關的多維度指標數據,例如服務調用性能指標數據、服務調用日志數據等。
預處理:對數據進行清洗、去除異常值以及歸一化等預處理,例如對有明顯邊界且對異常值比較敏感的數據采用歸一化方法[7],將數據線性地映射至指定的范圍,如公式(1)所示。
? " " " "(1)
式中:X′為輸出結果;X為實際輸入的值;min(X)為輸入數據的最小值;max(X)為輸入數據的最大值。
2.3.1.2 時序數據構建和特征提取
2.3.1.2.1 構建時序數據集
將收集的多維度指標數據按時間序列進行組織,形成時序數據集。以指標數據采集的時間點或時間段標記時間戳,進行時序排列。
2.3.1.2.2 特征提取
從時序數據中提取特征,例如均值、方差、最大值和最小值等。采用最小二乘法做線性趨勢分析,以線性方程表示模型最小化觀測值與模型預測值之間的殘差平方和。將數據劃分為自變量(X)和因變量(Y),設定線性模型,即Y=βX+α,計算回歸系數(β和α),以最佳方式擬合數據。在自變量有很多的情況下,回歸系數通過矩陣運算來計算,使用歷史根因案例數據,檢查殘差分布,驗證模型是否滿足線性回歸的假設。
2.3.1.3 異常檢測算法應用
選擇異常檢測算法:根據數據特點和需求選擇適當的異常檢測算法,例如采用孤立森林算法,隨機選擇一個特征和該特征的一個隨機值來劃分數據。根據選定的特征和值,將數據分成2個部分。這個分割過程是遞歸進行的,直到達到指定的樹的最大深度,通過重復上述過程構建多棵隨機樹。
異常點識別:應用選擇的算法來識別在時序數據中的異常點或異常模式。計算每個數據點在每棵樹中的路徑長度,并計算平均路徑長度。較短的平均路徑長度表明這些點相對更容易被孤立,因此被標識為異常點。
3 根因定位和異常原因分析
確定異常點所在的關鍵指標,這些指標可能是當異常發生時出現顯著變化的特定指標。分析關鍵指標的異常變化,并考慮指標之間的相關性或影響,找出可能導致異常的具體原因。例如采用皮爾遜相關系數,衡量2個變量之間的線性關系,如公式(2)所示。
(2)
式中:r為皮爾遜相關系數;x、y為2個變量的觀測值;、為2個變量的平均值。
收集相關指標的時間序列數據,這些指標與異常事件相關聯,對于每個指標來說,計算數據指標的均值與樣本變量之間的協方差、標準差。將協方差除以變量的標準差的乘積,得到相關系數,根據相關系數的取值范圍進行解釋。接近1或-1的相關系數表示強相關性,0表示無相關性。
3.1 事件鏈法
跨層掃描使用事件鏈法,基于事件之間的因果關系來確定問題的根本原因。該方法通過追溯事件鏈,從起始事件逐步分析直至問題發生,以確定導致問題的根本因素。例如在SaaS與PaaS層間使用事件鏈法進行根因分析涉及以下步驟。
3.2 事件數據收集與準備
跨層事件收集:收集與SaaS層到PaaS層甚至底層基礎設施相關的事件數據,例如服務請求、資源利用以及系統警報等。
3.3 事件鏈構建和關聯分析
3.3.1 事件鏈構建
將收集的事件數據按時間序列進行組織,構建事件鏈,顯示事件之間的關聯性和時間順序。構建事件關聯度量,用于衡量事件之間的關聯程度,如公式(3)所示。
(3)
式中:Support(A→B)為事件A、 事件B的關聯度。
3.3.2 因果關系分析
分析事件之間的因果關系,使用CMDB的知識圖譜方法來推斷事件之間的因果關系[8],了解不同層級事件如何相互影響或導致其他事件發生。
3.4 根因推斷和分析
追溯事件鏈:從SaaS層開始追溯事件鏈,對事件鏈進行路徑分析,分析事件如何傳播和影響,找到導致異常或問題的根本原因。關鍵事件識別:確定在事件鏈中影響最大、導致最終問題的關鍵事件。因果推斷: 推斷出不同層級事件之間的因果關系,確定引起SaaS層異常的可能PaaS層或底層基礎設施事件。
4 應用效果
針對北京電信CRM的綜合查詢接口、產品信息查詢等接口的調用量、系統成功率以及業務成功率等3個重要指標進行異常監控。監控內容包括調用量波動監控、接口調用業務成功率監控、接口調用系統成功率監控。采集的數據見表1。
以北京電信某日TeleDB的故障案例為例,當日數據庫故障引起多條指標異常時,主要包括以下幾種情況。指標異常一:賬本使用查詢AccuUseQry有4個發起方調用出現問題。指標異常二:北京PAA分布式數據庫實例mysql_server,數據庫主進程不存在。指標異常三:ACCTPG_DB欠費復機工單積壓積壓值為18。根因判定:當指標發生告警時,啟動根因定位,診斷結果如下。北京PAAS域分布式數車實例XX.XX.XX.XX_mysql_server_XXXX,數據庫主進程不存在,影響繳費復機、賬本使用查詢API等業務。
5 結語
本研究針對現有IT監控系統面臨的挑戰,提出了三層智能關聯的監控框架,并在北京電信CRM系統中進行實際應用。通過構建一體化的運維監控平臺,整合了SaaS、PaaS、IaaS三層資源的監控,并利用智能關聯技術實現了指標的關聯分析和根因定位。在監控系統中,對多種異常情況進行監控、診斷和根因定位,為故障排查提供便利。隨著大數據、人工智能以及云計算等技術的不斷進步,IT監控三層智能關聯應用更廣泛,可以實現監控畫面的自動識別、異常檢測及監控系統的彈性擴展、動態管理等。未來可以進一步引入機器學習和人工智能技術,構建智能化的決策支持系統,提供更精準的異常預測和自動化的故障處理能力。
參考文獻
[1]王德成,郭永和,閆龍川,等.云計算環境下數字化業務全鏈路監測關鍵技術[J].網絡安全技術與應用, 2023(6):72-74.
[2]王子勇,王燾,張文博,等.一種基于執行軌跡監測的微服務故障診斷方法[J].軟件學報,2017,28(6):1435-1454.
[3]徐飛宇.基于調用鏈追蹤的無服務器應用異常檢測方法[J].信息技術與信息化,2022(5):5.
[4]孫健飛.基于無監督學習的接口異常檢測及根因定位方法[J].江蘇通信,2023,39(5):88-92.
[5]COOK D J, HOLDER L B. Mining graph data[M].New Jersey:
John Wiley amp; Sons, Inc, Hoboken, 2006.
[6]AGGARWAL C C, WANG H.Managing and mining graph data[M].
Boston:Springer Publishing Company, Incorporated, MA,2012.
[7]湯榮志.數據歸一化方法對提升SVM訓練效率的研究[D].濟南:山東師范大學,2017.
[8]劉瑞宏,謝國強,苑宗港,等.基于知識圖譜的智能故障診斷研究[J].郵電設計技術,2020(10):30-35.