李法杰
通過近幾年的建設和發(fā)展,農村商業(yè)銀行的信息科技治理水平不斷提升,IT系統不斷推陳出新,應用系統數量不斷增加,與此同時,系統間關系變得愈加復雜,系統運維壓力也日漸增加。作為運維工作中問題分析和故障診斷的重要工具,日志記錄是否全面,關鍵信息檢索是否方便往往直接影響故障和問題的診斷效率,進而影響運維的整體水平。本文通過對農商銀行日志管理現狀分析,借鑒同業(yè)及互聯網行業(yè)領先實踐,提出通過制定全行統一的系統日志技術標準和建設統一日志管理平臺,有效解決運行維護管理中存在的問題,為進一步實現端到端應用級監(jiān)控奠定數據基礎。
一、日志管理現狀分析
日志文件是由系統或者應用程序產生的用于記錄系統和應用程序的操作事件和各種服務的啟動、運行、關閉等信息。商業(yè)銀行信息系統數量龐大,以山東農村商業(yè)銀行為例,截至目前,已建成包括核心業(yè)務平臺、信貸管理系統、經營決策系統等各類應用系統超過一百多套,覆蓋業(yè)務處理、運維管理、經營管理等各領域。由于銀行信息系統建設一般采用多家廠商共同建設的模式,各技術廠商引入自身的日志技術標準或規(guī)范,內容和質量參差不齊,相互無法統一,造成后續(xù)日志使用時格式混亂、無法閱讀等問題。
(一)數據質量與標準
應用系統日志技術標準是對日志數據的分類、內容、格式等進行定義,在遵守行業(yè)相關應用安全規(guī)范、集成規(guī)范、數據標準等基礎上對日志文件的記錄、存儲和使用提供標準化規(guī)范。目前,農村商業(yè)銀行日志數據質量與標準上普遍存在以下問題。
日志數據標準不統一。普遍缺少統一的日志數據標準,大部分應用雖有各自的數據標準或規(guī)范,但規(guī)范內容不完善、不統一。
日志分類不完整。大部分應用均對日志內容進行了分類,運維工作中使用最多的是應用日志,但各大多數應用并未明確區(qū)分應用日志與系統日志。
日志內容不完整。大部分應用的日志標準均未對日志內容進行清晰定義,不僅關鍵業(yè)務要素未記錄,服務調用請求信息也未記錄。
日志格式不一致。大部分應用均對日志格式進行了定義,但各應用系統間日志的格式各異,不利于不同應用的運維人員閱讀或者交由日志工具進行數據抽取和識別。
流水號規(guī)范缺失。部分關鍵應用已經使用了流水號,但該流水號并非全局使用,僅僅起到在該應用內部標識事務唯一性的作用,且只在其直接上、下游系統間傳遞。既沒實現全應用的使用統一,也無法實現全應用的事務關聯,不能支撐全行交易端到端交易鏈路的還原。
(二)日志數據存儲
各應用系統日志普遍采取本地存儲的方式,日志存儲在各自的應用服務器或數據庫服務器上,缺少集中統一的存儲設備。日志數據留存周期、歸檔轉儲等缺少統一的規(guī)劃,對于時間跨度較長的問題,在分析處理時,日志數據往往已被清理,存在日志缺失的風險。
二、統一日志管理平臺應用架構設計
針對當前農村商業(yè)銀行應用系統日志管理中存在的問題,在統一各應用系統日志標準的基礎上,構建全行級的統一日志管理平臺,實現行內各應用系統分散日志的集中存儲和數據積累,采用全局流水號機制實現跨系統交易日志關聯和交易路徑還原,在此基礎上實現基于日志數據的相關應用和服務,是農村商業(yè)銀行應用系統日志管理的未來轉型方向。日志管理平臺作為全行級基礎性平臺,一方面要滿足支持故障定位分析和運維優(yōu)化的需要,另一方面要為監(jiān)控、營銷等系統提供數據支持。其應用架構設計如圖1。
(一)服務層。作為統一日志管理平臺的前臺界面和服務接口,是用戶訪問或外系統調用的入口。服務層主要完成以下功能:
1.檢索與統計。用戶可通過檢索條件檢索日志內容,用于分析故障原因。檢索方式包括關鍵字檢索、范圍與條件檢索和組合檢索,檢索結果可以通過數據明細和圖表的形式有序展現。
2.日志瀏覽與數據管理。日志管理平臺提供在線瀏覽和離線瀏覽日志管理平臺的日志文件兩種方式。
3.交易端到端分析。全局流水號的引入使得平臺支持對交易流水數據進行實時的關聯分析,直觀展示交易鏈路,輔助維護人員準確定位故障,包括端到端鏈路還原、耗時分析、接口報文分析和錯誤日志分析。
4.交易統計分析。豐富的日志數據支持交易關系分析、應用關系分析、交易量與交易性能關聯分析,為維護人員運維優(yōu)化提供信息參考,為管理者提供決策依據。
5.數據服務。為數據消費應用提供服務接口,包含交易明細數據存取和指標告警數據存取。
6.用戶與數據安全。對不同用戶進行訪問控制和敏感數據遮蓋,包含用戶管理和權限管理。
7.系統管理。對日志管理平臺進行配置和維護,包含代理管理、采集管理、安裝與部署、配置與管理和系統監(jiān)控。
(二)應用邏輯層。是統一日志管理平臺的核心,它是前臺展現的業(yè)務邏輯部分。包含:
1.全文日志檢索。將前臺檢索要素和統計指標轉換為檢索統計語句,對檢索和統計結果進行處理后返回前臺,包含日志檢索和日志統計;
2.交易明細處理。對交易明細數據進行加工處理,支持服務層交易端到端分析和交易統計分析。包含耗時計算、報文字典計算、交易鏈路還原和統計/關聯分析;
3.權限與安全。對權限管理、訪問控制和敏感數據遮蓋形成支持,包含功能權限控制、數據權限控制、敏感數據遮蓋和用戶認證。
(三)日志數據存儲層。存儲層是統一日志管理平臺的基礎。存儲層接收并存儲收集層發(fā)送的日志數據,包含:
1.分布式全量日志存儲。提供分布式文件存儲需要的管理功能,支撐展現層的日志在線瀏覽和離線瀏覽。主要功能包括:日志入庫、日志輸出和分布式文件管理等;
2.日志索引。負責近期日志數據的索引和檢索,同時提供近期日志數據統計分析功能。支撐界面層的故障定位和處理層的全文日志檢索。主要功能包括:索引建立和索引數據管理等;
3.歷史數據存儲。負責歷史日志數據的存儲和統計分析。數據來源于在線檢索子系統和海量日志文件存儲子系統的批量導入。主要功能包括:數據導入、數據提取;
(四)收集層。收集層是統一日志管理平臺獲取日志文件的關鍵環(huán)節(jié),是日志數據分發(fā)重要的組成部分。它接收代理層上送的日志數據,經過解析和格式轉換等加工過程,分發(fā)給分布式全量日志存儲和日志索引。主要功能包括:日志接收、日志解析、格式轉換、日志分發(fā)、集群控制、通訊協議等。
(五)代理層。日志采集代理是統一日志管理平臺獲取日志文件的入口,日志采集功能是統一日志管理平臺重要的組成部分。它的主要作用是將被接入系統日志增量數據傳輸給統一日志管理平臺。日志采集代理的主要能力為日志偵聽、日志讀取、日志傳輸和采集控制等。
三、結束語
本文在分析農村商業(yè)銀行應用系統日志管理現狀的基礎上,提出了基于全局流水號的方式解決各應用系統日志無法以交易為主線進行關聯,無法支撐交易端到端分析的問題,在日志存儲上,統一日志平臺采用分布式存儲技術解決現有日志只能分散在各應用、存在存儲空間上限、長期存儲成本不經濟等問題,能夠較好解決當前農村商業(yè)銀行應用系統日志管理中存在問題。