[發明專利]一種分布式日志采集方法及裝置在審
| 申請號: | 201610063824.2 | 申請日: | 2016-01-29 |
| 公開(公告)號: | CN107025222A | 公開(公告)日: | 2017-08-08 |
| 發明(設計)人: | 姚遠;王宇博;郝新斌 | 申請(專利權)人: | 五八同城信息技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;H04L12/24 |
| 代理公司: | 工業和信息化部電子專利中心11010 | 代理人: | 羅丹 |
| 地址: | 300457 天津市濱海新區第一*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 日志 采集 方法 裝置 | ||
技術領域
本發明涉及日志系統技術領域,尤其涉及一種分布式日志采集方法及裝置。
背景技術
當前,互聯網公司提供的服務都是基于復雜的大規模分布式的業務系統集群來實現的,即一個服務構建于不同的業務系統集群之上,一個前端請求會調用多個不同的后端業務,調用方式多種多樣,比如:遠程過程調用、數據庫、分布式緩存、分布式文件系統等。這些后端業務系統集群可能是由不同的團隊來開發的,也可能是使用不同的編程語言來實現的,可能分布在多個服務器之上,也可能橫跨多個不同的數據中心。隨著公司業務的不斷拓展,業務需求只會越來越多,后端業務邏輯將會越來越復雜,開發人員將會遇到越來越多的系統問題、業務耦合問題以及性能問題,比如:上線了新的服務,如何確定它一切正常,比如發布5臺服務器,如何直觀了解是否有請求進來,訪問是否正常,是否每臺服務器都可以正常提供服務;某個核心服務出現故障,導致大量報錯,如何快速定位到出現故障的服務;前端請求響應慢,如何確定是哪些服務導致的,哪個環節的性能遇到瓶頸;應用程序出現性能瓶頸,如何確定瓶頸在哪里;開發人員離職,接手業務的開發人員如何快速的上手業務,快速的理清業務邏輯之間的調用關系。
解決這類問題需要占用多個不同業務線開發人員的大量時間與精力,并且未必能夠快速的有效的解決問題。在這種情況下,需要一些可以幫助開發人員理解業務邏輯、快速定位問題的日志數據供用戶參考。
發明內容
本發明要解決的技術問題是,提供一種分布式日志采集方法及裝置,及時從大規模業務系統集群的工作過程中采集到一些能夠反映業務邏輯的日志數據。
本發明采用的技術方案是,所述分布式日志采集方法,在客戶端側執行的流程包括:
步驟1,當客戶端中有業務系統基于請求調用所述業務系統對應的中間件時,通過中間件中預設的埋點采集與所述業務系統調用有關的數據,并將采集到的所述數據連同中間件運行時間數據一并填充入日志數據;
步驟2,將所述日志數據發送給日志收集服務器進行統一存儲。
進一步的,所述方法在客戶端側執行的流程,還包括:
在所述步驟1之前,按照預先設定的采樣率從所述業務系統接收到的所有的所述請求中選擇相應數量的請求,針對選擇出的請求執行所述步驟1。
進一步的,所述步驟2包括:
按照設定的通信方式將所述日志數據發送給日志收集代理模塊,再通過日志收集代理模塊發送給日志收集服務器進行統一存儲;
所述設定的通信方式,包括:套接字方式、共享內存方式或者管道方式。
進一步的,所述按照設定的通信方式將所述日志數據發送給日志收集代理模塊,包括:
將所述日志數據放入到多個第一異步隊列并從中輪詢選出日志數據按照設定的通信方式發送給所述日志收集代理模塊。
進一步的,在所述日志收集服務器的數量為一個的情況下,所述通過日志收集代理模塊發送給日志收集服務器進行統一存儲,包括:
日志收集代理模塊將所述日志數據放入到多個第二異步隊列并從中輪詢選出日志數據;再將每次選出的日志數據發送給所述日志收集服務器,以使所述日志收集服務器將接收到的日志數據進行兼容性處理后統一保存到數據庫中;
在所述日志收集服務器的數量為兩個以上的情況下:
所述通過日志收集代理模塊發送給日志收集服務器進行統一存儲,包括:
日志收集代理模塊一方面獲取日志收集服務器列表并從中輪詢選擇每次發送所對應接收的日志收集服務器,另一方面將所述日志數據放入到多個第二異步隊列并從中輪詢選出日志數據;再將每次選出的日志數據發送給對應接收的日志收集服務器,以使各日志收集服務器將接收到的日志數據進行兼容性處理后統一保存到數據庫中。
進一步的,在客戶端的數量為兩個以上的情況下:
為中間件設置采集開關;當所述采集開關開啟時,允許通過中間件中預設的埋點執行所述步驟1;和/或,
為日志收集代理模塊設置發送開關;當所述發送開關開啟時,允許通過日志收集代理模塊將所述日志數據發送給日志收集服務器進行統一存儲。
進一步的,所述與業務系統調用有關的數據,包括:業務系統的名稱、類型、全局唯一標識ID、全局唯一順序ID、當前的系統時間、調用方業務系統的IP地址及端口、和被調用方業務系統的IP地址及端口;
所述中間件運行時間數據,至少包括以下之一:中間件的全程運行時長、中間件的設定階段的運行時長。
本發明還提供一種分布式日志采集裝置,設置于客戶端側,所述裝置包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于五八同城信息技術有限公司,未經五八同城信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610063824.2/2.html,轉載請聲明來源鉆瓜專利網。





