• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    復(fù)旦大學:集中式日志系統(tǒng)讓數(shù)據(jù)挖掘更深入

    2013-11-19 06:02:24陳燦華宓詠
    中國教育網(wǎng)絡(luò) 2013年9期
    關(guān)鍵詞:集中式原始數(shù)據(jù)日志

    文/陳燦華 宓詠

    集中式日志系統(tǒng)的各個層次,既相互關(guān)聯(lián),又彼此獨立,從底層的原始數(shù)據(jù)層,一直向上堆疊到任何一層,構(gòu)成應(yīng)用水平逐層提高、數(shù)據(jù)挖掘程度逐層深入,但又自身完備的服務(wù)系統(tǒng)。

    網(wǎng)絡(luò)設(shè)備、信息系統(tǒng)在運行過程中,往往會在本地存儲上寫入大量日志。這些日志中蘊含著反映系統(tǒng)運行狀態(tài)的信息,有些信息可能關(guān)系到系統(tǒng)安全與穩(wěn)定,乃至用戶數(shù)據(jù)的隱私與保密,非常重要。

    對于一定規(guī)模以上的數(shù)據(jù)中心,有太多設(shè)備系統(tǒng)的日志需要長期保存,也會有多個用戶以不同方式利用這些日志數(shù)據(jù)。為了適應(yīng)這種多日志源、多用戶、用途的應(yīng)用場景,有必要建立一種集中式的日志存儲、管理、分析系統(tǒng),相對于分散的日志系統(tǒng),它有幾個優(yōu)勢:第一,可以避免本地磁盤損壞造成的日志丟失。第二,可以延長日志滾動保存周期。第三,可以保障數(shù)據(jù)的安全可靠。第四,可以以可控的方式為不同用戶提供數(shù)據(jù)服務(wù)。第五,可以提供統(tǒng)一的日志分析工具。

    大規(guī)模日志源可能要求日志系統(tǒng)具有良好的分布式部署和計算的特點。多用戶的場景則要求系統(tǒng)能有一定的用戶權(quán)限管理功能,以及為不同操作系統(tǒng)平臺的用戶提供方便的讀寫服務(wù)。多用途的利用方式則要求系統(tǒng)對每一層次的數(shù)據(jù),從原始的日志數(shù)據(jù),到解析過的中間數(shù)據(jù),到統(tǒng)計分析過的數(shù)據(jù),乃至最后的報警數(shù)據(jù),都具有一定的規(guī)范,都可通過固定的輸出,如標準輸出、管道、或網(wǎng)絡(luò)服務(wù),而開放出去。

    本文接下來將分析日志的一般特點,以及大規(guī)模、多用戶和多用途的場景對集中式日志系統(tǒng)的設(shè)計所提出的要求,提出集中式日志系統(tǒng)的一種層級框架設(shè)計,并詳細說明各部分的技術(shù)要點。

    集中式日志系統(tǒng)的層級框架

    基于上述對日志的一般特點,以及大規(guī)模、多用戶、多用途的場景的特點的分析,我們將設(shè)計一種集中式日志系統(tǒng),為各類分散的網(wǎng)絡(luò)設(shè)備、信息系統(tǒng)提供日志存儲、查詢、分析、統(tǒng)計以及告警的系統(tǒng),它相當于數(shù)據(jù)中心的日志倉庫。按照對數(shù)據(jù)處理加工的深入程度,集中式日志系統(tǒng)的架構(gòu)可分為四個層次,如圖1所示。最底層可稱作原始數(shù)據(jù)層,對日志的原始數(shù)據(jù)進行分類、壓縮、存儲、備份,對第三方系統(tǒng)開放只讀接口,例如通過本地文件系統(tǒng),或者NFS、SAMBA等網(wǎng)絡(luò)協(xié)議。第二層可稱作解析層,對日志的原始數(shù)據(jù)根據(jù)日志的格式規(guī)范作語法以及初級語義解析,對單詞作索引,視情況將解析結(jié)果插入數(shù)據(jù)庫。第三層可稱作計算層,是在解析的基礎(chǔ)上,作統(tǒng)計計算,以得到所關(guān)心的信息,如系統(tǒng)安全、用戶行為等。第四層可稱作事件層,根據(jù)計算結(jié)果,判斷是否發(fā)生某類事件,例如故障預(yù)兆或非法入侵。整個系統(tǒng)可提供網(wǎng)絡(luò)接口與用戶界面,以貫穿四個層次,提供各層的輸入輸出、查詢及管理功能。以下詳述各層。

    圖1 框架層級

    圖2 原始數(shù)據(jù)層

    原始數(shù)據(jù)層

    原始數(shù)據(jù)層如圖2所示。含一臺主機(或多臺組成冗余與負載均衡結(jié)構(gòu)),上面運行日志記錄守護程序(syslog daemon),開放網(wǎng)絡(luò)監(jiān)聽端口以接受遠端日志。其他設(shè)備系統(tǒng)將日志通過syslog協(xié)議(或者藉由插件先轉(zhuǎn)換為系統(tǒng)日志格式)發(fā)送到日志主機。日志主機根據(jù)日志來源主機、日志級別、產(chǎn)生時間等進行分類歸檔。日志主機的磁盤采用RAID陣列,同時定時將日志數(shù)據(jù)以增量的方式備份到特別的備份主機。日志主機將日志目錄通過NFS或者SAMBA等網(wǎng)絡(luò)文件系統(tǒng)的方式,對外提供日志讀取服務(wù)。以此方式,集中式日志系統(tǒng)可以在原始數(shù)據(jù)層,構(gòu)成基本而完整的日志存儲、歸檔、備份、查詢的系統(tǒng)。由于日志數(shù)據(jù)的高度敏感性,必須利用操作系統(tǒng)以及網(wǎng)絡(luò)文件系統(tǒng)的的目錄用戶權(quán)限對數(shù)據(jù)的訪問進行嚴格控制。

    對于實際實施,建議日志主機采用Debian GNU/Linux操作系統(tǒng),日志守護程序采用rsyslog,網(wǎng)絡(luò)監(jiān)聽端口開放在默認的UDP 514。業(yè)界另一個比較流行的日志守護程序是syslog-ng。二者相比,rsyslog具有syslog-ng的靈活性和模塊化優(yōu)點,同時更為輕量、高效,配置文件語法與類UNIX系統(tǒng)的傳統(tǒng)syslogd兼容,是syslogd直接替代品,是最新版Debian系統(tǒng)的默認日志守護程序。

    收到遠端日志后,rsyslogd可利用其來源主機、級別、時間,甚至對內(nèi)容作正則表達式匹配,進行分類、存儲、過濾、內(nèi)容改寫,乃至觸發(fā)調(diào)用腳本等豐富多樣的處理,詳情參見rsyslogd的官方文檔。

    另外應(yīng)注意設(shè)計適當?shù)挠脩魴?quán)限方案,將不同來源的日志數(shù)據(jù)的所有者和使用權(quán)限賦予不同用戶。一個可行的方案是,對每一來源主機創(chuàng)建獨立用戶作為其日志數(shù)據(jù)的所有者,或者將所有來源主機分成幾類,分別創(chuàng)建獨立用戶。另一個方案是,所有日志采用同一所有者,用戶權(quán)限控制放在對外服務(wù)的網(wǎng)絡(luò)文件系統(tǒng)上。

    日志數(shù)據(jù)的增量備份可采用功能強大的Rsync程序,備份傳輸過程可采用壓縮及加密方式。

    原始數(shù)據(jù)層可對外提供讀取服務(wù),例如可對類UNIX系統(tǒng)提供NFS服務(wù),對Windows用戶提供SAMBA。二者都可在用戶操作系統(tǒng)上映射為網(wǎng)絡(luò)磁盤,方便操作。另外,對于Linux用戶,還建議采用sshfs。sshfs可通過ssh將遠端文件系統(tǒng)映射到本地目錄,免除NFS的繁瑣配置。對于需要抗網(wǎng)斷的可靠連接,則可考慮文件系統(tǒng)的多路徑方案(Multipath I/O)。

    此層是集中式日志系統(tǒng)的數(shù)據(jù)基礎(chǔ),同時也足以獨立提供基本而完備的日志服務(wù)系統(tǒng)。如果條件不成熟,可忽略之上的解析層、計算層及事件層,而僅在這一層上運行。

    解析層

    解析層如圖3所示。在原始數(shù)據(jù)層的基礎(chǔ)上,可以進一步根據(jù)日志的不同類型,采用不同的日志解析器對日志進行語法和初級語義解析。例如系統(tǒng)日志的格式,一般包括時間戳、源主機名、產(chǎn)生日志的程序名、日志正文。這是所有遵照系統(tǒng)日志格式的設(shè)備系統(tǒng)的日志的固定格式。因此可以首先根據(jù)這一格式將這些固定信息提取出來。日志正文一般也有格式可循,但是不同程序會定義自己的一套格式,因此與程序強相關(guān)。對于流行的軟件程序,例如sshd、apache、mysql等,其日志格式是共知的,因此也可以直接作語義分析。經(jīng)過分析提取之后,日志數(shù)據(jù)被切成若干語義段,插入數(shù)據(jù)庫中。由于日志條目內(nèi)容不一,沒有固定的字段,即便是同一程序產(chǎn)生的日志也并非每條日志都具有完全一樣的格式,因此不太適合插入關(guān)系型數(shù)據(jù)庫,我們建議采用文檔型的非關(guān)系型數(shù)據(jù)庫,比如時下流行的Mongodb。

    圖3 解析層

    在日志解析器編寫方面,應(yīng)注意到日志格式的特點是不同日志格式之間既有不同,也有相同之處,同一程序產(chǎn)生的不同日志格式之間甚至有繼承關(guān)系。因此,為了高效靈活解析各類日志,編寫各類解析器之時應(yīng)注意模塊化與對象化設(shè)計??梢葬槍σ恍┝餍熊浖娜罩靖袷剑鄳?yīng)開發(fā)解析器。正則表達式是處理文本的通用性與靈活性極高的工具,建議系統(tǒng)開發(fā)者編寫一款通用的“解析母器”,以正則表達式為其格式語法描述語言,一般的系統(tǒng)管理員只需用正則表達式描述特定日志格式的字段,即可產(chǎn)生針對該特定日志格式的解析器。另外如果對函數(shù)式編程范式熟悉的人,可以利用所謂解析器組合子(Parser Combinator)作為日志格式描述語言。與正則表達式相比,解析器組合子表達更清晰簡潔,更容易模塊化設(shè)計。這類解析器以Haskell語言的Parsec最為著名,其他語言也有類似的函數(shù)庫,如Python的funcparserlib、Java的Jparsec等等,可根據(jù)熟悉何種編程語言選擇。

    日志經(jīng)過解析器解析之后,插入數(shù)據(jù)庫,然后再以全文索引工具對正文作索引,以便快速查詢。日志格式由于沒有固定字段,因此數(shù)據(jù)庫建議采用諸如Mongodb的文檔型數(shù)據(jù)庫,其數(shù)據(jù)表沒有固定字段的限制,且具有極佳的線性擴展性,尤其適合海量數(shù)據(jù)的分布式存儲。索引工具方面,Sphinx搜索引擎具有非常高效的索引效率,在單臺一般個人電腦上也可支持高達十億條級別的海量數(shù)據(jù)。

    解析層的數(shù)據(jù)輸入可以來自本地硬盤,也可來自遠端系統(tǒng),例如先通過NFS、SAMBA或者Sshfs掛載到本地文件系統(tǒng),再如同本地磁盤一般作解析處理。而處理后的數(shù)據(jù)插入數(shù)據(jù)庫后,數(shù)據(jù)庫也可直接開放網(wǎng)絡(luò)讀取服務(wù),或者直接將處理后的數(shù)據(jù)插入遠端的數(shù)據(jù)庫。換言之,此層的解析處理與數(shù)據(jù)的來源和去向是弱相關(guān)的,這為后面提到的分布式擴展,或其他靈活部署奠定了基礎(chǔ)。

    集中式日志系統(tǒng)到這一層,也構(gòu)成完備的服務(wù)系統(tǒng),此層如果對外開放服務(wù),可對外提供格式化的具有語義的日志數(shù)據(jù),第三方在此基礎(chǔ)上可發(fā)展各類豐富的應(yīng)用。

    計算層

    計算層如圖4所示。在經(jīng)過解析后的格式化日志數(shù)據(jù),乃至原始數(shù)據(jù)的基礎(chǔ)上,進行分析統(tǒng)計計算,可以提取蘊含在海量數(shù)據(jù)中的信息。例如首先按日志來源主機、日志級別、產(chǎn)生時間、產(chǎn)生程序等進行分類統(tǒng)計,則可以對數(shù)據(jù)中心的整體運行狀態(tài)與規(guī)模有個大概反映。再如,可分揀出錯誤(error)級別以上的日志,以辨知系統(tǒng)潛在的故障。再如,對登錄程序,如sshd的日志,分揀統(tǒng)計失敗嘗試,可了解系統(tǒng)賬戶安全威脅。

    如統(tǒng)計網(wǎng)站服務(wù)器,如apache的日志,可算出網(wǎng)站訪問量、頁面熱度、訪問的空間時間分布,乃至可以分離跟蹤單用戶訪問軌跡,從而計算出用戶使用習慣等深度信息。對網(wǎng)站日志的實時分析還可預(yù)見洪水攻擊,以便及時防范。

    在網(wǎng)絡(luò)設(shè)備日志方面,除了計算流量及網(wǎng)絡(luò)壓力評估外,可深入分析計算海量的數(shù)據(jù)包頭,從而挖掘出較有意義的信息。例如,對于多出口的高校,通過分析統(tǒng)計用戶訪問的數(shù)量和質(zhì)量,可以適時調(diào)整多出口路由策略,以便均衡負載分布,以及針對不同目標域選用相應(yīng)的高速出口,提高現(xiàn)有出口帶寬的利用率及用戶體驗。再者,結(jié)合圖論及復(fù)雜網(wǎng)絡(luò)等理論進行分析計算,可以檢驗校園網(wǎng)絡(luò)拓撲的合理度,發(fā)現(xiàn)薄弱節(jié)點,為校園網(wǎng)升級改造提高數(shù)據(jù)參考。

    在計算工具方面,一般的編程語言及其函數(shù)庫都能勝任,甚至很多語言都有方便的統(tǒng)計分析函數(shù)庫,乃至圖論、復(fù)雜網(wǎng)絡(luò)函數(shù)庫。由于集中式日志系統(tǒng)的層級結(jié)構(gòu)設(shè)計,各層之間比較獨立,因此可以針對不同計算需求,在不同語言中選擇成熟的函數(shù)庫,而靈活組合。事實上,采用不同函數(shù)庫,甚至不同語言是可能的,也是需要的,因為日志的特點是不同系統(tǒng)的日志可能只有其系統(tǒng)管理員才熟悉與理解,才能決定如何對日志數(shù)據(jù)作分析統(tǒng)計計算,以提取何種信息。

    與解析層相似,計算層的數(shù)據(jù)輸入與結(jié)果輸出都可往來于網(wǎng)絡(luò)上。也因此計算層可單獨部署于獨立服務(wù)器上,以構(gòu)成海量數(shù)據(jù)分析的分布式架構(gòu)的節(jié)點。

    到計算層這一層,集中式日志系統(tǒng)也構(gòu)成完備的系統(tǒng)。此層可將計算結(jié)果以網(wǎng)絡(luò)服務(wù)方式開放給第三方應(yīng)用。

    圖4 計算層

    事件層

    事件層如圖5所示。在計算層對日志作統(tǒng)計分析計算之后,可將計算結(jié)果送入單個或多個所謂事件觸發(fā)器。事件觸發(fā)器與預(yù)先設(shè)定的觸發(fā)條件比對,決定日志的計算結(jié)果是否觸發(fā)某事件。一旦觸發(fā),如果設(shè)置了告警器,則告警器將發(fā)出相應(yīng)告警。此過程構(gòu)成集中式日志系統(tǒng)的事件層。

    事件觸發(fā)器可分為兩類。一類可稱作基本觸發(fā)器,以單個計算結(jié)果為輸入?yún)?shù),判別其是否需要觸發(fā)事件。另一類可稱作復(fù)合觸發(fā)器,以多個計算結(jié)果,或者其他事件為輸入?yún)?shù),綜合判別是否觸發(fā)事件。前者如網(wǎng)絡(luò)設(shè)備日志中出現(xiàn)端口下線條目,即觸發(fā)故障事件。后者如多個網(wǎng)段的網(wǎng)絡(luò)設(shè)備中斷,觸發(fā)大面積網(wǎng)絡(luò)故障的高級別事件。

    與其他層一樣,事件層的輸入,即計算層計算結(jié)果數(shù)據(jù),可來自本機器的文件、數(shù)據(jù)庫或者管道,也可來自其他計算層服務(wù)器提供的網(wǎng)絡(luò)服務(wù)。事件層可將其輸出,即事件數(shù)據(jù),對外提供網(wǎng)絡(luò)接口服務(wù),例如可提供給硬件報警器,作為事件來源;或者與運維服務(wù)系統(tǒng)關(guān)聯(lián),提醒運維值班人員;或者生成工單。

    集中式日志系統(tǒng)的各個層次,既相互關(guān)聯(lián),又彼此獨立,從底層的原始數(shù)據(jù)層,一直往上堆疊到任何一層,都可構(gòu)成應(yīng)用水平逐層提高、數(shù)據(jù)挖掘程度逐層深入,但又自身完備的服務(wù)系統(tǒng)。而用戶界面與服務(wù)接口貫穿始終。用戶界面可提供各層的查詢、管理。系統(tǒng)各層通過開放服務(wù)接口,高級系統(tǒng)管理員或者第三方應(yīng)用可將此日志系統(tǒng)看作一個提供存儲、解析、統(tǒng)計、警報的日志平臺,各類應(yīng)用可由此衍生出來。

    圖5 事件層

    分布式拓展

    大規(guī)模的日志數(shù)據(jù)將對日志服務(wù)器產(chǎn)生巨大壓力,對此可以考慮分布式架構(gòu)部署。如上所述,各層都可通過網(wǎng)絡(luò)接受下一層的數(shù)據(jù)輸入,也可通過網(wǎng)絡(luò)對外輸出處理數(shù)據(jù),因此各層都可獨立部署在各自服務(wù)器上,共同組成分布式系統(tǒng)。此外由于日志來自不同來源主機,數(shù)據(jù)之間具有獨立性,因此通過簡單的分離與合并方式,可部署多臺原始數(shù)據(jù)層服務(wù)器,不同來源主機的日志發(fā)送到不同服務(wù)器上,然后按分類把日志原始數(shù)據(jù)導(dǎo)入不同的上層服務(wù)器上作解析、計算與事件判別觸發(fā)。之所以可以如此設(shè)計的關(guān)鍵是各層的數(shù)據(jù)輸入輸出是透明的,即完全無視數(shù)據(jù)是來自網(wǎng)絡(luò)還是來自本地數(shù)據(jù)庫或文件系統(tǒng),而輸出也是無視發(fā)往本地數(shù)據(jù)庫或遠端數(shù)據(jù)庫。由于不同來源主機的日志數(shù)據(jù)之間的弱相關(guān)性,此一分布式架構(gòu)具有大致的線性拓展的優(yōu)點,利于隨數(shù)據(jù)中心規(guī)模的擴大而增置服務(wù)器。

    本文討論了集中式日志系統(tǒng)的意義,以及針對大規(guī)模、多用戶和多用途的場景提出一種層級框架設(shè)計,分析各部分技術(shù)實現(xiàn)要點。該框架劃分成若干相對獨立又自成體系的層次,以適應(yīng)多用戶的不同利用方式和水平。同時,各層次的獨立性也為大規(guī)模數(shù)據(jù)的場景提供良好的分布式拓展空間。

    猜你喜歡
    集中式原始數(shù)據(jù)日志
    GOLDEN OPPORTUNITY FOR CHINA-INDONESIA COOPERATION
    一名老黨員的工作日志
    華人時刊(2021年13期)2021-11-27 09:19:02
    受特定變化趨勢限制的傳感器數(shù)據(jù)處理方法研究
    扶貧日志
    心聲歌刊(2020年4期)2020-09-07 06:37:14
    光伏:分布式新增裝機規(guī)模首次超越集中式
    能源(2018年8期)2018-09-21 07:57:16
    游學日志
    全新Mentor DRS360 平臺借助集中式原始數(shù)據(jù)融合及直接實時傳感技術(shù)實現(xiàn)5 級自動駕駛
    汽車零部件(2017年4期)2017-07-12 17:05:53
    組串式、集中式逆變器的評估選定淺析
    電子測試(2017年23期)2017-04-04 05:07:46
    接觸網(wǎng)隔離開關(guān)集中式控制方案研究
    電氣化鐵道(2016年5期)2016-04-16 05:59:55
    光伏集中式逆變器與組串式逆變器
    平乐县| 三台县| 灵台县| 宝丰县| 明星| 枣强县| 徐州市| 南城县| 来安县| 西安市| 咸宁市| 五河县| 库尔勒市| 铜山县| 湟源县| 靖安县| 罗城| 聂拉木县| 泰顺县| 攀枝花市| 阿荣旗| 民和| 江城| 朝阳市| 卢龙县| 且末县| 洱源县| 双桥区| 惠来县| 庆安县| 河南省| 宁阳县| 乃东县| 黔江区| 威信县| 大洼县| 高邮市| 辽中县| 古浪县| 平原县| 紫金县|