史紀強 任恩茂 張敏
油田大力推進“兩化”深度融合,通過“兩化”本質貫標,著力培育構建智能勘探開發、創新驅動發展、價值創造推動能力,應用安全也成為重要的基石。經過多年的建設,油田信息設施已具有一定的規模,各種各樣的應用系統持續上線運行。由于應用系統分散部署,錯綜復雜,難以準確發現、監管和管控,給日常管理、維護帶來很大的障礙。如何保證計算機系統及應用系統的正常運行,并實現高效安全的運轉成了一個艱巨的任務。為實現應用系統的集中管控,集成基礎服務和業務應用數據,系統管控的可視化、規范化和精細化,為生產、辦公、決策等提供更大的價值,有效提高應用系統資源的利用率,最終達到統籌管理、運維和使用的目的,油田應用系統集成整合勢在必行。為了完成油田應用系統的整合,首先要進行對各個應用系統進行探測發現。在應用主動發現的基礎上,通過對發現應用系統的運行現狀、軟件功能等情況進行多維分析和實際效果評估,最終形成一套應用系統主動發現和智能診斷方法,準確發現油田網上運行的應用系統,實現應用系統的優化管理。
為了判斷各服務器部署和發布的疑似應用系統,將采用網絡爬蟲技術,Web內容掃描技術以及桌面管理系統的數據挖掘相結合的方法,對疑似應用系統特征信息進行收集、分析和識別,多方式綜合判定。綜合利用三種技術,彌補了單種技術所帶來局限性,形成一套完整的邏輯處理方法,較大程度實現了對應用系統的主動探測。
(一) 爬蟲技術
要實現應用系統的主動發現,首先要使用爬蟲技術。在對應用系統的主動發現過程中,網絡爬蟲和掃描插件在調度中心的統一調度下工作。選取固定入口,設計應用特征庫解析關聯鏈接,逐級“爬行”遍歷,探找未注冊、未登記應用。與一般爬蟲相比,主動發現技術所使用的網絡爬蟲不僅要發現在頁面內的正常鏈接,也需要發現目標服務器上存在的一些特殊文件數據用來分析,比如相關腳本的備份文件以及配置信息等。因此,要實現應用系統信息的有效爬行抓取,提高解析速度和準確性,動態擴展網頁分析能力,對深層網頁分析及JS腳本分析,提供更豐富的爬行信息和技術方法是應用系統主動發現技術網絡爬蟲的主要特點。網絡爬蟲工作機理如圖1所示。

(二) Web信息掃描
對一些爬蟲技術沒有發現的孤立系統,可以依據油田安全漏洞掃描的結果數據來比對應用特征庫,開展定點排查,追蹤疑似應用。借鑒掃描工具的功能,對Web進行內容掃描,對應用系統路徑、暴露關鍵問題信息等進行收集、分析。這里主要研究開源的Web內容掃描軟件,建立數據分析和特征庫,形成應用識別模型和算法。

(三) 油田桌面管理系統的數據挖掘
為了全面實現服務器部署和發布的疑似應用系統的主動探測。采用桌面管理系統的數據挖掘來彌補爬蟲技術和Web信息掃描對探測的不足之處。按照油田網絡管理規定,油田桌面管理系統安裝率100%。因此可以對油田桌面管理系統的數據分析和挖掘,監控主機下IIS、Tomcat等進程及配置數據,輔助實現應用系統的發現。
(四) 建立綜合應用識別方法
每種技術方法都一定的局限性,如爬蟲方式需要有鏈接關系,需要幾種技術要綜合應用,從多維度綜合判定。桌面系統根據進程監控,通知爬蟲系統對疑似URL遍歷;根據油田信息安全掃描數據,對可能的Web應用進行爬行遍歷;通過內容掃描,進一步識別。

在應用主動發現的基礎上,通過對發現應用系統的運行現狀、用戶粘度、分布狀況、應用范圍、軟件功能等情況進行多維分析和實際效果評估,形成一套完整的發現應用運行狀況評估技術方案;建立應用質量評估模型,形成應用性能監測診斷技術體系。最終達到為應用瘦身、停用替代、提供診斷的目的,使油田網絡資源達到統一管理、安全運維和節約化使用,實現應用系統集中管控,有效提高應用系統利用率。
(一) 性能監控
分為模擬性能監控和真實用戶監控。模擬性能監控通過嵌碼和探針等方法從應用前后端獲取不同性能參數,設計算法形成應用性能綜合評價。定期訪問網站并記錄每次運行的性能數據。測量的流量并非實際用戶所產生的,而是用于收集頁面性能時生成的。真實用戶監控由供應商提供嵌入到每個頁面的代理(JavaScript腳本),報告當前頁面的每個請求的加載數據,觀測實際用戶的交互,分析數據,最終形成應用性能指標。
(二) 性能分析與量化評估數據處理
1、 數據整理
在獲取了大量的有關應用系統的數據之后,這些數據中可能包含一些不一致、重復、不完整、存在錯誤或異常(偏離期望值)的數據,為了使后續預測階段有較好的表現,需要對這些數據進行:數據清洗,去掉噪聲和無關數據;數據集成,將多個數據源中的數據結合起來存放在一個一致的數據存儲中;數據變換,把原始數據轉換成為適合數據挖掘的形式;數據歸約,數據立方體聚集,維歸約,數據壓縮,數值歸約,離散化和概念分層等。
2、關聯分析
兩個或兩個以上變量的取值之間存在某種規律性,就稱為關聯。數據關聯是數據中存在的一類重要的、可被發現的知識。關聯分為簡單關聯、時序關聯和因果關聯。關聯分析的目的是找出數據中隱藏的關聯網。一般用支持度和可信度兩個閥值來度量關聯規則的相關性,還不斷引入興趣度、相關性等參數,使得所挖掘的規則更符合需求。
3、序列模式
時間序列分析則側重研究數據序列的互相依賴關系。實際上是對離散指標的隨機過程的統計分析,所以又可看作是隨機過程統計的一個組成部分。在一組有序的數據列組成的數據集中,經常出現的那些序列組合構成的模式。跟我們所熟知的關聯規則挖掘不一樣,序列模式挖掘的對象以及結果都是有序的。在經過了數據處理之后所得到的數據可以直接用于預測模型,可以提高后期工作效率。
(三) 應用性能指數(Apdex)
Apdex 是用戶對應用性能滿意度的量化值,提供統一的測量和報告用戶體驗方法,把最終用戶的體驗和應用性能作為一個完整指標進行度量。采樣結果被量化為一個0 到 1之間的數值即 “Apdex 指數”,0 代表沒有滿意用戶,1則代表所有用戶都滿意。經過統計,Apdex 把這個數值與用戶滿意程度細化對應,如圖4所示.

