張計飛
[摘要]通用應用日志監管平臺,是一款通用的企業應用日志監管軟件,它從采集、處理、存儲、監控和管理分析五方面入手,采用標準采集協議、分布式處理、集中存儲等多種技術方案,實現了對應用日志的統計分析、多維度查詢、實時報警,具有通用性強、操作簡便等特點,可滿足于不同行業、不同角色的監管需求。
[關鍵詞]通用日志;監管;軟件
doi:10.3969/j.issn.1673 - 0194.2017.02.089
[中圖分類號]TP311 [文獻標識碼]A [文章編號]1673-0194(2017)02-0-03
1 應用日志監管平臺的概述
應用日志是基于時間順序,記錄應用程序所發生事件的數據。開發人員,可以根據應用日志中的錯誤和調試信息等數據,跟蹤程序運行、分析程序性能,這有利于提升程序質量和開發效率;運維人員,可以根據應用日志中的運行數據,監控程序狀態、定位排查故障、分析性能瓶頸等。因此,應用日志的監控和管理對程序開發和企業的運維都有著重要作用。
本地存儲,這種傳統的應用日志的監管方式存在很多問題,其碎片化嚴重;格式不統一,不利于數據分析和管理;易丟失,安全性差;監管工具局限性大,應用場景單一,功能簡單。如何構建一套通用的監管平臺,真正有效地挖掘并利用日志數據來助力企業發展,是企業迫切需要解決的問題。
2 應用日志監管平臺的功能說明
通用應用日志監管平臺核心功能模塊分為日志采集模塊、日志處理模塊、日志存儲模塊、日志管理網站、日志監控報警模塊和日志分析報表模塊。如圖1所示。
日志采集模塊,是平臺從應用程序中收集日志數據的功能模塊。該模塊采用標準日志接入協議和分布式隊列接收技術,可同時接入多個應用程序,收集不同類型的日志數據,即使海量的應用日志數據也能被快速、完整的接收。
日志處理模塊,是對接入的應用日志數據進行處理的功能模塊。該功能模塊采用高集群技術,不間斷地對日志數據進行篩選、分組、格式優化等處理。
日志存儲模塊,是存儲應用日志數據模塊。對最新的日志和使用頻率高的數據,采用Redis緩存集群存儲技術,將數據存放在內存中,可快速讀取數據,提升分析效率。對使用頻率較低的數據,采用Hbase分布式存儲系統存儲,將數據分散存儲在多臺獨立的設備上,提高存儲的可靠性,可根據需要隨時擴展存儲;對使用頻率極低的數據,采用HDFS分布式文件系統存儲方式進行備份,成本低、容量大、易擴展。
日志管理網站,是在線監控應用日志、配置管理的網站。該網站主要有日志檢索、權限管理、應用管理、報警策略管理等功能。日志檢索是日志分析工作的重要內容,通過日志產生時間、數據來源、信息類型、日志級別等不同維度,對數據進行快速的過濾,精準定位,簡化應用日志分析工作。權限管理,通過分配每個用戶的操作權限和數據訪問權限,既滿足不同管理角色的監管需求,又能有效地避免信息交叉,防止信息泄露,保證日志內容安全。應用管理功能,可在線配置應用程序的接入方式和接入參數等信息;報警策略管理,可配置監控報警條件、報警推送方式、報警頻次等信息。
日志分析報表模塊,是應用日志監管數據可視化的分析工具。包含數據統計計數功能、求和功能、求最大值、最小值功能與數據對比功能等,支持折線圖、條形圖、餅狀圖等多種圖表格式,對日志數據進行多維度的圖表展示。
日志監控模塊,是日志監管平臺中的“眼睛”。可24小時不間斷地監控日志數據,節省人力,減少運維成本。智能識別異常日志,在事件發生的第一時間,發送郵件和短信通知,便于企業快速采取措施,減少異常導致的損失。
3 應用日志監管平臺的軟件架構
通用應用日志監管平臺軟件架構是一套高性能、可擴展的軟件框架。日志采集使用消息隊列集群技術,可支持大的數據量的應用日志接入。數據處理采用消息隊列發布、訂閱模式,異步處理數據,緩解處理服務器的壓力。數據存儲采用三種存儲技術,高頻率使用數據存儲使用Redis緩存集群,提供內存及讀寫速度,提升數據讀寫性能。普通數據存儲使用HBase數據庫,不僅能存儲大規模數據,還能提供實時讀寫訪問。備份數據存儲采用HDFS分布式存儲技術,可存儲大規模的存檔文件。如圖2所示。
架構中采用的主要技術介紹如下。
分布式消息隊列是本架構中的重要技術,在日志處理模塊中負責接收采集數據,保存數據內容并發送下一節點進行進一步處理。該技術具有異步處理的特點,能保存消息數據,無需依賴發送端和接收端,解決了應用程序的耦合,異步消息等問題,保證數據傳送的安全。
Redis緩存集群存儲技術,是存儲模塊中高速讀寫數據的重要技術。當平臺進行大規模的數據訪問時,磁盤I/O往往成為性能瓶頸,從而導致過高的響應延遲,嚴重影響性能。Redis緩存集群存儲技術將高速內存作為數據對象的存儲介質,數據以key/value形式存儲,理想情況下可以獲得DRAM級的讀寫性能。為平臺提供高效的讀取數據的解決方案。
HBase是一個分布式的、面向列的開源數據庫,支持大數據處理和分析,可在廉價服務器上搭建起大規模結構化存儲集群,具有高可擴展性,可實現彈性存儲。
HDFS分布式文件存儲技術是適合運行在通用硬件上,具有高度容錯性的分布式文件系統存儲技術,支持大文件存儲,適合存放大量數據。在本架構中,負責存放海量的日志備份數據,不但能有效保障數據的安全性,還能部署在普通服務器上,有效地控制存儲成本。
4 應用日志監管平臺的性能
下面是通用應用日志監管平臺部署示意圖,如圖3所示。
平臺性能測試如下。
(1)硬件環境:
①單臺服務器配置:CPU(雙核,2.4 GHz/2 397MHz),內存(DDR4,8GB);
②3臺服務器組成日志處理服務器集群;
③2臺服務器組成Redis緩存服務器集群;
④2臺服務器組成存儲服務器集群;
⑤1臺日志管理網站服務器;
⑥1臺日志監管服務器。
(4)測試結論:架構支持每秒十萬左右數據的接入,每秒
9.2萬數據的處理,千萬級數據查詢響應的時長不超過1秒。
綜上所述,通用應用日志監管平臺的軟件架構,支持高并發接入,高性能數據,檢索結果秒級延時,支持動態擴容,具有高性能、低延時、易擴展等特點。
5 應用日志監管平臺的應用場景
以下是通用應用日志監管平臺應用場景示意圖,如圖4所示。
圖4通用應用日志監管平臺應用場景示意圖
企業辦公軟件:實時監管日志數據,及時報警異常信息,大大節省運維資源;同時在線分析軟件運行狀態,為企業優化辦公流程提供依據,提升辦公效率。
車聯網系統:支持大量車輛數據高并發接入,實時采集日志信息,快速分析,同步存儲,實現對系統異常的實時管控。
電子商務:支持高并發、大流量的數據采集和分析,挖掘數據價值,分析用戶行為趨勢,避免系統過載崩潰的風險,安全運行,保證系統高效用,降低運營風險。
金融服務:實時分析系統日志,在線監管系統安全,為金融企業規避風險,保障資金安全。
云服務:通過分析服務日志,在線展示服務使用報表,有利于解決不合理的資源配置,優化服務性能。
移動APP:移動端和后臺服務產生的日志,實時接入監管平臺,運營管理可在線監管運行的狀況,配合報警功能,及時掌握異常信息,提高系統的穩定性。
通用應用日志監管平臺的應用場景較為廣泛,以上列舉的為典型的應用場景,通常只要涉及應用運維監控、業務統計分析、程序研發調試等業務,都適于采用該平臺進行分析和監控。
6 結語
平臺通過標準日志采集協議,采集分散日志;集群化日志處理模塊,高效分析日志;日志存儲模塊,實現集中存儲;日志管理網站提供在線檢索分析日志界面和權限控制;日志監管報表功能,提供多維度數據統計分析報表,實現數據可視化;日志報警模塊,實時監控有效數據,及時報警。幫助軟件開發人員快速、高效地進行問題定位,協助運維人員及時掌握應用系統運營的情況,提高企業軟件的穩定性和可用性,解決企業日志的管理及利用問題。