◆吳志力 陳 希 楊世登
?
基于分布式流計(jì)算的運(yùn)維安全分析
◆吳志力 陳 希 楊世登
(深圳市脈山龍信息技術(shù)股份有限公司 廣東 518000)
隨著信息化的不斷深入,越來越多的企業(yè)運(yùn)營(yíng)發(fā)展依賴于IT系統(tǒng)。每個(gè)與IT相關(guān)的公司和組織,都有IT運(yùn)維的身影。企業(yè)業(yè)務(wù)逐步遷移至信息系統(tǒng)上運(yùn)作,因此IT運(yùn)維人員工作日趨繁重,IT系統(tǒng)存在的如投資黑洞、數(shù)據(jù)孤島、技術(shù)與業(yè)務(wù)脫節(jié)等問題日益凸顯。當(dāng)IT運(yùn)維跟不上產(chǎn)品的發(fā)展,能對(duì)外提供的IT服務(wù)產(chǎn)品必然大打折扣,甚至?xí)驗(yàn)槭鹿史恋K到產(chǎn)品質(zhì)量,從而帶來巨大的經(jīng)濟(jì)和安全損失。本文將探討基于分布式流計(jì)算來分析運(yùn)維管理系統(tǒng)所產(chǎn)生的實(shí)時(shí)的、持續(xù)的非結(jié)構(gòu)化的數(shù)據(jù),從而實(shí)現(xiàn)運(yùn)維安全,對(duì)于讀者研究分布式計(jì)算技術(shù)具有一定的理論指導(dǎo)意義。
運(yùn)維;安全;管理;分布式流計(jì)算
目前自動(dòng)化巡檢對(duì)象涵蓋了所有的生產(chǎn)主機(jī)及應(yīng)用,固定巡檢內(nèi)容主要包括常見的入侵攻擊檢查、安全補(bǔ)丁檢查、系統(tǒng)及應(yīng)用日志檢查、數(shù)據(jù)庫(kù)安全配置檢查等。巡檢工具把歷史積累的各種腳本按巡檢內(nèi)容進(jìn)行逐步歸類,作為巡檢工具的基礎(chǔ)項(xiàng),也可以隨時(shí)對(duì)巡檢內(nèi)容進(jìn)行修改,所有的巡檢動(dòng)作全部可視化,并且巡視項(xiàng)、巡檢方式、巡檢主機(jī)等全部可以進(jìn)行定制,巡檢任務(wù)結(jié)束后會(huì)自動(dòng)生成巡檢報(bào)告,并能通過郵件、短信等第一時(shí)間告知關(guān)注人。
通過將日常巡檢報(bào)告自動(dòng)化,不斷來提升運(yùn)維的自動(dòng)化程度,通過腳本管理、故障診斷、拓?fù)鋱D執(zhí)行遠(yuǎn)程命令調(diào)用等功能規(guī)范日常運(yùn)維操作;通過巡檢可以保存系統(tǒng)性能數(shù)據(jù)、容量信息、配置信息為后期系統(tǒng)維護(hù)、升級(jí)、擴(kuò)容提供決策數(shù)據(jù)支持;同時(shí)通過靈活的工具定制,達(dá)到了對(duì)各種等資源全面的監(jiān)控,提升運(yùn)維的專業(yè)化水平。
傳統(tǒng)告警處理,主要靠人工操作,告警響應(yīng)速度受到多方面因素的制約,如告警信息發(fā)布及時(shí)性、值班人員響應(yīng)速度和對(duì)系統(tǒng)熟悉程度等;一旦值班人員錯(cuò)過了告警,就有可能導(dǎo)致系統(tǒng)故障或業(yè)務(wù)中斷。
自動(dòng)化運(yùn)維工具通過告警消息自動(dòng)觸發(fā)故障處理流程,主動(dòng)高效地識(shí)別和解決故障,極大的提升運(yùn)維對(duì)故障的響應(yīng)速度和縮短故障時(shí)間。
(1)快速高效地識(shí)別、解決和消除服務(wù)中斷的根源。
(2)通過工具來查看、管理、診斷和解決問題。
(3)整合運(yùn)維團(tuán)隊(duì)積累的、廠商的專業(yè)工具和知識(shí)來加速事件和問題的診斷和解決。
(4)自動(dòng)進(jìn)行故障問題定位并啟用對(duì)應(yīng)一鍵快速診斷定位性能問題:
①I/O性能問題;
②并發(fā)問題;
③低效SQL或者高負(fù)載SQ;
④對(duì)象爭(zhēng)用;
⑤鎖阻塞;
⑥運(yùn)維人員可以通過自動(dòng)化工具,根據(jù)告警觸發(fā)或手工調(diào)度診斷流程,自動(dòng)調(diào)度預(yù)定處理流程或方案(預(yù)定處理腳本集),最后返回診斷結(jié)果。
云架構(gòu)下的IT系統(tǒng)越來越多,數(shù)據(jù)庫(kù)管理員需要面對(duì)成百上千的數(shù)據(jù)庫(kù),數(shù)據(jù)存儲(chǔ)將邁入EB級(jí)別,傳統(tǒng)手工數(shù)據(jù)管理的難度越來越大。同時(shí)云架構(gòu)中出于開發(fā)、測(cè)試、培訓(xùn)以及數(shù)據(jù)對(duì)外共享變現(xiàn)等目的,需要從生產(chǎn)環(huán)境中同步和遷移大量數(shù)據(jù),其中亦會(huì)涉及大量用戶隱私數(shù)據(jù)。而之前整體IT系統(tǒng)數(shù)據(jù)流和業(yè)務(wù)流的關(guān)系不太清晰,業(yè)務(wù)數(shù)據(jù)可視化展示程度很低,缺少可視化的企業(yè)整體數(shù)據(jù)地圖,對(duì)于數(shù)據(jù)的維護(hù)困難重重。
為解決傳統(tǒng)數(shù)據(jù)管理上的痛點(diǎn),讓數(shù)據(jù)管理相關(guān)工作更加標(biāo)準(zhǔn)化和流程化,我們借鑒國(guó)內(nèi)外IT業(yè)界先進(jìn)的數(shù)據(jù)管理和運(yùn)營(yíng)經(jīng)驗(yàn),著手在數(shù)據(jù)管理領(lǐng)域的自動(dòng)化運(yùn)營(yíng)工具作出了規(guī)劃。整體規(guī)劃如下圖1。
圖1 整體規(guī)劃
根據(jù)生產(chǎn)系統(tǒng)中敏感數(shù)據(jù)分布情況,建立敏感數(shù)據(jù)策略化管理。數(shù)據(jù)從生產(chǎn)環(huán)境向非安全環(huán)境(包括開發(fā)、測(cè)試、培訓(xùn)等)遷移時(shí),數(shù)據(jù)安全管理員應(yīng)當(dāng)制定敏感策略,對(duì)數(shù)據(jù)進(jìn)行自動(dòng)化安全脫敏,減少敏感數(shù)據(jù)外泄的可能。
目前數(shù)據(jù)安全管理工具,實(shí)現(xiàn)從敏感數(shù)據(jù)識(shí)別、脫敏策略配置、數(shù)據(jù)遷移配置,以及數(shù)據(jù)在線和離線脫敏全程,自動(dòng)化安全地將數(shù)據(jù)從生產(chǎn)環(huán)境向非安全環(huán)境遷移,同時(shí)在遷移過程中實(shí)施敏感數(shù)據(jù)脫敏。
從各個(gè)節(jié)點(diǎn)上實(shí)時(shí)采集日志數(shù)據(jù),可以指定目錄或文件,通過flume實(shí)現(xiàn),僅增量采集數(shù)據(jù)。
由于上述采集數(shù)據(jù)的速度和數(shù)據(jù)處理的速度不一定同步,增加分布式消息曾作為緩沖,防止丟失數(shù)據(jù),采用kafka。
對(duì)采集的數(shù)據(jù)進(jìn)行實(shí)時(shí)分析,選用spark-streaming+redis實(shí)現(xiàn)。
把分析結(jié)果存儲(chǔ)在mysql數(shù)據(jù)庫(kù)中,并進(jìn)行告警展示。
以往,生產(chǎn)日志分布在各服務(wù)器上,每次檢索要逐一登錄到各服務(wù)器操作,嚴(yán)重影響效率;同時(shí),日志留存于操作系統(tǒng)本地,會(huì)受到存儲(chǔ)空間限制而循環(huán)覆蓋,導(dǎo)致重要數(shù)據(jù)丟失;由于對(duì)關(guān)鍵日志缺乏保護(hù),也給監(jiān)控、審計(jì)帶來諸多困難。
隨著業(yè)務(wù)發(fā)展,來自硬件、操作系統(tǒng)和中間件的日志量不斷膨脹,獨(dú)立而分散的日志管理模式已不能滿足日益增長(zhǎng)的維護(hù)需求,特別在事件回溯、問題分析及報(bào)表統(tǒng)計(jì)相關(guān)工作中,其基礎(chǔ)數(shù)據(jù)均源自這些分散的日志單元,亟需形成統(tǒng)一管理、綜合分析、集中展現(xiàn)的新型一體化管理機(jī)制。為此一直進(jìn)行著日志集中化改造的嘗試。
利用大數(shù)據(jù)集中處理平臺(tái)的處理流程主要分兩部分,通過消息隊(duì)列處理Flume采集的日志,再通過ElasticSearch建立索引,最終將數(shù)據(jù)、索引導(dǎo)入在mysql集群。
大數(shù)據(jù)平臺(tái)主要分析用戶交互日志,用來感知用戶體驗(yàn)。用戶日志是用戶在瀏覽器中每一步操作的性能評(píng)估,主要包括用戶每一步操作的名稱(如點(diǎn)擊按鈕、鍵盤錄入、下拉框的選擇等);用戶操作整體響應(yīng)時(shí)間及其構(gòu)成部分包括:客戶端響應(yīng)時(shí)間(包括頁(yè)面元素渲染時(shí)間、頁(yè)面JavaScript腳本執(zhí)行時(shí)間)、網(wǎng)絡(luò)耗時(shí)(包括網(wǎng)絡(luò)中的傳輸時(shí)延及CDN的處理時(shí)間)、服務(wù)器處理時(shí)間。此外,用戶操作和用戶請(qǐng)求是關(guān)聯(lián)的,通過關(guān)聯(lián)關(guān)系可以找到用戶每一步操作的具體含義。
然后就是對(duì)用戶操作業(yè)務(wù)聚合,即按時(shí)間順序、用戶操作的業(yè)務(wù)名稱、用戶號(hào)碼等對(duì)用戶真實(shí)的操作場(chǎng)景予以重建,這樣做的好處是從整體上了解某一筆業(yè)務(wù)的操作繁瑣程度(難易度、友好性);了解某一筆業(yè)務(wù)在哪一步較慢,是慢在網(wǎng)絡(luò)層面、客戶端層面、服務(wù)器層面還是用戶自身原因(如間歇性停留)導(dǎo)致的;了解業(yè)務(wù)分布情況及成功率、轉(zhuǎn)化率等。為確保業(yè)務(wù)聚合的并行計(jì)算高效,我們采取了spark流處理機(jī)制完成。
基于集中日志實(shí)時(shí)分析,可用于性能診斷等場(chǎng)景,并總結(jié)了一些寶貴經(jīng)驗(yàn):如網(wǎng)絡(luò)故障關(guān)聯(lián)分析和診斷、診斷企業(yè)總線調(diào)用外部域時(shí)發(fā)生的故障、基于接口報(bào)文的后端交易調(diào)優(yōu)、針對(duì)RPC的性能分析等。
隨著企業(yè)對(duì)生產(chǎn)實(shí)時(shí)監(jiān)測(cè)、海量存儲(chǔ)和科學(xué)分析決策等方面的需求不斷提升,運(yùn)維監(jiān)控系統(tǒng)已逐漸成為主要的管理手段。在這樣一個(gè)飛速發(fā)展的時(shí)代下,安全方面和保障正常運(yùn)行的維護(hù)等是非常必要的。而且,隨著云計(jì)算的快速發(fā)展,越來越多的企業(yè)將業(yè)務(wù)部署到云環(huán)境中,其中,實(shí)時(shí)流處理業(yè)務(wù)占據(jù)的比重越來越高。傳統(tǒng)云計(jì)算平臺(tái)多為批處理平臺(tái)(如Hadoop),批處理作業(yè)的輸入是預(yù)先存儲(chǔ)好的靜態(tài)數(shù)據(jù),作業(yè)規(guī)??深A(yù)知,數(shù)據(jù)處理完畢即停止。與批處理作業(yè)不同,實(shí)時(shí)流處理作業(yè)的輸入是不間斷的數(shù)據(jù)流,且數(shù)據(jù)量大小具有波動(dòng)性。因此,用最新的分布式流計(jì)算技術(shù),設(shè)計(jì)及搭建一個(gè)數(shù)據(jù)規(guī)模易擴(kuò)展、處理速度快、安全性高、成本低的云運(yùn)維監(jiān)控系統(tǒng)具有重大的意義。仿真實(shí)驗(yàn)證明,分布式流計(jì)算運(yùn)維系統(tǒng)中的海量數(shù)據(jù)告警效率優(yōu)于傳統(tǒng)方法,隨著數(shù)據(jù)量的快速增長(zhǎng),優(yōu)勢(shì)越明顯。合理、有效地利用分布式計(jì)算技術(shù)能夠降低計(jì)算運(yùn)維成本、合理分配網(wǎng)絡(luò)閑置資源,是當(dāng)今社會(huì)信息技術(shù)飛速發(fā)展的必然產(chǎn)物。
[1]譚明強(qiáng).基于分類器聯(lián)合的分布式安全威脅檢測(cè)[J].電信工程技術(shù)與標(biāo)準(zhǔn)化,2015.
[2]付松齡,譚慶平.基于任務(wù)和角色的分布式工作流安全模型[J].國(guó)防科技大學(xué)學(xué)報(bào),2004.