對于應用性能的 Apdex 評分與用戶的體驗緊密關聯,為管理者提供了一種通過應用性能量化值來評估用戶滿意度的方法。
(四) 量化分析指標
采集系統模塊訪問量、在線人數、停留時間、數據庫增量、更新時間、數據更新情況等數據;通過指標對比、應用對比、分單位應用情況、數據庫更新對比等。建立符合實際的量化分析指標,在此基礎上形成可視化的性能分析。
針對應用系統難以準確掌握,低效無效應用占用資源,存在安全風險的問題,借鑒國內外相關應用優化最新成果,采用網絡爬蟲技術,Web內容掃描技術以及桌面管理系統的數據挖掘相結合的方法,多維度綜合判定存在的應用系統;對所發現應用系統的運行現狀、用戶粘度、分布狀況、應用范圍、軟件功能等情況進行多維分析,建立應用智能識別和評估模型和算法,開發應用發現與診斷系統,對應用系統進行性能分析與量化評估,達到高效利用有限網絡資源,提高用戶體驗和降低維護成本的目的。

平臺架構如圖5所示,分為三層。
數據采集層:獲取用戶訪問信息、響應時間等;
數據分析層:利用應用系統性能分析與量化評估技術對采集到的數據進行多維度分析;
告警層:通過應用性能監測及故障診斷技術對出現的異常情況告警可視化。
平臺通過高速數據采集設備對核心交換機骨干鏈路的業務流量進行實時采集和 DPI 分析,通過系統性能分析、量化評估和應用系統異常預警進行端到端的性能測量和管理,幫助網絡運維部門預先和實時掌握網絡應用系統運行質量狀況。
首先,在系統性能與量化評估分析方面,平臺具備數據流量透視能力,可實現對鏈路層、網絡層、傳輸層的流量和流數目進行統計分析。從應用、用戶、外部地址三個不同的角度對流量的趨勢、排名進行統計分析,查看最近5分鐘、最近3小時、 最近1天、最近一月、最近一年等不同時間段里哪些應用所 產生的流量最大,可確定異常流量來源、識別其所對應的應用類型、記錄其發生的時刻和存在的時間、追蹤其傳輸的路徑和目的地,對異常流量進行定位、跟蹤、溯源。傳統的網管監測,對鏈路性能進行監測時,只有通過運維人員 ping 鏈路 IP,才能看出鏈路的延遲、丟包率 等數據,無法監測出鏈路實時帶寬。而應用性能監測及故障診斷平臺可以實時看出應用服務器網絡的延遲、抖動、丟包率,甚至是可用帶寬、 瓶頸帶寬等性能參數。能對鏈路上運行的應用進行深度分析得出有價值的性能數據和統計數據,依據統計數據可分析出鏈路中哪種應用運行更加順暢,定位應用性能瓶頸,有助于合理分配網絡應用資源,快速解決因資源分配不合理導致的網絡擁塞現象。
其次,在智能診斷方面,針對油田內部網絡各類業務(包括 Web、DNS、視頻、流媒體、FTP、數據庫、郵件、內部生產業務等)實時運行性能進行可視化深度分析,可實時感知DDos攻擊、蠕蟲爆發、大規模病毒傳播和非規律的流量變化等網絡異常情況,精準定位問題根源組件,有助于區分故障是在網絡側還是服務器側。 通過對應用網絡流量動態基線分析,維護人員無須為每一異常流量數據包特征尋求或開發專屬的偵測程序,高精度、高同步性的動態流量監測測量數據為運維人員提供了更可靠、 更精確網絡應用流量告警。使運維人員對油田內部網絡應用巡視維護效率大大提升;從傳統的被動排查,到現在及時主動發現,提高故障響應速度,降低應用網絡性能分析成本,從而提升整個油田內部應用的可靠性及運維效率。有助于即時發現網絡應用配置故障、路由環回故障、顯著性能下降等服務器網絡故障,避免了傳統排查的費時費力。
通過研究,形成一套應用系統主動發現和智能診斷方法,準確發現油田網上運行的應用系統,實現應用系統的優化管理。對于進一步整合油田應用系統,高效利用網絡資源具有重要意義。可以實現油田應用系統的有效管控,對整個油田應用系統的分布狀況,應用范圍,利用率,運行現狀等全面及時了解。明確油田各應用系統之間的關系,為應用的故障預測提供依據。使油田網絡資源達到統一管理、安全運維和節約化使用。分析應用系統的功能和業務,在更高層次上分析業務關聯,為信息化頂層設計提供科學的決策依據。為云平臺的推廣應用,基于組件復用集成穩定運行提供保障。
基金項目:中國石化勝利油田分公司科研項目“應用系統主動發現與診斷處置技術分析”,項目編號:YKJ1904-1