專利名稱:基于MapReduce的網(wǎng)站運(yùn)行狀態(tài)監(jiān)控與異常檢測的制作方法
技術(shù)領(lǐng)域:
基于MapReduce的網(wǎng)站運(yùn)行狀態(tài)監(jiān)控與異常檢測屬于通過對網(wǎng)站日志的挖掘處理改善網(wǎng)站服務(wù)性能的技術(shù)領(lǐng)域。
背景技術(shù):
網(wǎng)站,因特網(wǎng)上ー塊固定的面向全世界發(fā)布消息的地方,由域名(也就是網(wǎng)站地址)和網(wǎng)站空間構(gòu)成,通常包括主頁和其他具有超鏈接文件的頁面。它的出現(xiàn)為現(xiàn)代社會帶來了不可替代的作用,如宣傳自我形象、提供豐富便捷的信息,為商業(yè)擴(kuò)展業(yè)務(wù)渠道等等.為了讓網(wǎng)站能夠長期穩(wěn)定地運(yùn)行在Internet上,讓使用者在瞬息萬變的信息社會中抓住更多的網(wǎng)絡(luò)商機(jī),網(wǎng)站的維護(hù)與改善成為至關(guān)重要的環(huán)節(jié)。
網(wǎng)站的維護(hù)大多基于網(wǎng)站的訪問日志,日志記錄了所有用戶的訪問行為,可以有效地找出用戶和網(wǎng)站的交互規(guī)律,從而對提高網(wǎng)站的關(guān)注度以及改善網(wǎng)站服務(wù)(包括改善鏈接的有效性和利用緩存提高網(wǎng)站訪問速度等)都有重要的作用。傳統(tǒng)的日志挖掘處理多采用機(jī)器學(xué)習(xí)(黎銘等,2004)及可視化結(jié)合人工處理的方法。尤其是最近機(jī)器學(xué)習(xí)研究領(lǐng)域的最新方法已經(jīng)被用于日志數(shù)據(jù)挖掘,如基于反饋的主動學(xué)習(xí)(Georges et al, 2010)。由于反饋信息較難獲得,這種方法通常應(yīng)用于搜索引擎的個性化推薦系統(tǒng)。國內(nèi)這方面也有較好的工作,如吉林大學(xué)的劉大有、楊博教授等利用機(jī)器學(xué)習(xí)方法識別到日志中的重復(fù)任務(wù),進(jìn)而節(jié)省運(yùn)算時間(李嘉菲等,2007);福州大學(xué)的陳國龍教授利用機(jī)器學(xué)習(xí)和優(yōu)化方法在日志文件中檢測入侵,然而這些傳統(tǒng)的方法沒有利用并行機(jī)制,注定無法應(yīng)用于訪問量巨大的門戶網(wǎng)站。而且互聯(lián)網(wǎng)信息瞬息萬變,傳統(tǒng)分析所帯來的延時大大降低的網(wǎng)絡(luò)信息的價值。在這樣的情況下,提出ー種實(shí)時高效、準(zhǔn)確的分析策略,就顯得尤為重要。MapReduce是Google提出的ー種并行編程模型,用于大規(guī)模數(shù)據(jù)集(可以大于1TB)的并行運(yùn)算。MapReduce通過把對數(shù)據(jù)集的大規(guī)模操作分發(fā)給網(wǎng)絡(luò)上的每個節(jié)點(diǎn)實(shí)現(xiàn)可靠性和分布性,對于這些分布的數(shù)據(jù)分別分配任務(wù)進(jìn)行處理,以達(dá)到并行化的處理效果,即使待處理數(shù)據(jù)飛速增長,只需要動態(tài)的増加集群的節(jié)點(diǎn)數(shù)目即可,而且節(jié)點(diǎn)不需要是具特殊功能的高性能機(jī)器,只需要普通的商用機(jī)即可。如何利用這種成本低廉的并行處理機(jī)制來對網(wǎng)站高效地處理分析,進(jìn)而達(dá)到實(shí)時地監(jiān)控網(wǎng)站的運(yùn)行狀態(tài),檢測異常行為,是本發(fā)明所要解決的關(guān)鍵問題。
發(fā)明內(nèi)容
傳統(tǒng)的日志分析方法無法解決訪問量巨大的門戶網(wǎng)站,而且即使能處理大量的日志,處理時間的延緩性會大大降低日志分析的潛在價值。而且面對非結(jié)構(gòu)化的日志文件,采取何種分析策略,分析日志的哪些方面,對于網(wǎng)站的建設(shè)改善亦有至關(guān)重要的影響。針對這些問題,本發(fā)明采用MapReduce并行編程模型,從海量的日志文件中抓取最佳信息點(diǎn),并采用有效的策略,高效、準(zhǔn)確的捕捉出訪問過程中的異常行為。
本發(fā)明的特征在于,它完成狀態(tài)監(jiān)控與異常檢測,并依次采用以下步驟
I.狀態(tài)監(jiān)控
步驟(I. I):分析異常狀態(tài)碼,采用線性回歸策略自動匯報異常情況 日志記錄中的狀態(tài)碼能有效反應(yīng)出網(wǎng)站的運(yùn)行狀態(tài),常見的異常狀態(tài)碼有 3xx -重定向
客戶端瀏覽器必須采取更多操作來實(shí)現(xiàn)請求。例如,瀏覽器可能不得不請求服務(wù)器上的不同的頁面,或通過代理服務(wù)器重復(fù)該請求。常見301 (永久定向)、302 (臨時定向)
4xx -客戶端錯誤
發(fā)生錯誤,客戶端似乎有問題。例如,客戶端請求不存在的頁面,客戶端未提供有 效的身份驗(yàn)證信息。常見404 (未找到,不存在)
5xx -服務(wù)器錯誤
通過日志抽出每日這三類異常狀態(tài)碼,觀察網(wǎng)站的運(yùn)行狀態(tài),常見作用如
找出死鏈接
找出臨時重定向(搜索引擎蜘蛛不喜歡臨時重定向)對于404,需要檢查這個文件是否存在,如果文件存在而返回了 404則可能是因?yàn)榉?wù)器不穩(wěn)定因素造成,可能是服務(wù)器本身問題也可能是被攻擊。如果文件本身就不存在而蜘蛛還會去爬那個不存在的頁面,則是因?yàn)檫€有其他頁面有鏈接到那個不存在的頁面
步驟(I. 2):毎秒訪問次數(shù)和流量統(tǒng)計,并計算當(dāng)日平均毎秒訪問次數(shù)和流量統(tǒng),及排名前10的毎秒訪問次數(shù)和流量
訪問流量的匯報用于告訴預(yù)報是否有采集程序在大量抓取網(wǎng)站數(shù)據(jù),這種行為會嚴(yán)重影響網(wǎng)站的服務(wù)性能,通過報告每日排名前10的毎秒訪問次數(shù)和流量及平均指標(biāo),能直觀的反應(yīng)出是否有采集程序的出現(xiàn)步驟(I. 3):蜘蛛爬蟲統(tǒng)計分析
蜘蛛的來訪數(shù)量以及頻率是網(wǎng)站健康程度與網(wǎng)站權(quán)重的指標(biāo)之ー 統(tǒng)計搜索引擎蜘蛛的抓取頻率主要作用在于
1.預(yù)測其關(guān)鍵詞排名情況
如果以前蜘蛛每天要來成百上千次,那么這個時候你的網(wǎng)站是具備吸引力,往往關(guān)鍵詞的表現(xiàn)也比較穩(wěn)健,而當(dāng)蜘蛛來訪次數(shù)發(fā)生比較大減少時,說明你的網(wǎng)站發(fā)生了問題,可能是因?yàn)楦陌?、或者遭受了懲罰等等原因,這個時候通過來訪次數(shù)減少,你就應(yīng)該有ー種預(yù)感,關(guān)鍵詞排名要發(fā)生變動了。2.發(fā)現(xiàn)搜索引擎訪問了哪些沒必要的東西、圖片,然后可以用robots.txt文件禁用,因?yàn)檫@樣可以讓蜘蛛更多的去訪問有用的東西,從而讓網(wǎng)站更多的被收錄
步驟(I. 4):頁面分區(qū)板塊訪問排名
統(tǒng)計各個板塊的頁面訪問量,是分析網(wǎng)站內(nèi)容、排版是否有吸引カ的最直接方式 說明以上狀態(tài)監(jiān)控各步驟均采用MapReduce并行模型
2.特征異常檢測
步驟(2. I) =MapReduce模型并行統(tǒng)計出姆日訪問量過萬的IP,保存做進(jìn)ー步的分析步驟(2. 2):對于符合步驟I的IP,檢察其用戶代理信息為空的幾率,如果幾率大于閾值Tl,則進(jìn)入下ー步的分析步驟(2. 3):繼續(xù)檢察滿足步驟1,2的IP,驗(yàn)證其請求資源類型的分布結(jié)構(gòu)(HTML、XML、CSS、JS),如果請求HTML的幾率大于閾值T2,進(jìn)入下ー步分析
步驟(2. 4):對于滿足步驟1,2,3的IP,采用MapReduce并行模型統(tǒng)計當(dāng)前IP的訪問頻率,如果訪問頻率大于閾值T3,則當(dāng)前IP被判定為異常采集程序
3.流量峰值檢測 步驟(3. I):讀取網(wǎng)站訪問規(guī)則
正常網(wǎng)站的訪問流量一般較為平穩(wěn),雖然也有峰值頻發(fā)的情況,但都呈現(xiàn)出一定的規(guī)律性,如新聞網(wǎng)站的上午時間通常出現(xiàn)高峰,而周末的上午時間則流量小于工作日;足球直播網(wǎng)站的高峰通常出現(xiàn)在周末晚間;股票網(wǎng)站在工作日的9點(diǎn)至15點(diǎn)訪問量較高。通過在進(jìn)行日志分析設(shè)定此與類相關(guān)的經(jīng)驗(yàn)規(guī)則,可有助于流量檢測的精確性和可靠性。本程序通過指定天、星期、時等信息來指定已經(jīng)發(fā)現(xiàn)的訪問規(guī)律,如下表格所示
權(quán)利要求
1.基于MapReduce的網(wǎng)站運(yùn)行狀態(tài)監(jiān)控與異常檢測,其特征在于,該發(fā)明依次含有以下步驟 狀態(tài)監(jiān)控 分析異常狀態(tài)碼,采用線性回歸策略自動匯報異常情況 日志記錄中的狀態(tài)碼能有效反應(yīng)出網(wǎng)站的運(yùn)行狀態(tài),常見的異常狀態(tài)碼有 .3xx -重定向 客戶端瀏覽器必須采取更多操作來實(shí)現(xiàn)請求; 例如,瀏覽器可能不得不請求服務(wù)器上的不同的頁面,或通過代理服務(wù)器重復(fù)該請求;常見301 (永久定向)、302 (臨時定向) .4xx -客戶端錯誤 發(fā)生錯誤,客戶端似乎有問題; 例如,客戶端請求不存在的頁面,客戶端未提供有 效的身份驗(yàn)證信息; 常見404 (未找到,不存在) . 5xx -服務(wù)器錯誤 通過日志抽出每日這三類異常狀態(tài)碼,觀察網(wǎng)站的運(yùn)行狀態(tài),常見作用如 找出死鏈接 找出臨時重定向(搜索引擎蜘蛛不喜歡臨時重定向)對于404,需要檢查這個文件是否存在,如果文件存在而返回了 404則可能是因?yàn)榉?wù)器不穩(wěn)定因素造成,可能是服務(wù)器本身問題也可能是被攻擊; 如果文件本身就不存在而蜘蛛還會去爬那個不存在的頁面,則是因?yàn)檫€有其他頁面有鏈接到那個不存在的頁面 毎秒訪問次數(shù)和流量統(tǒng)計,并計算當(dāng)日平均毎秒訪問次數(shù)和流量統(tǒng),及排名前10的每秒訪問次數(shù)和流量 訪問流量的匯報用于告訴預(yù)報是否有采集程序在大量抓取網(wǎng)站數(shù)據(jù),這種行為會嚴(yán)重影響網(wǎng)站的服務(wù)性能,通過報告每日排名前10的毎秒訪問次數(shù)和流量及平均指標(biāo),能直觀的反應(yīng)出是否有采集程序的出現(xiàn)蜘蛛爬蟲統(tǒng)計分析 蜘蛛的來訪數(shù)量以及頻率是網(wǎng)站健康程度與網(wǎng)站權(quán)重的指標(biāo)之ー 統(tǒng)計搜索引擎蜘蛛的抓取頻率主要作用在于 . 1.預(yù)測其關(guān)鍵詞排名情況 如果以前蜘蛛每天要來成百上千次,那么這個時候你的網(wǎng)站是具備吸引力,往往關(guān)鍵詞的表現(xiàn)也比較穩(wěn)健,而當(dāng)蜘蛛來訪次數(shù)發(fā)生比較大減少時,說明你的網(wǎng)站發(fā)生了問題,可能是因?yàn)楦陌?、或者遭受了懲罰等等原因,這個時候通過來訪次數(shù)減少,你就應(yīng)該有ー種預(yù)感,關(guān)鍵詞排名要發(fā)生變動了; .2.發(fā)現(xiàn)搜索引擎訪問了哪些沒必要的東西、圖片,然后可以用robots.txt文件禁用,因?yàn)檫@樣可以讓蜘蛛更多的去訪問有用的東西,從而讓網(wǎng)站更多的被收錄 頁面分區(qū)板塊訪問排名統(tǒng)計各個板塊的頁面訪問量,是分析網(wǎng)站內(nèi)容、排版是否有吸引カ的最直接方式 說明以上狀態(tài)監(jiān)控各步驟均采用MapReduce并行模型 特征異常檢測 MapReduce模型并行統(tǒng)計出姆日訪問量過萬的IP,保存做進(jìn)ー步的分析對于符合步驟I的IP,檢察其用戶代理信息為空的幾率,如果幾率大于閾值Tl,則進(jìn)入下ー步的分析 繼續(xù)檢察滿足步驟1,2的1 ,驗(yàn)證其請求資源類型的分布結(jié)構(gòu)(!^し乂1し033、幾),如果請求HTML的幾率大于閾值T2,進(jìn)入下ー步分析 對于滿足步驟1,2,3的IP,采用MapReduce并行模型統(tǒng)計當(dāng)前IP的訪問頻率,如果訪問頻率大于閾值T3,則當(dāng)前IP被判定為異常采集程序流量峰值檢測 正常網(wǎng)站的訪問流量一般較為平穩(wěn),雖然也有峰值頻發(fā)的情況,但都呈現(xiàn)出一定的規(guī) 律性,如新聞網(wǎng)站的上午時間通常出現(xiàn)高峰,而周末的上午時間則流量小于工作日;足球直播網(wǎng)站的高峰通常出現(xiàn)在周末晚間;股票網(wǎng)站在工作日的9點(diǎn)至15點(diǎn)訪問量較高; 通過在進(jìn)行日志分析設(shè)定此與類相關(guān)的經(jīng)驗(yàn)規(guī)則,可有助于流量檢測的精確性和可靠性; 本程序通過指定天、星期、時等信息來指定已經(jīng)發(fā)現(xiàn)的訪問規(guī)律,如下表格所示~ [Sm I Jg始時間丨_結(jié)束時間pi^ALL _ALL_ 07:00:00 _ 09:00:00_#每天早上的用戶訪問高峰_ALL [6[21:00:00]23:00:00周六,該用戶在周末兩天有一檔較為火熱的節(jié)目,因此流量較高,平時有ー些球賽直播 在與日志文件相關(guān)聯(lián)的同名規(guī)則文件中,可指定上述規(guī)則信息; 在上面表格的例I中,意即在每天早上的7:00至9:00時段,會出現(xiàn)ー些訪問流量高峰; 當(dāng)檢測到這些高峰時,可默認(rèn)為是正常流量訪問; 而例2則表示每周六均會出現(xiàn)較高的流量高峰,因此設(shè)定這些合理規(guī)則可在搜索異常流量峰值訪問時,提高程序的可靠性; 步驟(3. 2):獲取流量整體偏差 通過觀察,流量整體偏差直接可反映出訪問流量的分布情況,訪問情況均勻正常的流量表現(xiàn)為較低的偏差值,而異常頻發(fā)的日志流量則表現(xiàn)為較高的偏差值,而整體偏差則反映著該網(wǎng)站的整體流量訪問情況; 步驟(3. 3):搜索異常峰值訪問點(diǎn) 通過設(shè)定窗ロ#和偏差系數(shù)A初始值,程序?qū)⒁怨潭ǖ拇哎韰g位來檢測時間區(qū)間內(nèi)的峰值訪問; 首先,程序會首先通過計算該時間區(qū)間的流量偏差Sへ與整體訪問流量偏差S進(jìn)行比較,如果f 則表明該窗ロ區(qū)間ff內(nèi)存在著異常峰值; 然后通過連續(xù)向后不斷檢測該區(qū)間,直到找到最大的峰值點(diǎn),判斷該峰值點(diǎn)是否出現(xiàn)在先前定義的網(wǎng)站合理規(guī)則定義中,如果是則報告該峰值為正常,并提示匹配規(guī)則,否則報告異常流量峰值訪問,以醒目紅色狀態(tài)提醒; 決策樹學(xué)習(xí)訪問規(guī)則 在流量峰值檢測階段,網(wǎng)站每次的訪問流量將會通過異常峰值搜索算法標(biāo)記出,這些異常峰值不僅會觸發(fā)異常警報,提醒管理員注意當(dāng)前流量狀態(tài),也會進(jìn)ー步提供操作界面給管理員分析當(dāng)前狀態(tài)的真實(shí)情況; 步驟(4. 2):手動糾正異常流量 如果在當(dāng)前的異常峰值屬于正常,意即當(dāng)前的訪問規(guī)則中沒有此類規(guī)則,屬于誤報情況,則會通過管理員在操作界面中的交互操作,提供進(jìn)ー步的學(xué)習(xí),以提高程序監(jiān)控與檢測的準(zhǔn)確率; 步驟(4. 3):決策樹學(xué)習(xí)訪問規(guī)則 決策樹學(xué)習(xí)通過把實(shí)例從根節(jié)點(diǎn)排列到某個葉子節(jié)點(diǎn)來分類實(shí)例,葉子節(jié)點(diǎn)即為實(shí)例所屬的分類; 樹上的每ー個節(jié)點(diǎn)說明了對實(shí)例的某個屬性的測試,并且該節(jié)點(diǎn)的每ー個后繼分支對 應(yīng)于該屬性的ー個可能值; 在這里,我們首先針對網(wǎng)站日志訪問記錄提取各個特征屬性如下天、星期、時間、流量值、異常與否,同時應(yīng)用能處理連續(xù)屬性的C4. 5決策樹學(xué)習(xí)算法,在其基礎(chǔ)上,還加入増量學(xué)習(xí)的特性,使得學(xué)習(xí)過程不僅能完成網(wǎng)站訪問規(guī)則的提取,同時還能滿足網(wǎng)站日志訪問流式記錄的特點(diǎn),在不丟失原有學(xué)習(xí)規(guī)則的基礎(chǔ)上,加入新的數(shù)據(jù),進(jìn)行進(jìn)ー步的學(xué)習(xí);步驟(4. 4):更新網(wǎng)站訪問規(guī)則 在完成決策樹學(xué)習(xí)階段后,系統(tǒng)會將這些學(xué)習(xí)到的新規(guī)則動態(tài)地更新到流量異常檢測階段中,從而提高異常檢測的準(zhǔn)確率。
全文摘要
本發(fā)明采用MapReduce并行編程模型,完成狀態(tài)監(jiān)控與異常檢測,其從海量的日志文件中抓取最佳信息點(diǎn),并采用有效的策略,高效、準(zhǔn)確的捕捉出訪問過程中的異常行為。本發(fā)明采取四種并行策略對網(wǎng)址日志進(jìn)行分析處理,從而達(dá)到對網(wǎng)站運(yùn)行狀態(tài)的監(jiān)控和異常訪問檢測。這四種策略分別是狀態(tài)監(jiān)控、特征異常檢測、流量峰值檢測、決策樹學(xué)習(xí)訪問規(guī)則。
文檔編號H04L12/24GK102724059SQ20121009503
公開日2012年10月10日 申請日期2012年3月31日 優(yōu)先權(quán)日2012年3月31日
發(fā)明者唐振坤, 林琛, 蔣文瑞, 鄒權(quán) 申請人:常熟市支塘鎮(zhèn)新盛技術(shù)咨詢服務(wù)有限公司