CN109241187A - 基于Kafka消息队列的MongoDB日志采集和分析系统 - Google Patents

基于Kafka消息队列的MongoDB日志采集和分析系统 Download PDF

Info

Publication number
CN109241187A
CN109241187A CN201811015983.0A CN201811015983A CN109241187A CN 109241187 A CN109241187 A CN 109241187A CN 201811015983 A CN201811015983 A CN 201811015983A CN 109241187 A CN109241187 A CN 109241187A
Authority
CN
China
Prior art keywords
log
mongodb
message queue
analysis
kafka message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201811015983.0A
Other languages
English (en)
Inventor
焦玉乾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Gettop Acoustic Co Ltd
Original Assignee
Shandong Gettop Acoustic Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Gettop Acoustic Co Ltd filed Critical Shandong Gettop Acoustic Co Ltd
Priority to CN201811015983.0A priority Critical patent/CN109241187A/zh
Publication of CN109241187A publication Critical patent/CN109241187A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了基于Kafka消息队列的MongoDB日志采集和分析系统,该系统包括5部分:IT自研应用系统日志异步记录;Kafka消息队列日志收集;基于Java的消费者日志解析;基于MongoDB的日志数据存储;可视化日志分析系统;与现有技术相比,解决了高并发的日志记录对系统的负载影响;提高日志信息查询效率;解决高并发、高响应要求的IT应用系统的日志信息收集困难的问题;提高日志分析效率,避免去解析大量的日志文件;定期对数据进行清理,保证数据最新。

Description

