欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于分布式的海量日志采集系統(tǒng)的制作方法

文檔序號:6551224閱讀:931來源:國知局
一種基于分布式的海量日志采集系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種基于分布式的海量日志采集系統(tǒng),該系統(tǒng)包括數(shù)據(jù)源層、分布式緩存層、分布式存儲與計算層、業(yè)務(wù)處理層、可視化展示層和統(tǒng)一調(diào)度與管理模塊。通過本發(fā)明能夠有效應(yīng)對日志采集與高速入庫的問題,同時,使用分布式存儲與搜索引擎技術(shù),加快查找與檢索的速度,從而實現(xiàn)了高速、準確、可靠地對海量日志進行采集與分析。
【專利說明】一種基于分布式的海量日志采集系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機【技術(shù)領(lǐng)域】,尤其涉及一種基于分布式的海量日志采集系統(tǒng)。
【背景技術(shù)】
[0002]隨著云計算、移動互聯(lián)網(wǎng)、物聯(lián)網(wǎng)的崛起與發(fā)展,大數(shù)據(jù)的時代已經(jīng)來臨。對大數(shù)據(jù)業(yè)務(wù)系統(tǒng)進行日志采集與分析,是評價節(jié)點主機健康度、對系統(tǒng)出現(xiàn)的問題進行分析、展示各類報表的依據(jù)所在。
[0003]開源的海量日志解決方案有很多,例如FaceBook的Scribe、Apache的Chukwa> LinkedIn的Kafka、Cloudera的Flume等,也有綜合的解決方案,例如Kibana+Elasticsearch+LogStash、LogAnalyzer+MySQL+RSyslog> Splunk0 這些角軍決方案,他們都具備三個基本組件,分別為agent、collector和store,其中agent封裝數(shù)據(jù)源,將數(shù)據(jù)源中的數(shù)據(jù)發(fā)送給collector,collector接收多個agent的數(shù)據(jù),并進行匯總后導(dǎo)入后端的store中,store為中央存儲系統(tǒng),應(yīng)該具有可擴展性和可靠性,應(yīng)該支持當(dāng)前非常流行的HDFS。agent必須安裝部署在進行日志采集的主機上面,還要配置相關(guān)參數(shù)以確定collector所在主機的位置。但是該方法中服務(wù)器端的安裝部署比較麻煩,大部分都需要使用源代碼進行編譯安裝,而且,開源的軟件基本是國外的軟件,由于中國大陸對國外大部分網(wǎng)站的封鎖以及國外某些網(wǎng)站對中國的封鎖,因此,有可能下載依賴軟件的時候,會出現(xiàn)拒絕連接的問題。
[0004]Storm是一個實時流計算框架,可以以近實時的速度對輸入源進行處理,然后輸出。Storm具有如下的特性:
[0005]易于擴展。Storm使用Zookeeper進行集群協(xié)調(diào),這樣可以充分保證大型集群的良好運行。
[0006]每條消息的處理都可以得到保證。
[0007]Storm集群管理簡易。
[0008]Storm的容錯機能很好。一旦Topology遞交,Storm會一直運行它直到Topology被廢除或者被關(guān)閉。而在執(zhí)行中出現(xiàn)錯誤時,也會由Storm重新分配任務(wù)。
[0009]—般使用Java,但是Storm中的Topology可以用任何語言設(shè)計。
[0010]但是Storm的Topology的業(yè)務(wù)邏輯,需要自己寫代碼實現(xiàn),一定要在Spout中指定數(shù)據(jù)來源。

【發(fā)明內(nèi)容】

