本發明專利技術公開了一種基于分布式采集的日志分析系統,該系統包括日志文件收集應用模塊、日志接收應用集群模塊、分布式日志存儲模塊和Zookeeper注冊中心集群模塊。此外,本發明專利技術還公開了一種基于分布式采集的日志分析方法。通過本發明專利技術提升了日志處理層和日志存儲層的水平擴展能力,同時利用線程隔離原理通過對每次請求生成請求標識(TracingID)做到對跨服務調用日志的分組,清晰定位服務調用過程中的數據日志流轉以及異常詳情。
【技術實現步驟摘要】
本專利技術涉及數據處理
,尤其涉及一種基于分布式采集的日志分析系統及方法。
技術介紹
由于電信系統的交易的數據量非常龐大、應用服務多且應用服務大多采用集群部署每天會產生大量的日志,一般為流式數據,如搜索引擎的pv,查詢等,這些日志存放相互獨立,無法對這些日志進行統一管理和關聯分析。如何通過對它們分析及時了解系統狀況,發現系統異常,并在第一時間對異常事件做出快速響應,是網絡與系統管理亟待解決的問題。
技術實現思路
本專利技術的目的是為了克服現有技術的缺陷,提供一種基于分布式采集的日志分析系統及方法,通過本專利技術提升了日志處理層和日志存儲層的水平擴展能力,同時能夠清晰定位服務調用過程中的數據日志流轉以及異常詳情。為實現上述目的,本專利技術提供了一種基于分布式采集的日志分析系統,該系統包括日志文件收集應用模塊、日志接收應用集群模塊、分布式日志存儲模塊和Zookeeper注冊中心集群模塊。日志文件收集應用模塊,收集監視當前機器的組件日志文件,組件包括業務系統、web容器、redis服務,監測到日志文件有增量后通過過濾器對日志進行預處理,并從Zookeeper注冊中心集群模塊獲取接收處理器的可用實例發送到接收處理器。日志接收應用集群模塊,采用集群負載均衡方式,日志處理器實例以集群形式存在并注冊到Zookeeper注冊中心集群模塊,接收從收集應用模塊發動過來的日志數據,按照來源信息進行分類,通過注冊中心獲取存儲實例將數據持久化到存儲中,其中來源信息包括服務器標識和應用標識。分布式日志存儲模塊,采用分布式存儲文件系統實現大容量日志數據的快速讀取。Zookeeper注冊中心集群模塊,用來注冊或提供接收處理器實例、分布式日志存儲實例,通過監控各實例節點狀態改變確保注冊實例的可用性,同時達到服務實例的負載均衡效果。進一步地,當該系統數據量大時,通過增加節點的方式進行水平擴展,利用注冊中心組件保證各環節節點的健壯性。進一步地,提供接收處理器的HA,可選主備、冗余發送策略。進一步地,在本系統中過濾器可以是非業務系統過濾器或者業務應用過濾器。此外,本專利技術還提供了一種基于分布式采集的日志分析方法,該方法其利用線程隔離原理通過對每次請求生成請求標識TracingID做到對跨服務調用日志的分組,清晰定位服務調用過程中的數據日志流轉以及異常詳情,具體步驟如下:S1:在對服務應用(1…N)發起調用生成日志時,判斷當前線程是否存在全局TracingID,如果為空則認為是調用入口日志以生成TracingID并寫入到當前線程的TracingID;S2:針對跨服務的RPC調用,從發起RPC調用端獲取當前線程的TracingID封裝到RPC數據包;在RPC的接收端提取TracingID信息并寫入到當前接收端的線程變量;如果當前服務需要調用另外的服務,則繼續封裝此TracingID到PRC數據包傳遞給下層服務,下層服務提取TracingID,依次傳遞;S3:在寫入日志通道的同時過濾器通過獲取當前線程的TracingID值按照約定格式合并到日志內容中;S4:當次服務調用完成后清理當前線程的TracingID;S5:在接收器處理層通過TracingID來歸類做到對每次跨服務調用的日志分組。本專利技術技術方案帶來的有益效果:第一,采用本專利技術的系統,使用注冊中心組件增強日志接收層和存儲層的健壯性同時通過增加節點的方式提升日志處理層和日志存儲層的水平擴展能力。第二,采用本專利技術的方法,利用線程隔離原理通過對每次請求生成請求標識(TracingID)做到對跨服務調用日志的分組,清晰定位服務調用過程中的數據日志流轉以及異常詳情。附圖說明為了更清楚地說明本專利技術實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其它的附圖。圖1是本專利技術的系統架構圖。具體實施方式下面將結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本專利技術一部分實施例,而不是全部的實施例。基于本專利技術中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本專利技術保護的范圍。如圖1所示為本專利技術的系統架構圖。本專利技術的一種基于分布式采集的日志分析系統包括日志文件收集應用模塊、日志接收應用集群模塊、分布式日志存儲模塊和Zookeeper注冊中心集群模塊。日志文件收集應用模塊,收集監視當前機器的組件日志文件,組件包括業務系統、web容器、redis服務,監測到日志文件有增量后通過過濾器對日志進行預處理,然后從Zookeeper注冊中心集群模塊獲取接收處理器的可用實例發送到接收處理器,此處提供接收處理器的HA,可選主備、均衡發送策略。日志接收應用集群模塊,采用集群負載均衡方式。日志處理器實例以集群形式存在并注冊到Zookeeper注冊中心集群模塊,接收從收集應用模塊發動過來的日志數據,按照來源信息進行分類,通過注冊中心獲取存儲實例將數據持久化到存儲中。其中來源信息包括服務器標識和應用標識。分布式日志存儲模塊,采用分布式存儲文件系統實現大容量日志數據的快速讀取。Zookeeper注冊中心集群模塊,用來注冊或提供接收處理器實例、分布式日志存儲實例,通過監控各實例節點狀態改變確保注冊實例的可用性,同時達到服務實例的負載均衡效果。本系統為大型分布式日志采集系統,通過讀取各組件日志,例如業務系統日志、web容器日志、redis運行日志等組件日志文件,及時的對各服務系統的日志進行采集、過濾、關聯分析。當數據量大時,通過增加節點的方式進行水平擴展,利用注冊中心組件保證各環節節點的健壯性。在本系統中過濾器可以是公共系統過濾器或者業務系統過濾器。公共系統過濾器:針對類似web容器、redis運行日志等非業務系統日志進行過濾處理,通過配置非業務應用名稱等信息對日志進行標記以備后續處理器處理。業務系統過濾器:對業務應用系統通過提供日志格式化開發包從日志產生源方面進行處理,利用線程隔離的原理通過對單次請求進行統一標記生成單次請求的層次關系,提供日志追蹤數據結構給業務應用系統在跨服務調用進行注入和提取,做到跨服務的日志跟蹤和歸類。本專利技術的一種基于分布式采集的日志分析方法,其利用線程隔離原理通過對每次請求生成請求標識(TracingID)做到對跨服務調用日志的分組,清晰定位服務調用過程中的數據日志流轉以及異常詳情。具體步驟如下:S1:在對服務應用(1…N)發起調用生成日志時,判斷當前線程是否存在全局TracingID,如果為空則認為是調用入口日志以生成TracingID(跨服務唯一性)并寫入到當前線程的TracingID;S2:針對跨服務的RPC調用,從發起RPC調用端獲取當前線程的TracingID封裝到RPC數據包。在RPC的接收端提取TracingID信息并寫入到當前接收端的線程變量。如果當前服務需要調用另外的服務,則繼續封裝此TracingID到PRC數據包傳遞給下層服務,下層服務提取TracingID,依次傳遞。S3:在寫入日志通道的同時過濾器通過獲取當前線程的TracingID值按照約本文檔來自技高網...