基于Kafka消息队列的MongoDB日志采集和分析系统
技术领域
本发明涉及一种日志采集和分析系统,具体涉及一种基于Kafka消息队列的MongoDB日志采集和分析系统,属于信息收集和存储系统领域。
背景技术
目前典型的IT自研系统日志信息收集主要包括两种模式:第一是通过编写代码或者利用很多插件直接记录在TXT文本,然后直接开发基于TXT文本的日志查看分析工具,或者开发一个将TXT日志信息导入到数据库的转换工具,再开发一个日志分析网页。第二是直接利用很多开源插件将日志记录到数据库中,然后开发基于数据库的日志分析网页。两种方案目前使用都非常普及。但是对于高并发和请求交互响应比较高的IT系统,以上两种方案会有很多弊端,比如,日志量太多,每秒钟产生上百兆,记录在TXT太大,分析工具打开、加载和分析效率都很差,有些太大的TXT甚至打不开。日志记录到数据库,高并发会对数据库造成很大性能压力。
申请人中国银行股份有限公司于2017年10月19日申请了申请号为CN201710979063.X的发明专利,提供了一种数据统计系统,其特征是,所述系统包括信息采集装置、数据通道装置、数据处理装置以及数据存储装置,所述信息采集装置,用于监听一目标系统,当所述目标系统有交易时,采集所述交易,并将所述交易发送至所述数据通道装置;所述数据处理装置,用于当所述数据通道装置有交易写入时,取出所述交易,根据所述交易更新所述数据处理装置中的时间变量,并将所述交易进行统计计算,将统计结果持续写入数据存储装置。该发明申请的发明目的为提供一种数据统计方法、数据统计系统、计算机设备以及计算机可读存储介质,采用流式处理方式,及时取得消息中间件的交易,每秒统计交易量,及时写入临时存储介质及数据存储装置,由于在交易发生后的第一时间主动获取并返回交易,采用了分布式计算和存储思想,使数据处理速度、吞吐量、存取速度有了大幅提高,节省了时间。
上述方法公开了一种数据处理速度快、吞吐量打、存取速度快的数据统计系统。
发明内容
本发明要解决的技术问题是针对以上不足,提供基于Kafka消息队列的MongoDB日志采集和分析系统,以实现以下发明目的:
1、解决高并发的日志记录对系统的负载影响。
2、提高日志信息查询效率。
3、解决高并发、高响应要求的IT应用系统的日志信息收集困难的问题。
4、提高日志分析效率,避免去解析大量的日志文件。
5、对数据进行定期清理,保证数据最新。
为解决以上技术问题,本发明采用以下技术方案:
基于Kafka消息队列的MongoDB日志采集和分析系统,该系统包括:IT自研应用系统日志异步记录。
进一步的方案:所述IT自研应用系统采用.NET自带的Nlog日志记录插件,采用异步记录的配置方式,日志数据源自定义为Kafka消息队列。
进一步的方案:该系统包括:Kafka消息队列日志收集系统,IT自研应用系统会异步将日志信息全部丢进Kafka队里内,进行离线存储。
进一步的方案:该系统包括:基于Java的消费者日志解析系统,开发基于Java的消费者线程功能。
进一步的方案:该系统包括:基于Java的消费者线程功能用于查找Kafka的日志数据。
进一步的方案:该系统包括:将查找后的日志数据逐条读取;对Kafka队列里的消息内容进行循环遍历解析,将日志数据写入MongoDB数据库。
进一步的方案:该系统包括:基于MongoDB的日志数据存储系统,针对IT自研应用系统日志异步记录,制定MongoDB日志模型,自动收集消费者解析的日志信息,并可设置间隔时间的定期清空历史数据,防止数据库无限制占用空间。
进一步的方案:该系统包括:可视化日志分析系统,利用Highchart和MongoDB C#开发驱动,建立IT自研应用系统日志分析页面,通过该系统分析耗时较长的应用请求,以定位系统性能问题;应用请求在一段时间内的疏密程度,以定位系统在一段时间内的繁忙程度;应用客户端访问系统各个端口的请求负载,可视化呈现多端口IT应用系统每个端口的繁忙程度;进行系统负载调控。
进一步的方案:所述系统包括依次设置的5个步骤:IT自研应用系统日志异步记录、Kafka消息队列日志收集、基于Java的消费者日志解析、基于MongoDB的日志数据存储、可视化日志分析系统。
本发明采用以上技术方案后,与现有技术相比,具有以下优点:
1、将应用系统的日志以异步的方式写入Kafka分布式队列,避免了高并发大量日志写入导致系统负载下降的问题,提高了磁盘IO、 CPU利用率。
2、日志信息查询效率大大提高。
3、避免了传统记录TXT文本和数据库的方式带来的日志打开、日志分析效率低下。
4、采用MongoDB对象数据库进行日志存储和日志分析,充分利用MongoDB的对象数据库的特点和高性能检索查询的优点,进一步提升了日志分析的效率和可视化友好性。
5、具备定期清理的功能,保证数据最新。
下面结合附图和实施例对本发明进行详细说明。
附图说明
图1是本发明程序框图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式。
实施例1基于Kafka消息队列的MongoDB日志采集和分析系统
本发明提供基于Kafka消息队列的MongoDB日志采集和分析系统,该系统包括5个步骤:IT自研应用系统日志异步记录;Kafka消息队列日志收集;基于Java的消费者日志解析;基于MongoDB的日志数据存储;可视化日志分析系统。
(1)IT自研应用系统日志异步记录:
IT自研应用系统采用.NET自带的Nlog日志记录插件,为避免对应用系统的影响采用异步记录的配置方式,日志数据源自定义为Kafka消息队列。
(2)Kafka消息队列日志收集:
搭建Kafka消息队列日志收集系统,IT自研应用系统会异步将日志信息全部丢进Kafka队里内,进行离线存储。
(3)基于Java的消费者日志解析:
开发基于Java的消费者线程功能,基于Java的消费者线程功能用于查找Kafka的日志数据,将查找后的日志数据逐条读取;对Kafka队列里的消息内容进行循环遍历解析,将日志数据写入MongoDB数据库。
(4)基于MongoDB的日志数据存储:
针对IT自研应用系统具体日志信息,制定MongoDB日志模型,自动收集消费者解析的日志信息,并可设置间隔时间的定期清空历史数据,防止数据库无限制占用空间。
(5)可视化日志分析系统:
利用Highchart和MongoDB C#开发驱动,建立IT自研应用系统日志分析页面,通过该系统分析耗时较长的应用请求,以定位系统性能问题;
应用请求在一段时间内的疏密程度,以定位系统在一段时间内的繁忙程度;
应用客户端访问系统各个端口的请求负载,可视化呈现多端口IT应用系统每个端口的繁忙程度;
进行系统负载调控。
应用系统的日志以异步的方式写入Kafka分布式队列,避免了传统记录TXT文本和数据库的方式带来的日志打开、日志分析效率低下,及高并发大量日志写入导致系统负载下降的问题,提高了磁盘IO、 CPU利用率。
采用MongoDB对象数据库进行日志存储和日志分析,充分利用MongoDB的对象数据库的特点和高性能检索查询的优点,进一步提升了日志分析的效率和可视化友好性。
适用的IT应用系统主要包括企业自主研发的系统,如ERP、MES、EHR、OA、BPM等,这些系统在企业自研过程中会记录大量后台应用请求日志信息。
以上所述为本发明最佳实施方式的举例,其中未详细述及的部分均为本领域普通技术人员的公知常识。本发明的保护范围以权利要求的内容为准,任何基于本发明的技术启示而进行的等效变换,也在本发明的保护范围之内。