[0011]本發(fā)明為了解決現(xiàn)有技術(shù)中的不足和缺陷,提出一種基于分布式的海量日志采集系統(tǒng),可以有效應(yīng)對日志采集與高速入庫的問題,同時,使用分布式存儲與搜索引擎技術(shù),加快查找與檢索的速度,從而實現(xiàn)了高速、準確、可靠地對海量日志進行采集與分析。
[0012]一種基于分布式的海量日志采集系統(tǒng),其通過在目標主機上安裝Agent進程,對目標主機的文本、應(yīng)用程序、數(shù)據(jù)庫等日志信息進行有選擇地定向推送到服務(wù)器集群的統(tǒng)一訪問接口,服務(wù)器端采用了分布式緩存與實時流處理框架技術(shù);該系統(tǒng)包括數(shù)據(jù)源層、分布式緩存層、分布式存儲與計算層、業(yè)務(wù)處理層、可視化展示層和統(tǒng)一調(diào)度與管理模塊。
[0013]數(shù)據(jù)源層,由數(shù)據(jù)采集組件(生產(chǎn)者)模塊對各個節(jié)點上面的文本、應(yīng)用程序、數(shù)據(jù)庫等進行采集,推送到分布式緩存層。
[0014]分布式緩存層,由LVS對各個節(jié)點的消息隊列組件進行負載均衡,提供一個統(tǒng)一的接口來接收并寫入數(shù)據(jù)源節(jié)點推送過來的數(shù)據(jù),等待分布式存儲與計算層的數(shù)據(jù)采集組件(消費者)來讀取。
[0015]分布式存儲與計算層,提供存儲與計算的功能,包括數(shù)據(jù)采集組件(消費者)模塊、離線計算模塊、實時計算模塊、分布式存儲和搜索引擎;其中,數(shù)據(jù)采集組件(消費者)模塊負責(zé)對分布式緩存層進行數(shù)據(jù)讀??;離線計算模塊由Hadoop及其生態(tài)系統(tǒng)組成;實時計算模塊由Storm組成。
[0016]業(yè)務(wù)處理層,提供統(tǒng)計分析和數(shù)據(jù)挖掘的功能與服務(wù),由上層進行調(diào)用。
[0017]可視化展示層,提供普通查詢、全文檢索、報表展示、導(dǎo)入導(dǎo)出等功能。
[0018]統(tǒng)一調(diào)度與管理模塊,對上述5層進行統(tǒng)一的調(diào)度與管理,基于工作流,自動化處理。
[0019]本發(fā)明技術(shù)方案帶來的有益效果:
[0020]1、由于使用了 Storm實時流處理框架技術(shù),因此,可以近實時地對Kafka分布式緩存中的消息進行處理并分類。
[0021]2、推送日志與讀取日志是異步進行的,可以不用感知相互的存在,只需要往分布式消息隊列Kafka里面寫入或者讀取即可。
[0022]3、每分鐘可以處理100萬條記錄,可以有效應(yīng)對大數(shù)據(jù)數(shù)據(jù)采集的問題,產(chǎn)生經(jīng)濟效益。
[0023]4、系統(tǒng)具有高可靠性,保證每條記錄被處理。
【專利附圖】

