孫煜華,張 雨
(廣州供電局有限公司信息中心,廣州 510620)
近年來隨著技術的發展,基于網絡旁路數據監控的業務系統監控方式得到了行業內運維者的廣泛認可:這種方式具有不需要對業務系統進行改造、無運行風險、實時性高、部署快速等傳統應用管理方案所不具備的優勢。
業務系統的量化需要通過對業務指標數據的分析來實現。常用的業務監測指標有:日均登錄用戶數、日均用戶活躍率、日均訪問量、日均業務處理數量、業務平均耗時、應用模塊的有用性和可靠性、業務告警數等指標。
通過監測的指標反映系統實用化程度情況,真實客觀快速梳理業務應用組件之間的邏輯訪問關系,根據組件之間和告警的邏輯關系,自動定位問題節點;多維度統計視圖,深入分析,逐層解析問題,從統計數據追蹤到單筆交易,深入問題根源,有效利用現有的數據,為高層管理決策提供服務,同時也為行業的戰略發展目標和市場策略的制定提供了依據,從而提高了企業的風險控制能力和經營決策能力以及競爭能力。
業務架構作為電力公司企業架構(EA)的重要組成部分,其描述了業務域、一級業務分類、二級業務分類、業務流程以及業務分類之間的協作關系、業務流程之間的協作關系,是信息化系統實現的重要參考。
電力公司業務系統設計遵循電力公司企業架構,系統業務模型、需求分析和詳細設計基本遵從了EA的業務架構,但系統實用化后面臨以下問題:一是應用系統的最終實現與EA的業務架構的映射缺少有效的版本檢測應用;二是無法實現對業務系統各應用模塊的實用精益化管理。業務系統實用精益化運行監測與分析對于業務系統持續改進和優化有非常重要的意義。
研究路線分兩個維度:系統運行和部署維度、用戶行為以及業務邏輯維度。一是系統運行和部署維度:需要收集業務部署機器的資源狀況,中間件和數據庫軟件的運行狀態,以及業務系統軟件部署文件的變化。二是用戶行為以及業務邏輯維度:需要從數據流量中分析和統計業務對象(單據)的數量和狀態變化,業務平均耗時和業務環節超時數量,需要統計用戶登錄和退出以及各個模塊的使用狀況。
對于這兩個維度的需求,我們分別采用不同的解決方法。一是系統運行和部署維度:在軟件部署和運行的各臺機器上部署Agent服務,Agent收集CPU和內存資源消耗,中間件和數據庫運行狀況,業務系統部署文件列表,數據庫Schema等數據,并上報到Master服務,Master服務將數據入庫,并在Web頁面展示。實現這部分功能的軟件系統叫做運行監測子系統。二是用戶行為以及業務邏輯維度:使用TCP數據復制和分流的方法,將用戶訪問系統的數據流量導入到監測系統中。系統從數據流恢復出Http日志(請求和響應),進而從Http請求和響應中抽取出業務數據和用戶行為數據,并將數據入庫。
(1)業務數據:用戶進行業務對象的查看和修改操作時,業務數據會被包含到Http的響應文本中。DaaS系統能夠從Http響應中抽取出格式化的業務數據。
(2)用戶行為數據:從Http日志中還可以抽取用戶登錄、退出以及頁面訪問等數據。這些數據可以統計用戶在線時間、模塊使用狀況等指標實現這部分功能的軟件系統叫做日志分析系統。
系統由多個功能模塊組成,包括用戶日志獲?。ㄐ崽狡鳎?、機器信息獲取(探針)、業務運行監測、實時日志分析、指標統計和展示、報警、審計,個人中心、系統管理。這些模塊的結構如圖1所示:

圖1 技術架構
系統硬件部署架構采用網絡監控軟件旁路模式,就是通過端口鏡像來進行監控。旁路監聽的優勢主要體現在:旁路部署方案是對當前網絡影響最小的監控模式;充分利用已有硬件的功能,部署方便,不會影響現有的網絡結構;不會對網速造成任何影響。旁路模式分析的是鏡像端口拷貝過來的數據,對原始數據包不會造成延時;旁路監控設備一旦故障或者停止運行,不會影響現有網絡;旁路部署方案一樣可以對上網行為進行控制。旁路監控系統,通過接入一個非侵入式的設備進行監測,能在不改造原有系統下實現準實時,不占用生產環節資源,對所有時間、所有用戶和所有交易進行監測的能力。通過這套系統能建立一套有效的監控系統,對IT的各個系統進行監測,可以把IT監控劃分為網絡監控、服務器監控、數據庫監控和應用程序監控等;實現對企業的業務應用進行監測和優化,提高企業應用的可靠性和質量,保證用戶得到良好的體驗,降低IT總擁有成本(TCO)。
采用網關或負載均衡等設備,從業務系統服務器流量入口處將服務器接收的數據全量復制,非侵入地監控應用系統的用戶訪問行為,用于精確分析用戶行為特征,為業務系統優化再將TCP/IP協議數據轉換封裝成Http數據包,然后通過數據分析等工作解析出每個業務流程環節的用戶動作,為實際應用提供統計數據依據,并可視化展現。
主要開展版本檢測報告、指標管理、數據采集管理、實用精益化報告等方面的工作。