Claims (9)

1.基于Kafka消息队列的MongoDB日志采集和分析系统,其特征在于:该系统包括:IT自研应用系统日志异步记录。
2.根据权利要求1所述的Kafka消息队列的MongoDB日志采集和分析系统,其特征在于:所述IT自研应用系统采用.NET自带的Nlog日志记录插件,采用异步记录的配置方式,日志数据源自定义为Kafka消息队列。
3.根据权利要求1所述的Kafka消息队列的MongoDB日志采集和分析系统,其特征在于:该系统包括:Kafka消息队列日志收集系统,IT自研应用系统会异步将日志信息全部丢进Kafka队里内,进行离线存储。
4.根据权利要求1所述的Kafka消息队列的MongoDB日志采集和分析系统,其特征在于:该系统包括:基于Java的消费者日志解析系统,开发基于Java的消费者线程功能。
5.根据权利要求1所述的Kafka消息队列的MongoDB日志采集和分析系统,其特征在于:该系统包括:基于Java的消费者线程功能用于查找Kafka的日志数据。
6.根据权利要求1所述的Kafka消息队列的MongoDB日志采集和分析系统,其特征在于:该系统包括:将查找后的日志数据逐条读取;对Kafka队列里的消息内容进行循环遍历解析,将日志数据写入MongoDB数据库。
7.根据权利要求1所述的Kafka消息队列的MongoDB日志采集和分析系统,其特征在于:该系统包括:基于MongoDB的日志数据存储系统,针对IT自研应用系统日志异步记录,制定MongoDB日志模型,自动收集消费者解析的日志信息,并可设置间隔时间的定期清空历史数据,防止数据库无限制占用空间。
8.根据权利要求1所述的Kafka消息队列的MongoDB日志采集和分析系统,其特征在于:该系统包括:可视化日志分析系统,利用Highchart和MongoDB C#开发驱动,建立IT自研应用系统日志分析页面,通过该系统分析耗时较长的应用请求,以定位系统性能问题;应用请求在一段时间内的疏密程度,以定位系统在一段时间内的繁忙程度;应用客户端访问系统各个端口的请求负载,可视化呈现多端口IT应用系统每个端口的繁忙程度;进行系统负载调控。
9.根据权利要求1所述的Kafka消息队列的MongoDB日志采集和分析系统,其特征在于:所述系统包括依次设置的5个步骤:IT自研应用系统日志异步记录、Kafka消息队列日志收集、基于Java的消费者日志解析、基于MongoDB的日志数据存储、可视化日志分析系统。
CN201811015983.0A 2018-09-01 2018-09-01 基于Kafka消息队列的MongoDB日志采集和分析系统 Withdrawn CN109241187A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811015983.0A CN109241187A (zh) 2018-09-01 2018-09-01 基于Kafka消息队列的MongoDB日志采集和分析系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811015983.0A CN109241187A (zh) 2018-09-01 2018-09-01 基于Kafka消息队列的MongoDB日志采集和分析系统

Publications (1)

Publication Number Publication Date
CN109241187A true CN109241187A (zh) 2019-01-18

