亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Flume的分布式日志采集分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2016-02-13 05:58:16艾中良
        軟件 2016年12期
        關(guān)鍵詞:海量日志分布式

        陳 飛,艾中良

        (華北計(jì)算技術(shù)研究所,北京 100083)

        基于Flume的分布式日志采集分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        陳 飛,艾中良

        (華北計(jì)算技術(shù)研究所,北京 100083)

        互聯(lián)網(wǎng)的迅猛發(fā)展以及大數(shù)據(jù)相關(guān)技術(shù)的興起,使得日志數(shù)據(jù)的規(guī)模日益劇增,給已有的日志采集及分析系統(tǒng)帶來了挑戰(zhàn);同時(shí)針對(duì)互聯(lián)網(wǎng)安全的攻擊活動(dòng)也層出不窮,如何在海量的日志中及時(shí)提取有效的信息以為企業(yè)安全提供信息支撐,也給現(xiàn)有的分析系統(tǒng)提出了新的需求。本文結(jié)合使用Flume、Elasticsearch以及Kibana等技術(shù)手段提出了一種分布式的日志采集分析系統(tǒng),從系統(tǒng)設(shè)計(jì)和架構(gòu)等方面提出了新的解決思路,并針對(duì)Nginx的訪問日志進(jìn)行了實(shí)時(shí)采集和分析及展示,完成了原型系統(tǒng)的實(shí)現(xiàn),實(shí)驗(yàn)證明,基于Flume的分布式的日志采集分析系統(tǒng)方案具有可行性。

        信息安全;日志采集;Flume;Elasticsearch;Kibana

        本文著錄格式:陳飛,艾中良. 基于Flume的分布式日志采集分析系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件,2016,37(12):82-88

        0 引言

        互聯(lián)網(wǎng)的快速發(fā)展,尤其是近年來移動(dòng)互聯(lián)網(wǎng)的崛起及大數(shù)據(jù)技術(shù)的迅猛發(fā)展,導(dǎo)致了日志數(shù)據(jù)日益劇增[1],這些日志數(shù)據(jù)具有體量巨大、種類繁多、價(jià)值密度低以及處理速度快等特點(diǎn)[2]。海量日志數(shù)據(jù)的出現(xiàn)給互聯(lián)網(wǎng)公司和企業(yè)帶來了巨大挑戰(zhàn)[3],一方面海量數(shù)據(jù)的出現(xiàn)對(duì)企業(yè)和單位現(xiàn)有的日志采集系統(tǒng)造成了沖擊,傳統(tǒng)的日志采集方案不足以支撐現(xiàn)有大規(guī)模數(shù)據(jù)量,在面對(duì)各類型數(shù)據(jù)處理時(shí)不夠靈活;另一方面,當(dāng)前互聯(lián)網(wǎng)上的網(wǎng)絡(luò)攻擊日益頻繁,企業(yè)安全系統(tǒng)受到嚴(yán)重的挑戰(zhàn),網(wǎng)絡(luò)安全形勢(shì)嚴(yán)峻[4],海量日志數(shù)據(jù)的出現(xiàn)會(huì)將極少有用的數(shù)據(jù)湮沒。建立建立擴(kuò)展性高[5]、適應(yīng)性強(qiáng)、穩(wěn)定性好的日志采集分析系統(tǒng)至關(guān)重要,一方面滿足大規(guī)模數(shù)據(jù)的采集及處理,另一方面通過建立實(shí)時(shí)的日志分分析、展示平臺(tái)將各類應(yīng)用服務(wù)日志數(shù)據(jù)的實(shí)時(shí)趨勢(shì)及當(dāng)前狀況及時(shí)展示出來,便于及時(shí)掌握公司內(nèi)部系統(tǒng)的狀態(tài),為企業(yè)IT系統(tǒng)的管理和安全分析提供保障和有效支撐。

        本文基于開源日志收集系統(tǒng)Apache Flume以及開源搜索引擎ElasticSearch設(shè)計(jì)并實(shí)現(xiàn)一個(gè)基于海量數(shù)據(jù)的分布式日志采集分析原型系統(tǒng),該系統(tǒng)實(shí)現(xiàn)對(duì)系統(tǒng)WEB服務(wù)日志的采集,分析和展示,具備實(shí)時(shí)搜索功能。實(shí)驗(yàn)證明了系統(tǒng)設(shè)計(jì)和方案具備可行性。

        1 技術(shù)要點(diǎn)

        1.1 Flume

        Flume[6]是一個(gè)分布式的海量日志聚合系統(tǒng),支持?jǐn)?shù)據(jù)發(fā)送方,數(shù)據(jù)接收方的數(shù)據(jù)定制,同時(shí)具備數(shù)據(jù)預(yù)處理的能力。目前Flume有Flume-OG和Flume-NG兩個(gè)版本,F(xiàn)lume-NG是在Flume-OG的基礎(chǔ)上經(jīng)重構(gòu)所形成的更具適應(yīng)性的版本,使用方便簡(jiǎn)單,適應(yīng)各種日志收集,并支持FailOver和負(fù)載均衡機(jī)制。其主要架構(gòu)如圖1所示:

        Flume以agent為最小的獨(dú)立運(yùn)行單位,每一個(gè)agent即是一個(gè)小的JVM。Flume主要由不同類型的Source、Channel、Sink組件組成,不同類型組件之間可以自由組合從而構(gòu)建復(fù)雜性的系統(tǒng)。Source組件實(shí)現(xiàn)對(duì)原始日志的采集接收,Channel組件負(fù)責(zé)為Source和Sink組件的對(duì)接提供臨時(shí)的緩存通道,Sink組件則負(fù)責(zé)將收集到的日志下放到存儲(chǔ)、分析等系統(tǒng)中,以實(shí)現(xiàn)日志的最終交付。Flume具備高可擴(kuò)展性,支持多級(jí)流處理,可根據(jù)不同業(yè)務(wù)需求及功能需求對(duì)Flume的agent組件進(jìn)行不同方式的組合,從而構(gòu)建出耦合度低、可用性高、擴(kuò)展性強(qiáng)的強(qiáng)壯的采集系統(tǒng)。如下圖2即是復(fù)雜的Flume流,通過Channle、Sink和不同的分析存儲(chǔ)系統(tǒng)及Source組合完成復(fù)雜的采集分析任務(wù)。1.2 ElasticSearch

        圖1 Flume基本架構(gòu)

        ElasticSearch[7]是一個(gè)基于Lucene的搜索服務(wù)器。它提供了一個(gè)分布式多用戶能力的全文搜索引擎,基于RESTful web接口,是當(dāng)前流行的企業(yè)級(jí)搜索引擎。常被用于云計(jì)算中,具有實(shí)時(shí)搜索、穩(wěn)定、可靠、快速、安裝方便[8]等特點(diǎn)。其典型的調(diào)用API接口如下:

        1.2.1 創(chuàng)建索引

        //通過json文檔建立索引

        1.2.2 更新索引1

        1.2.3 查詢索引

        1.3 Kibana

        Kibana[9]是一個(gè)與Elasticsearch配合工作的開源的數(shù)據(jù)分析和圖形化展示的平臺(tái)。使用Kibana可對(duì)Elasticsearch索引中存儲(chǔ)的數(shù)據(jù)進(jìn)行查找、查看,可以方便地進(jìn)行高級(jí)數(shù)據(jù)分析和繪制各種圖表等。Kibana在分析海量數(shù)據(jù)時(shí)非常方便,基于Web界面可以快速的創(chuàng)建和分享在Elasticsearch的查詢結(jié)果,實(shí)時(shí)顯示Elasticsearch查詢動(dòng)態(tài)。

        2 系統(tǒng)設(shè)計(jì)

        基于開源日志采集工具Flume的分布式日志采集系統(tǒng),圍繞業(yè)務(wù)數(shù)據(jù)海量、高可擴(kuò)展、高可靠性等需求設(shè)計(jì)開發(fā),為海量數(shù)據(jù)分析提供基礎(chǔ)數(shù)據(jù)支撐。支持海量級(jí)業(yè)務(wù)數(shù)據(jù)采集、分布式處理、Failover與負(fù)載均衡;提供與多種類型數(shù)據(jù)源對(duì)接的API,部署靈活,擴(kuò)展性強(qiáng)。分布式日志采集系統(tǒng)由采集、管理、分析存儲(chǔ)三大模塊組成。

        圖3 分布式日志采集分析系統(tǒng)

        系統(tǒng)采用分層式數(shù)據(jù)采集方案,針對(duì)不同業(yè)務(wù)需求在業(yè)務(wù)服務(wù)器上部署采集agent,數(shù)據(jù)經(jīng)采集管理中心實(shí)現(xiàn)數(shù)據(jù)的聚合及分發(fā),實(shí)現(xiàn)數(shù)據(jù)采集與數(shù)據(jù)處理邏輯解耦,使不同業(yè)務(wù)之間數(shù)據(jù)采集邏輯相互分離,便于管理,系統(tǒng)可擴(kuò)展性強(qiáng),支持負(fù)載均衡與故障切換機(jī)制,為海量數(shù)據(jù)的采集提供穩(wěn)定支撐,其實(shí)現(xiàn)方案如圖4所示。

        其中采集模塊負(fù)責(zé)對(duì)業(yè)務(wù)數(shù)據(jù)的收集工作,由對(duì)應(yīng)業(yè)務(wù)的采集agent完成;管理模塊負(fù)責(zé)接收采集層的數(shù)據(jù),并將數(shù)據(jù)根據(jù)不同的路由策略下發(fā)至存儲(chǔ)模塊中供分布式文件系統(tǒng)及分布式消息系統(tǒng)使用,此工作由管理層的各管理agent完成,各管理agent與采集agent之間通過交叉?zhèn)鬏攲?shí)現(xiàn)負(fù)載均衡與Failover,保證數(shù)據(jù)傳輸?shù)目煽啃裕环治龃鎯?chǔ)模塊則負(fù)責(zé)提供永久或者臨時(shí)的數(shù)據(jù)存儲(chǔ)服務(wù)、或者將數(shù)據(jù)流導(dǎo)向其他服務(wù),主要由分布式文件系統(tǒng)、分布式實(shí)時(shí)索引系統(tǒng)等組成。

        3 系統(tǒng)實(shí)現(xiàn)

        根據(jù)系統(tǒng)設(shè)計(jì)及項(xiàng)目需求,本文完成對(duì)WEB服務(wù)日志的采集并根據(jù)需求對(duì)日志中的字段進(jìn)行索引,最后通過WEB界面對(duì)Nginx的訪問日志進(jìn)行實(shí)時(shí)的展示。

        3.1 Nginx日志

        Nginx[10]是一款輕量級(jí)的Web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,由俄羅斯的程序設(shè)計(jì)師Igor Sysoev所開發(fā),供俄國(guó)大型的入口網(wǎng)站及搜索引擎Rambler,其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),目前在主流WEB服務(wù)器排名中位居第二僅次于Apache。其日志主要由access. log和error.log構(gòu)成,其中error.log日志記錄服務(wù)器錯(cuò)誤日志,而access.log主要記錄了用戶的訪問,主要包括用戶的ip地址、訪問的時(shí)間、請(qǐng)求頁(yè)面以及客戶端瀏覽器信息等,其格式如下:

        圖4 采集方案

        3.2 Flume配置

        Flume主要完成對(duì)Nginx服務(wù)器中access.log日志的采集和分析,從而能夠?qū)⑷罩緟R總到Elasticsearch并能形成實(shí)時(shí)索引信息供展示和查詢,其核心配置如下:

        source部分的配置主要為了對(duì)Nginx的access. log日志進(jìn)行采集并對(duì)其進(jìn)行預(yù)處理,通過定義攔截器interceptors[11]對(duì)日志進(jìn)行分割預(yù)處理其中i1規(guī)則主要通過正則表達(dá)式對(duì)日志進(jìn)行格式化處理并將對(duì)應(yīng)匹配到的字段進(jìn)行變量賦值。上述配置中將(\d+\.\d+\.\d+\.\d+)正則表達(dá)式匹配到的ip地址賦值給visit_ip變量,(\d+/\w+/\d+\:\d+\:\d+\:\ d+)正則表達(dá)式匹配到的時(shí)間賦值給visit_time變量。

        sink部分的配置主要為了將格式化之后的數(shù)據(jù)段成功導(dǎo)入到Elasticsearch集群中并建立相關(guān)索引,上述配置使用Flume內(nèi)置的ElasticSearchLogStash-EventSerializer進(jìn)行了序列化過程,建立了名稱為nginx_log開頭,類型為nginx_doc的索引。

        3.3 Kibana定制

        Kibana可通過插件形式安裝到Elasticsearch中,安裝完成后可通過手動(dòng)定制或者直接導(dǎo)入模板的方式對(duì)展示界面進(jìn)行定制以實(shí)現(xiàn)對(duì)所需要的條目信息以及顯示界面進(jìn)行個(gè)性化定制[12],模板以json格式進(jìn)行定義,由于行數(shù)較多,給出部分配置如下所示:

        4 結(jié)果及分析

        通過多客戶端對(duì)Nginx服務(wù)器的訪問測(cè)試,可以在Elasticsearch服務(wù)器集群中看到對(duì)應(yīng)實(shí)時(shí)索引的生成如下圖5所示。

        其對(duì)應(yīng)的每個(gè)索引的詳細(xì)信息為如下json文本所示,顯示了之前在Flume中定義的索引名稱、索引類型、索引對(duì)應(yīng)的文本以及訪問地址visit_ip、visit_time等信息,表明索引已經(jīng)成功生成。

        圖5 索引展示

        最后在Kibana平臺(tái)上可以看到各訪問客戶端對(duì)服務(wù)器的訪問情況以及變化趨勢(shì),簡(jiǎn)單直觀,并且可以根據(jù)需要自行進(jìn)行定制,圖6、圖7和圖8分別展示了各時(shí)間段內(nèi)Nginx服務(wù)器的總體訪情況,各客戶端的訪問情況,統(tǒng)計(jì)圖以及詳細(xì)的訪問數(shù)據(jù)等數(shù)據(jù)信息。

        5 總結(jié)

        圖6 Nginx總體訪問量

        圖7 客戶端的訪問量

        圖8 餅狀統(tǒng)計(jì)圖和柱狀統(tǒng)計(jì)圖

        本論文以“基于大數(shù)據(jù)平臺(tái)的企業(yè)數(shù)據(jù)中心”項(xiàng)目為背景,實(shí)現(xiàn)了基于Flume的分布式的數(shù)據(jù)日志采集分析系統(tǒng)的系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn),結(jié)合ElasticSearch及其插件Kibana完成了對(duì)Nginx服務(wù)器訪問日志的簡(jiǎn)單格式化處理及近實(shí)時(shí)的索引及展示,完成了從外部服務(wù)器日志到采集系統(tǒng)再到分析處理的簡(jiǎn)單流程,系統(tǒng)具有擴(kuò)展性強(qiáng),適應(yīng)海量數(shù)據(jù)系統(tǒng),高可靠性等優(yōu)勢(shì),為項(xiàng)目的后期實(shí)現(xiàn)提供了技術(shù)儲(chǔ)備。本文提出了一種新型適應(yīng)于海量日志的采集系統(tǒng)解決方案,目前僅僅基于Flume和ElasticSearch內(nèi)置的各組件和序列化接口實(shí)現(xiàn)對(duì)Nginx日志的解析,完成了整個(gè)原型系統(tǒng)的研制,在遇到復(fù)雜的日志數(shù)據(jù)分析功能時(shí)可以通過對(duì)序列化源碼進(jìn)行修改以滿足不同的業(yè)務(wù)需求,后續(xù)也會(huì)基于此點(diǎn)出發(fā)對(duì)系統(tǒng)進(jìn)行改造優(yōu)化。

        圖9 詳細(xì)的數(shù)據(jù)段信息

        [1] 宋密, 王勁松. 基于Flume的網(wǎng)絡(luò)安全可視化系統(tǒng)[J]. 天津理工大學(xué)學(xué)報(bào), 2015, 02: 38-42.

        [2] 王正也, 李書芳. 一種基于Hive日志分析的大數(shù)據(jù)存儲(chǔ)優(yōu)化方法[J]. 軟件, 2014, 35(11): 94-100.

        [3] 江三鋒, 王元亮. 基于Hive的海量web日志分析系統(tǒng)設(shè)計(jì)研究[J]. 軟件, 2015, 36(4): 93-96.

        [4] 金松昌, 方濱興, 楊樹強(qiáng), 賈焰. 基于Hadoop的網(wǎng)絡(luò)安全日志分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[A]. 中國(guó)計(jì)算機(jī)學(xué)會(huì)計(jì)算機(jī)安全專業(yè)委員會(huì). 全國(guó)計(jì)算機(jī)安全學(xué)術(shù)交流會(huì)論文集·第二十五卷[C]. 中國(guó)計(jì)算機(jī)學(xué)會(huì)計(jì)算機(jī)安全專業(yè)委員會(huì), 2010: 6.

        [5] 吳茜媛, 鄭慶華, 王萍. 一種可擴(kuò)展的網(wǎng)絡(luò)用戶行為日志獲取方法[J]. 軟件, 2014, 35(10): 21-25.

        [6] Apache Flume[OL]. http://flume.apache.org/FlumeUserGuide.html. [7] Elasticsearch[OL]. https://www.elastic.co/products/elasticsearch.

        [8] 白俊, 郭賀彬. 基于ElasticSearch的大日志實(shí)時(shí)搜索的軟件集成方案研究[J]. 吉林師范大學(xué)學(xué)報(bào)(自然科學(xué)版), 2014, 01: 85-87.

        [9] Kibana[OL]. https://www.elastic.co/products/kibana.

        [10] 苗澤. Nginx高性能Web服務(wù)器詳解[M]. 北京: 電子工業(yè)出版社, 2013.

        [11] Hari Shreedharan. Flume: 構(gòu)建高可用、可擴(kuò)展的海量日志采集系統(tǒng)[M]. 馬延輝. 北京: 中國(guó)工信出版集團(tuán)電子工業(yè)出版社, 2015.

        [12] Rafaol Kuc, Marek Rogozinski. 深入理解ElasticSearch[M].張世武. 北京: 機(jī)械工業(yè)出版社, 2016.

        Design and Implementation of Distributed Log Collection and Analysis System Based on Flume

        CHEN Fei, AI Zhong-liang

        (North China Institute of Computing Technology, Beijing 100083, Chin)

        The rapid development of the Internet and the rise of big data technology, making the scale of the log data increasing rapidly, bring challenges to the current log collection and analysis system. At the same time, the Internet security attacks become more and more severely, how to extract effective information from massive logs to provide supports for enterprise security in time has also bring the new requirements to the current system. This paper proposes a distributed log collection and analysis system based on Flume, Elasticsearch and Kibana, and proposes a new solution from the aspects of system design and architecture, In addition it has also done a successful experiment based on Nginx's access logs. The experiment has proved that the method based on Flume is feasible.

        Information Security; Log collection; Flume; Elasticsearch; Kibana

        TP311.52

        A

        10.3969/j.issn.1003-6970.2016.12.019

        陳飛(1991-),男,研究生,主要研究方向:信息安全;艾中良(1971-),男,研究員級(jí)高級(jí)工程師,主要研究方向:網(wǎng)格計(jì)算、信息共享及信息安全。

        猜你喜歡
        海量日志分布式
        一種傅里葉域海量數(shù)據(jù)高速譜聚類方法
        一名老黨員的工作日志
        扶貧日志
        心聲歌刊(2020年4期)2020-09-07 06:37:14
        海量快遞垃圾正在“圍城”——“綠色快遞”勢(shì)在必行
        分布式光伏熱錢洶涌
        能源(2017年10期)2017-12-20 05:54:07
        游學(xué)日志
        分布式光伏:爆發(fā)還是徘徊
        能源(2017年5期)2017-07-06 09:25:54
        一個(gè)圖形所蘊(yùn)含的“海量”巧題
        基于DDS的分布式三維協(xié)同仿真研究
        西門子 分布式I/O Simatic ET 200AL
        狠狠色狠狠色综合| 国产青春草在线观看视频| 中文字幕人妻av一区二区| 久久免费看的少妇一级特黄片| 欧美奶涨边摸边做爰视频| 老少配老妇老熟女中文普通话| 亚洲成成品网站源码中国有限公司| 国产精品va在线观看一| 亚洲熟女少妇精品久久| 99人中文字幕亚洲区三| 精品偷拍被偷拍在线观看| 色欲av亚洲一区无码少妇| 五月天无码| 亚洲国产综合一区二区| 一区二区三区国产在线视频| 成年女人a毛片免费视频| 又硬又粗又大一区二区三区视频| 亚洲精品国产不卡在线观看| 香蕉蜜桃av一区二区三区| 国产在线播放一区二区不卡| 精品丰满人妻无套内射| 国产精品厕所| 中文字幕精品人妻av在线| 国产主播性色av福利精品一区| 热99re久久精品这里都是精品免费| 无遮无挡爽爽免费毛片| 久久久精品电影| 亚洲一级天堂作爱av| 日韩精品视频久久一区二区 | 无遮挡呻吟娇喘视频免费播放| 2019年92午夜视频福利| 美女精品国产一区二区三区| 特级国产一区二区三区| 亚洲国产精品成人精品无码区在线 | 国产精品一区区三区六区t区| 蜜桃传媒免费观看视频| 国产亚洲av无码av男人的天堂| 日韩精品无码中文字幕电影| 国产亚洲AV无码一区二区二三区| 国产亚洲激情av一区二区| 一区二区三区人妻av |