圖2 業務功能體系
(1)業務系統版本檢測。以持續掃描和探測業務系統,獲取業務系統的當前最新狀況,將業務系統功能設置與期望狀況之間的差異在時間維度上進行展現,從而可以觀察到業務系統建設的當前狀況和歷史發展,為公司信息系統的建設和發展提供參考。
(2)業務系統應用模塊實用精益化管理。隨著信息系統的不斷建設和發展,業務系統的功能越來越多。這些業務系統需要持續地維護和改進,以提高業務辦理的質量。為了對業務進行維護和改進,我們需要了解業務模塊被使用的狀況。對于被頻繁使用的模塊,需要投入更多資源去維護其運行的穩定性。這對于公司調度有限的開發和維護資源有重要的參考意義。
此外,各個業務模塊在被使用的過程中會持續產生業務相關的數據,如業務流程單的創建、簽發、審批和實施等數據。這些業務數據一方面可以幫助發現業務流程的瓶頸,對于了解和改進業務流程有非常重要的意義;另一方面,可以幫助管理者方便直接地掌握員工的辦事效率,提高管理效率。
(3)業務數據采集管理。通過對業務系統產生的網絡流量進行旁路監聽,實現版本特征與實用化精益化相關的業務數據的采集管理。具體來說,需要采集業務流程的狀態以及操作,并根據這些數據,統計單據流轉的指標,以及體現單據流轉的狀況。這些指標包括:每日發起單據數、單據流轉時長、每個環節的單據數、每個環節的流轉時長等。
(4)應用模塊實用精益化管理報告。最終對采集的指標信息進行監控和展現,例如用戶情況展現及應用模塊情況展現功能,用戶情況展現可分為日均登錄用戶數、日均用戶活躍率、用戶訪問次數和活躍率變化、用戶活躍度等,應用模塊情況展現可分為應用模塊響應時間、應用模塊的有用性和應用模塊可靠性等。通過相關指標的展示,形成實用精益化管理報告,從而實現系統應用模塊的實用精益化管理。
用戶使用情況涉及的統計指標如表1所示:
下面給出幾個主要的功能模塊實例來說明是如何對業務系統進行實用精益化運行監測的。
部門活躍度反映部門下所有用戶在一段時間內的登錄次數,登陸次數越多,越頻繁,說明該部門用戶越活躍。該功能可以選擇多個部門進行活躍度比較,同時也能按時間反映每天的活躍度變化情況。

表1 用戶使用情況涉及的統計指標

圖3 部門活躍度
訪問量主要反映部門用戶對各業務模塊的訪問次數。用戶可以選擇多個部門并按訪問量大小排序,可以選擇指定的業務模塊進行分析,同時也能按時間反映每天的訪問量變化情況。通過該指標,用戶可以了解掌握每個部門,每個業務模塊的訪問情況。

圖4 訪問量分析
業務單據數及業務耗時指標主要反映業務的處理數量及業務環節平均處理時間。通過該指標用戶可以全面了解和掌握個部門的業務處理情況,為各部門的業務績效考核提供依據。
有用性指標主要通過訪問率來定義,訪問率越高,說明功能模塊越有用。有用性指標有四種類別定義,分別是非常頻繁,使用頻繁,偶爾使用,幾乎不用??煽啃灾笜酥饕ㄟ^錯誤率來定義,錯誤率越高,說明功能模塊越不可靠??煽啃灾笜艘灿兴姆N類別定義,分別是非常可靠,比較可靠,基本可靠,很不可靠。有用可靠性指標可以讓用戶了解掌握一段時間內各功能模塊是否有用以及是否可靠。

圖5 單據處理分析

圖6 可靠性分析
實用化告警分為業務告警和應用告警。業務告警主要反映業務環節處理超時數量。用戶需要先為每個業務環節設置或定義一個超時時間。該配置可以依據業務環節的變化進行適當調節,以更好地適應業務系統的變化。當業務環節的處理時間超過設置的超時時間閾值時,則生成業務超時告警信息。應用告警主要反映應用模塊的訪問錯誤數。當訪問出現錯誤時,生成應用告警信息。通過實用化告警信息,用戶可以了解和掌握一段時間內業務環節處理超時數量,并督促業務人員提高業務處理效率。

圖7 實用化報告
通過對業務系統進行實用精益化運行監測與分析研究,可以全面掌握企業信息系統的運行狀況,發現企業信息系統實用化薄弱環節,針對出現的問題制定解決方案,提高現場實施人員業務和技術水平,全面提升公司信息系統實用化水平,實現客戶與企業雙贏。同時有效利用現有的數據,為高層管理決策提供服務,為行業的戰略發展目標和市場策略的制定提供依據。