統(tǒng)一日志系統(tǒng)中的日志獲取模塊與日志檢索模塊的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2020-11-16 03:18
隨著智能便攜設(shè)備的不斷普及以及網(wǎng)絡(luò)服務(wù)質(zhì)量的不斷提升,互聯(lián)網(wǎng)產(chǎn)品的用戶數(shù)量以及網(wǎng)絡(luò)流量與日俱增,應(yīng)用服務(wù)的高可用、高性能越來(lái)越被重視。日志作為記錄應(yīng)用程序運(yùn)行時(shí)信息的組件,在應(yīng)用程序的監(jiān)控、問(wèn)題排查、服務(wù)優(yōu)化等工作中發(fā)揮著不可替代的作用。美團(tuán)點(diǎn)評(píng)開發(fā)了統(tǒng)一日志系統(tǒng),旨在為公司的分布式應(yīng)用提供更好的日志服務(wù),系統(tǒng)以磁盤文件收集方式或socket收集方式獲取滿足格式規(guī)范的日志數(shù)據(jù),并將數(shù)據(jù)發(fā)送至本機(jī)代理,本機(jī)代理將原始日志按照日志類別發(fā)送到Kafka集群對(duì)應(yīng)的topic中。實(shí)時(shí)日志解析任務(wù)消費(fèi)Kafka中的原始日志并且對(duì)日志進(jìn)行解析,將原始文本格式的日志解析成JSON格式的數(shù)據(jù),提取出錯(cuò)誤日志并按照日志類別將錯(cuò)誤日志發(fā)送到Kafka集群中對(duì)應(yīng)的topic中,供異常監(jiān)控系統(tǒng)使用。同時(shí),日志傳輸作業(yè)會(huì)實(shí)時(shí)消費(fèi)Kafka中JSON格式的日志,并將數(shù)據(jù)發(fā)送到ElasticSearch集群中,按照索引分片策略對(duì)數(shù)據(jù)進(jìn)行分片存儲(chǔ)。ElasticSearch中存儲(chǔ)的數(shù)據(jù)可被用于Kibana的可視化展示以及日志中心的日志檢索。本論文的主要工作包括統(tǒng)一日志系統(tǒng)中的日志獲取(socket收集方式)模塊以及日志檢索模塊的設(shè)計(jì)與實(shí)現(xiàn)。其中,日志獲取模塊是利用Log4j2的插件化編程方式,實(shí)現(xiàn)了格式轉(zhuǎn)換插件MTDPPatternConverter、日志格式化插件LcLayout以及日志輸出插件ScribeAppender。同時(shí),為了能將數(shù)據(jù)發(fā)送至本機(jī)日志代理的Scribe服務(wù),日志獲取模塊還實(shí)現(xiàn)了 Scribe服務(wù)對(duì)應(yīng)的Thrift客戶端,用于數(shù)據(jù)傳輸。在ScribeAppender進(jìn)行日志輸出時(shí),首先對(duì)日志數(shù)據(jù)進(jìn)行格式化操作,然后使用Thrift客戶端將日志發(fā)送至下游Scribe服務(wù)器。日志檢索模塊的主要工作是對(duì)存儲(chǔ)于ElasticSearch中的日志進(jìn)行檢索,并對(duì)日志中心前端提供日志檢索的RESTful接口。日志檢索模塊包括service層與web層,service層調(diào)用ElasticSearch提供的數(shù)據(jù)操作的RESTful接口進(jìn)行數(shù)據(jù)檢索,并向web層提供服務(wù),web層對(duì)日志中心前端提供日志檢索服務(wù)。
【學(xué)位單位】:南京大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位年份】:2018
【中圖分類】:TP311.52
【文章目錄】:
摘要
Abstract
第一章 引言
1.1 項(xiàng)目背景
1.2 日志獲取和檢索的發(fā)展現(xiàn)狀
1.3 本文的主要內(nèi)容
1.4 本文的組織結(jié)構(gòu)
第二章 技術(shù)綜述
2.1 Log4j2
2.1.1 Log4j2簡(jiǎn)介
2.1.2 Log4j2的組件結(jié)構(gòu)
2.1.3 Log4j2的高級(jí)配置
2.2 RPC與Thrift框架
2.2.1 遠(yuǎn)程通信與RPC
2.2.2 Thrift框架
2.3 日志收集服務(wù)器Scribe
2.3.1 Scribe簡(jiǎn)介與架構(gòu)
2.3.2 Scribe的日志收集原理
2.4 ElasticSearch
2.4.1 Lucene與倒排索引
2.4.2 ElasticSearch架構(gòu)
2.4.3 ElasticSearch分片與存儲(chǔ)結(jié)構(gòu)
2.4.4 ElasticSearch索引與檢索
2.5 本章小結(jié)
第三章 日志獲取模塊與日志檢索模塊的需求與設(shè)計(jì)
3.1 統(tǒng)一日志系統(tǒng)整體架構(gòu)
3.2 需求分析
3.2.1 日志獲取的需求
3.2.2 日志檢索的需求
3.3 日志獲取模塊設(shè)計(jì)
3.3.1 日志數(shù)據(jù)的特點(diǎn)
3.3.2 日志獲取模塊設(shè)計(jì)
3.3.3 日志收集數(shù)據(jù)流
3.4 日志檢索模塊設(shè)計(jì)
3.4.1 日志檢索模塊整體設(shè)計(jì)
3.4.2 檢索條件與返回結(jié)果
3.4.3 線上、線下運(yùn)行環(huán)境隔離
3.5 本章小結(jié)
第四章 日志獲取模塊與日志檢索模塊的實(shí)現(xiàn)
4.1 日志獲取模塊的實(shí)現(xiàn)
4.1.1 日志格式轉(zhuǎn)換插件
4.1.2 日志格式化插件
4.1.3 日志輸出插件
4.1.4 Thrift客戶端
4.1.5 日志獲取主流程實(shí)現(xiàn)
4.2 日志檢索模塊的實(shí)現(xiàn)
4.2.1 日志檢索service層服務(wù)
4.2.2 日志檢索web層服務(wù)
4.2.3 環(huán)境隔離工具類
4.3 本章小結(jié)
第五章 總結(jié)與展望
5.1 總結(jié)
5.2 進(jìn)一步工作展望
參考文獻(xiàn)
致謝
【參考文獻(xiàn)】
本文編號(hào):2885558
【學(xué)位單位】:南京大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位年份】:2018
【中圖分類】:TP311.52
【文章目錄】:
摘要
Abstract
第一章 引言
1.1 項(xiàng)目背景
1.2 日志獲取和檢索的發(fā)展現(xiàn)狀
1.3 本文的主要內(nèi)容
1.4 本文的組織結(jié)構(gòu)
第二章 技術(shù)綜述
2.1 Log4j2
2.1.1 Log4j2簡(jiǎn)介
2.1.2 Log4j2的組件結(jié)構(gòu)
2.1.3 Log4j2的高級(jí)配置
2.2 RPC與Thrift框架
2.2.1 遠(yuǎn)程通信與RPC
2.2.2 Thrift框架
2.3 日志收集服務(wù)器Scribe
2.3.1 Scribe簡(jiǎn)介與架構(gòu)
2.3.2 Scribe的日志收集原理
2.4 ElasticSearch
2.4.1 Lucene與倒排索引
2.4.2 ElasticSearch架構(gòu)
2.4.3 ElasticSearch分片與存儲(chǔ)結(jié)構(gòu)
2.4.4 ElasticSearch索引與檢索
2.5 本章小結(jié)
第三章 日志獲取模塊與日志檢索模塊的需求與設(shè)計(jì)
3.1 統(tǒng)一日志系統(tǒng)整體架構(gòu)
3.2 需求分析
3.2.1 日志獲取的需求
3.2.2 日志檢索的需求
3.3 日志獲取模塊設(shè)計(jì)
3.3.1 日志數(shù)據(jù)的特點(diǎn)
3.3.2 日志獲取模塊設(shè)計(jì)
3.3.3 日志收集數(shù)據(jù)流
3.4 日志檢索模塊設(shè)計(jì)
3.4.1 日志檢索模塊整體設(shè)計(jì)
3.4.2 檢索條件與返回結(jié)果
3.4.3 線上、線下運(yùn)行環(huán)境隔離
3.5 本章小結(jié)
第四章 日志獲取模塊與日志檢索模塊的實(shí)現(xiàn)
4.1 日志獲取模塊的實(shí)現(xiàn)
4.1.1 日志格式轉(zhuǎn)換插件
4.1.2 日志格式化插件
4.1.3 日志輸出插件
4.1.4 Thrift客戶端
4.1.5 日志獲取主流程實(shí)現(xiàn)
4.2 日志檢索模塊的實(shí)現(xiàn)
4.2.1 日志檢索service層服務(wù)
4.2.2 日志檢索web層服務(wù)
4.2.3 環(huán)境隔離工具類
4.3 本章小結(jié)
第五章 總結(jié)與展望
5.1 總結(jié)
5.2 進(jìn)一步工作展望
參考文獻(xiàn)
致謝
【參考文獻(xiàn)】
相關(guān)期刊論文 前5條
1 王悅;;Hive日志分析的大數(shù)據(jù)存儲(chǔ)優(yōu)化探討[J];信息通信;2015年10期
2 周康;李覬;董科軍;南凱;;一種基于Thrift的日志收集分析系統(tǒng)[J];科研信息化技術(shù)與應(yīng)用;2015年02期
3 郝璇;;基于Apache Flume的分布式日志收集系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J];軟件導(dǎo)刊;2014年07期
4 白俊;郭賀彬;;基于ElasticSearch的大日志實(shí)時(shí)搜索的軟件集成方案研究[J];吉林師范大學(xué)學(xué)報(bào)(自然科學(xué)版);2014年01期
5 史志英;徐義晗;;一種基于Log4J的日志輸出組件的設(shè)計(jì)[J];信息技術(shù)與信息化;2008年01期
本文編號(hào):2885558
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2885558.html
最近更新
教材專著