Family

ID=65060034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811015983.0A Withdrawn CN109241187A (zh) 2018-09-01 2018-09-01 基于Kafka消息队列的MongoDB日志采集和分析系统

Country Status (1)

Country Link
CN (1) CN109241187A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110262951A (zh) * 2019-06-10 2019-09-20 天翼电子商务有限公司 一种业务秒级监控方法及系统、存储介质及客户端
CN110611592A (zh) * 2019-09-20 2019-12-24 中国联合网络通信集团有限公司 日志记录方法及设备
CN111008244A (zh) * 2019-11-22 2020-04-14 厦门安胜网络科技有限公司 一种用于数据库的同步和分析方法及系统
CN112286962A (zh) * 2020-10-26 2021-01-29 积成电子股份有限公司 一种用电信息采集终端抄表成功率统计方法与系统
CN112487087A (zh) * 2020-11-17 2021-03-12 中国人寿保险股份有限公司 一种增量数据实时同步的方法及相关设备

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110262951A (zh) * 2019-06-10 2019-09-20 天翼电子商务有限公司 一种业务秒级监控方法及系统、存储介质及客户端
CN110611592A (zh) * 2019-09-20 2019-12-24 中国联合网络通信集团有限公司 日志记录方法及设备
CN110611592B (zh) * 2019-09-20 2023-04-07 中国联合网络通信集团有限公司 日志记录方法及设备
CN111008244A (zh) * 2019-11-22 2020-04-14 厦门安胜网络科技有限公司 一种用于数据库的同步和分析方法及系统
CN112286962A (zh) * 2020-10-26 2021-01-29 积成电子股份有限公司 一种用电信息采集终端抄表成功率统计方法与系统
CN112286962B (zh) * 2020-10-26 2023-06-02 积成电子股份有限公司 一种用电信息采集终端抄表成功率统计方法与系统
CN112487087A (zh) * 2020-11-17 2021-03-12 中国人寿保险股份有限公司 一种增量数据实时同步的方法及相关设备

Similar Documents

Publication Publication Date Title
CN109241187A (zh) 基于Kafka消息队列的MongoDB日志采集和分析系统
AU2017202873B2 (en) Efficient query processing using histograms in a columnar database
CN110175154A (zh) 一种日志记录的处理方法、服务器及存储介质
US7908239B2 (en) System for storing event data using a sum calculator that sums the cubes and squares of events
CN103853766B (zh) 一种面向流式数据的在线处理方法及系统
CN105468492A (zh) 一种基于搜索引擎的数据监控方法和系统
Jain et al. Refreshing datawarehouse in near real-time
CN104765689A (zh) 一种接口性能数据实时监制方法和装置
CN110399377A (zh) Sql的优化方法、装置、电子设备及计算机可读存储介质
WO2023202497A1 (zh) 用于全链路追踪事务的方法及原生分布式数据库
CN107070897B (zh) 入侵检测系统中基于多属性哈希去重的网络日志存储方法
CN107977167A (zh) 一种基于纠删码的分布式存储系统的退化读优化方法
CN110046188A (zh) 业务处理方法及其系统
CN109446167A (zh) 一种日志数据存储、提取方法及装置
US20120143928A1 (en) File system transaction log flush optimization
CN114971714A (zh) 一种基于大数据标签的精准客户运营方法和计算机设备
CN109189724B (zh) 提高视频监控系统音视频数据存储效率的方法及装置
CN109614380A (zh) 日志处理方法、系统、计算机设备及可读介质
CN103902739B (zh) 数据库集群服务器数据分类方法
CN107480189A (zh) 一种多维度实时分析系统及方法
Blamey et al. Adapting the secretary hiring problem for optimal hot-cold tier placement under top-K workloads
CN114860780A (zh) 一种数据仓库、数据处理系统及计算机装置
CN112446490A (zh) 一种网络训练的数据集缓存方法、装置、设备及存储介质
CN107766216A (zh) 一种用于获取应用执行信息的方法与设备
CN107465574B (zh) 互联网网站群平台系统及其并行隔离流式计算方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20190118

WW01 Invention patent application withdrawn after publication