【附圖說明】
[0024]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
[0025]圖1是本發(fā)明中分布式數(shù)據(jù)采集系統(tǒng)的系統(tǒng)架構(gòu)圖;
[0026]圖2是本發(fā)明中數(shù)據(jù)采集子系統(tǒng)的組成架構(gòu)圖。
【具體實施方式】
[0027]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0028]本文提出了一種基于分布式的海量日志采集系統(tǒng),通過在目標主機上安裝Agent進程,對目標主機的文本、應(yīng)用程序、數(shù)據(jù)庫等日志信息進行有選擇地定向推送到服務(wù)器集群的統(tǒng)一訪問接口,服務(wù)器端采用了分布式緩存與實時流處理框架技術(shù)。通過本發(fā)明解決了現(xiàn)有技術(shù)中使用傳統(tǒng)的日志采集技術(shù),對海量日志進行采集的過程中會出現(xiàn)上傳速度超過采集處理入庫速度,導(dǎo)致系統(tǒng)假死或者日志記錄丟失;使用開源的分布式日志采集組件,需要在各個節(jié)點安裝與配置Agent,某些Agent需要依賴很多第三方軟件,由于網(wǎng)絡(luò)等原因,無法安裝完成的缺點或不足,能夠有效應(yīng)對日志采集與高速入庫的問題,同時,使用分布式存儲與搜索引擎技術(shù),加快查找與檢索的速度,從而實現(xiàn)了高速、準確、可靠地對海量日志進行采集與分析。
[0029]如圖1所示為一種基于分布式的海量日志采集系統(tǒng)的系統(tǒng)架構(gòu)圖。
[0030]本系統(tǒng)包括數(shù)據(jù)源層、分布式緩存層、分布式存儲與計算層、業(yè)務(wù)處理層、可視化展示層和統(tǒng)一調(diào)度與管理模塊。
[0031]數(shù)據(jù)源層,由數(shù)據(jù)采集組件(生產(chǎn)者)模塊對各個節(jié)點上面的文本、應(yīng)用程序、數(shù)據(jù)庫等進行采集,推送到分布式緩存層。
[0032]分布式緩存層,由LVS對各個節(jié)點的消息隊列組件進行負載均衡,提供一個統(tǒng)一的接口來接收并寫入數(shù)據(jù)源節(jié)點推送過來的數(shù)據(jù),等待分布式存儲與計算層的數(shù)據(jù)采集組件(消費者)來讀取。
[0033]分布式存儲與計算層,提供存儲與計算的功能,包括數(shù)據(jù)采集組件(消費者)模塊、離線計算模塊、實時計算模塊、分布式存儲和搜索引擎。其中,數(shù)據(jù)采集組件(消費者)模塊負責(zé)對分布式緩存層進行數(shù)據(jù)讀?。浑x線計算模塊由Hadoop及其生態(tài)系統(tǒng)組成;實時計算模塊由Storm組成。
[0034]業(yè)務(wù)處理層,提供統(tǒng)計分析和數(shù)據(jù)挖掘的功能與服務(wù),由上層進行調(diào)用。
[0035]可視化展示層,提供普通查詢、全文檢索、報表展示、導(dǎo)入導(dǎo)出等功能。
[0036]統(tǒng)一調(diào)度與管理模塊,對上述5層進行統(tǒng)一的調(diào)度與管理,基于工作流,自動化處理。
[0037]數(shù)據(jù)采集子系統(tǒng)是分布式日志采集系統(tǒng)的核心組成部分,包括數(shù)據(jù)源層、分布式緩存層、數(shù)據(jù)處理層和持久化層,其可以獨立出來成為一個新的系統(tǒng)。其中,數(shù)據(jù)源層即分布式日志采集系統(tǒng)的數(shù)據(jù)源層;分布式緩存層即分布式日志采集系統(tǒng)的分布式緩存層;數(shù)據(jù)處理層即分布式日志采集系統(tǒng)的分布式存儲與計算層的實時計算模塊和統(tǒng)一調(diào)度與管理模塊;持久化層即分布式日志采集系統(tǒng)的分布式存儲與計算層的分布式存儲模塊。
[0038]數(shù)據(jù)采集子系統(tǒng)的組成,如圖2所示。
[0039]數(shù)據(jù)采集子系統(tǒng)的核心,主要包括位于數(shù)據(jù)源層的數(shù)據(jù)采集組件(生產(chǎn)者)模塊、分布式緩存層與數(shù)據(jù)處理層。
[0040]數(shù)據(jù)源層,包括很多的數(shù)據(jù)節(jié)點主機,每個主機上都安裝了數(shù)據(jù)采集組件(生產(chǎn)者)模塊,會啟動Agent進程來負責(zé)接收服務(wù)端的采集指令,把本節(jié)點的文本、應(yīng)用程序、數(shù)據(jù)庫等數(shù)據(jù)推送到服務(wù)器集群中的統(tǒng)一訪問接口中。
[0041]分布式緩存層,位于服務(wù)器集群里面,其主要由LVS負責(zé)把數(shù)據(jù)自動轉(zhuǎn)發(fā)到Kafka集群中的某臺節(jié)點主機進行寫入,負責(zé)對外提供統(tǒng)一訪問接口和分布式緩存服務(wù)。其中統(tǒng)一訪問接口包括統(tǒng)一的域名/主機名和端口。
[0042]數(shù)據(jù)處理層,主要由Storm構(gòu)成,其中Topology由I個Spout和若干個Bolt構(gòu)成。KafkaReaderSpout負責(zé)讀取Kafka集群里面的數(shù)據(jù),然后把數(shù)據(jù)傳輸給ExecutorBolt,ExecutorBolt根據(jù)業(yè)務(wù)邏輯及日志的類型,往下傳送數(shù)據(jù)到HbaseWriterBolt、HdfsffriterBolt 或者 SolrffriterBolt 中進行持久化存儲。其中,HbaseWriterBolt 負責(zé)HBase的持久化存儲,HdfsffriterBolt負責(zé)HDFS的持久化存儲、SolrffriterBolt負責(zé)Solr-Cloud的持久化存儲。
[0043]持久化層,主要由HBase、HDFS和Solr-Cloud組成。HBase主要是鍵值對存儲,存儲原始日志、分類處理后的日志;HDFS主要存儲原始日志;S0lr-Cl0ud主要對HBase存儲的日志進行索引,加快檢索速度,可以全文檢索。
[0044]數(shù)據(jù)采集子系統(tǒng)的工作流程:
[0045]首先,數(shù)據(jù)源的所有節(jié)點主機的Agent進程會自動推送本節(jié)點的文本、應(yīng)用程序、數(shù)據(jù)庫等數(shù)據(jù)到服務(wù)器集群中的統(tǒng)一訪問接口中。
[0046]接著,統(tǒng)一訪問接口接收到數(shù)據(jù),由LVS自動轉(zhuǎn)發(fā)到某個Kafka節(jié)點中并寫入數(shù)據(jù),等待被讀取。
[0047]最后,由實時計算模塊Storm中的Topology進行業(yè)務(wù)處理,其中Topology由I個Spout和若干個Bo11構(gòu)成。KafkaReaderSpout負責(zé)讀取Kafka集群中的數(shù)據(jù),然后把數(shù)據(jù)傳輸給ExecutorBolt, ExecutorBolt根據(jù)業(yè)務(wù)邏輯及日志的類型,往下傳送數(shù)據(jù)到 HbaseWriterBolt、HdfsffriterBolt 或者 SolrWriterBolt 中進行持久化存儲。其中,HbaseWriterBolt負責(zé)HBase的持久化存儲,HdfsffriterBolt負責(zé)HDFS的持久化存儲、SolrffriterBolt 負責(zé) Solr-Cloud 的持久化存儲。
[0048]以上對本發(fā)明實施例所提供的一種基于分布式的海量日志采集系統(tǒng)進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【權(quán)利要求】
1.一種基于分布式的海量日志采集系統(tǒng),其特征在于,該系統(tǒng)通過在目標主機上安裝Agent進程,對目標主機的文本、應(yīng)用程序、數(shù)據(jù)庫等日志信息進行有選擇地定向推送到服務(wù)器集群的統(tǒng)一訪問接口,服務(wù)器端采用了分布式緩存與實時流處理框架技術(shù);該系統(tǒng)包括數(shù)據(jù)源層、分布式緩存層、分布式存儲與計算層、業(yè)務(wù)處理層、可視化展示層和統(tǒng)一調(diào)度與管理模塊; 數(shù)據(jù)源層,由數(shù)據(jù)采集組件(生產(chǎn)者)模塊對各個節(jié)點上面的文本、應(yīng)用程序、數(shù)據(jù)庫等進行采集,推送到分布式緩存層; 分布式緩存層,由LVS對各個節(jié)點的消息隊列組件進行負載均衡,提供一個統(tǒng)一的接口來接收并寫入數(shù)據(jù)源節(jié)點推送過來的數(shù)據(jù),等待分布式存儲與計算層的數(shù)據(jù)采集組件(消費者)來讀?。? 分布式存儲與計算層,提供存儲與計算的功能,包括數(shù)據(jù)采集組件(消費者)模塊、離線計算模塊、實時計算模塊、分布式存儲和搜索引擎;其中,數(shù)據(jù)采集組件(消費者)模塊負責(zé)對分布式緩存層進行數(shù)據(jù)讀?。浑x線計算模塊由Hadoop及其生態(tài)系統(tǒng)組成;實時計算模塊由Storm組成; 業(yè)務(wù)處理層,提供統(tǒng)計分析和數(shù)據(jù)挖掘的功能與服務(wù),由上層進行調(diào)用; 可視化展示層,提供普通查詢、全文檢索、報表展示、導(dǎo)入導(dǎo)出等功能; 統(tǒng)一調(diào)度與管理模塊,對上述5層進行統(tǒng)一的調(diào)度與管理,基于工作流,自動化處理。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,該系統(tǒng)的數(shù)據(jù)源層、分布式緩存層、分布式存儲與計算層的實時計算模塊和分布式存儲模塊、統(tǒng)一調(diào)度與管理模塊是分布式日志采集系統(tǒng)的核心部分,即數(shù)據(jù)采集子系統(tǒng),其包括數(shù)據(jù)源層、分布式緩存層、數(shù)據(jù)處理層和持久化層,其可以獨立出來成為一個新的系統(tǒng);其中,數(shù)據(jù)源層即分布式日志采集系統(tǒng)的數(shù)據(jù)源層;分布式緩存層即分布式日志采集系統(tǒng)的分布式緩存層;數(shù)據(jù)處理層即分布式日志采集系統(tǒng)的分布式存儲與計算層的實時計算模塊和統(tǒng)一調(diào)度與管理模塊;持久化層即分布式日志采集系統(tǒng)的分布式存儲與計算層的分布式存儲模塊。
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,數(shù)據(jù)源層,包括很多的數(shù)據(jù)節(jié)點主機,每個主機上都安裝了數(shù)據(jù)采集組件(生產(chǎn)者)模塊,會啟動Agent進程來負責(zé)接收服務(wù)端的采集指令,把本節(jié)點的文本、應(yīng)用程序、數(shù)據(jù)庫等數(shù)據(jù)推送到服務(wù)器集群中的統(tǒng)一訪問接口中; 分布式緩存層,位于服務(wù)器集群里面,其主要由LVS負責(zé)把數(shù)據(jù)自動轉(zhuǎn)發(fā)到Kafka集群中的某臺節(jié)點主機進行寫入,負責(zé)對外提供統(tǒng)一訪問接口和分布式緩存服務(wù);其中統(tǒng)一訪問接口包括統(tǒng)一的域名/主機名和端口; 數(shù)據(jù)處理層,由Storm構(gòu)成,其中Topology由I個Spout和若干個Bolt構(gòu)成。KafkaReaderSpout負責(zé)讀取Kafka集群里面的數(shù)據(jù),然后把數(shù)據(jù)傳輸給ExecutorBolt,ExecutorBolt根據(jù)業(yè)務(wù)邏輯及日志的類型,往下傳送數(shù)據(jù)到HbaseWriterBolt、HdfsffriterBolt 或者 SolrWriterBolt 中進行持久化存儲;其中,HbaseWriterBolt 負責(zé)HBase的持久化存儲,HdfsffriterBolt負責(zé)HDFS的持久化存儲、SolrffriterBolt負責(zé)Solr-Cloud的持久化存儲; 持久化層,由HBase、HDFS和Solr-Cloud組成。HBase主要是鍵值對存儲,存儲原始日志、分類處理后的日志;HDFS主要存儲原始日志;Solr-Cloud主要對HBase存儲的日志進行索引,加快檢索速度,可以全文檢索。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,數(shù)據(jù)采集子系統(tǒng)的核心,包括位于數(shù)據(jù)源層的數(shù)據(jù)采集組件(生產(chǎn)者)模塊、分布式緩存層與數(shù)據(jù)處理層。
5.根據(jù)權(quán)利要求3或4所述的系統(tǒng),其特征在于,數(shù)據(jù)采集子系統(tǒng)的工作流程為:首先,數(shù)據(jù)源的所有節(jié)點主機的Agent進程會自動推送本節(jié)點的文本、應(yīng)用程序、數(shù)據(jù)庫等數(shù)據(jù)到服務(wù)器集群中的統(tǒng)一訪問接口中; 接著,統(tǒng)一訪問接口接收到數(shù)據(jù),由LVS自動轉(zhuǎn)發(fā)到某個Kafka節(jié)點中并寫入數(shù)據(jù),等待被讀??; 最后,由實時計算模塊Storm中的Topology進行業(yè)務(wù)處理,其中Topology由I個Spout和若干個Bolt構(gòu)成;KafkaReaderSpout負責(zé)讀取Kafka集群中的數(shù)據(jù),然后把數(shù)據(jù)傳輸給ExecutorBolt, ExecutorBolt根據(jù)業(yè)務(wù)邏輯及日志的類型,往下傳送數(shù)據(jù)到 HbaseWriterBolt、HdfsffriterBolt 或者 SolrWriterBolt 中進行持久化存儲;其中,HbaseWriterBolt負責(zé)HBase的持久化存儲,HdfsffriterBolt負責(zé)HDFS的持久化存儲、SolrffriterBolt 負責(zé) Solr-Cloud 的持久化存儲。
【文檔編號】G06F11/34GK104036025SQ201410299857
【公開日】2014年9月10日 申請日期:2014年6月27日 優(yōu)先權(quán)日:2014年6月27日
【發(fā)明者】楊育斌, 柯宗貴, 趙必廈 申請人:藍盾信息安全技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
淳化县| 嘉兴市| 九江县| 乡城县| 沂水县| 叶城县| 济南市| 漯河市| 城市| 阿克陶县| 扶余县| 察哈| 光山县| 盘锦市| 平远县| 牡丹江市| 昌宁县| 丰县| 徐州市| 怀来县| 佳木斯市| 津市市| 剑河县| 淳化县| 洪江市| 南通市| 禄劝| 麻栗坡县| 岳池县| 增城市| 马边| 长宁区| 临邑县| 双江| 新竹县| 泉州市| 砀山县| 绥棱县| 若尔盖县| 东兰县| 美姑县|