【技術保護點】
一種基于分布式采集的日志分析系統,其特征在于,該系統包括日志文件收集應用模塊、日志接收應用集群模塊、分布式日志存儲模塊和Zookeeper注冊中心集群模塊;日志文件收集應用模塊,收集監視當前機器的組件日志文件,組件包括業務系統、web容器、redis服務,監測到日志文件有增量后通過過濾器對日志進行預處理,并從Zookeeper注冊中心集群模塊獲取接收處理器的可用實例發送到接收處理器;日志接收應用集群模塊,采用集群負載均衡方式,日志處理器實例以集群形式存在并注冊到Zookeeper注冊中心集群模塊,接收從收集應用模塊發動過來的日志數據,按照來源信息進行分類,通過注冊中心獲取存儲實例將數據持久化到存儲中,其中來源信息包括服務器標識和應用標識;分布式日志存儲模塊,采用分布式存儲文件系統實現大容量日志數據的快速讀取;Zookeeper注冊中心集群模塊,用來注冊或提供接收處理器實例、分布式日志存儲實例,通過監控各實例節點狀態改變確保注冊實例的可用性,同時達到服務實例的負載均衡效果。
【技術特征摘要】
1.一種基于分布式采集的日志分析系統,其特征在于,該系統包括日志文件收集應用模塊、日志接收應用集群模塊、分布式日志存儲模塊和Zookeeper注冊中心集群模塊;日志文件收集應用模塊,收集監視當前機器的組件日志文件,組件包括業務系統、web容器、redis服務,監測到日志文件有增量后通過過濾器對日志進行預處理,并從Zookeeper注冊中心集群模塊獲取接收處理器的可用實例發送到接收處理器;日志接收應用集群模塊,采用集群負載均衡方式,日志處理器實例以集群形式存在并注冊到Zookeeper注冊中心集群模塊,接收從收集應用模塊發動過來的日志數據,按照來源信息進行分類,通過注冊中心獲取存儲實例將數據持久化到存儲中,其中來源信息包括服務器標識和應用標識;分布式日志存儲模塊,采用分布式存儲文件系統實現大容量日志數據的快速讀取;Zookeeper注冊中心集群模塊,用來注冊或提供接收處理器實例、分布式日志存儲實例,通過監控各實例節點狀態改變確保注冊實例的可用性,同時達到服務實例的負載均衡效果。2.根據權利要求1所述的系統,其特征在于,當該系統數據量大時,通過增加節點的方式進行水平擴展,利用注冊中心組件保證各環節節點的健壯性。3.根據權利要求1所述的系統,其特征在于,提供接收...
【專利技術屬性】
技術研發人員:周宏江,廖小文,周恒,馬俊賢,
申請(專利權)人:廣東億迅科技有限公司,
類型:發明
國別省市:廣東;44
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。