CN111427736A - 日志监控方法、装置、设备及计算机可读存储介质 - Google Patents

日志监控方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN111427736A
CN111427736A CN201910018067.0A CN201910018067A CN111427736A CN 111427736 A CN111427736 A CN 111427736A CN 201910018067 A CN201910018067 A CN 201910018067A CN 111427736 A CN111427736 A CN 111427736A
Authority
CN
China
Prior art keywords
service
tracking identifier
log
database
identifier
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.)
Granted
Application number
CN201910018067.0A
Other languages
English (en)
Other versions
CN111427736B (zh
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.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development 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 Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN201910018067.0A priority Critical patent/CN111427736B/zh
Publication of CN111427736A publication Critical patent/CN111427736A/zh
Application granted granted Critical
Publication of CN111427736B publication Critical patent/CN111427736B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种日志监控方法、装置、设备及计算机可读存储介质,方法包括:针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,所述业务追踪标识用于唯一标识所述业务;在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志;将所述业务日志与所述业务追踪标识关联存储至预设的数据库中。从而能够在无需入侵业务代码的基础上,实现业务日志与数据库日志的关联,从而能够通过业务操作正向查询数据的改动,也能够通过数据变化反向定位业务日志。

Description

日志监控方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及数据处理领域,尤其涉及一种日志监控方法、装置、设备及计算机可读存储介质。
背景技术
现有的日志监控系统一般分为业务日志和数据库日志两种实现,二者相互独立,很难协作。业务日志的一般实现是通过追踪信息如链路追踪全局ID(简称traceId)等对同一个操作(一个行为引发的一系列操作)进行关联。数据库日志会监控dbproxy、数据库慢查询日志(设置慢查询时间为0,记录所有日志)或类似实现以及binlog等来记录日志的变化。但是二者很难天然的找到一个纽带进行关联,所以很难发现某一个数据的改动是由于哪次操作所造成的,对于问题的排查造成很大的困难。
现有技术中一般都是对同一个操作的业务日志进行关联。但是,采用上述方法往往无法将业务日志与数据库日志进行关联,因此,无法通过业务操作正向查询数据改动,同时也无法通过数据变化反向定位业务日志,此外,还需要入侵业务代码或者使用特殊定制的框架。
发明内容
本发明提供一种日志监控方法、装置、设备及计算机可读存储介质,用于解决现有技术中对同一个操作的业务日志进行关联导致无法通过业务操作正向查询数据改动,同时也无法通过数据变化反向定位业务日志的技术问题。
本发明的第一个方面是提供一种日志监控方法,包括:
针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,所述业务追踪标识用于唯一标识所述业务;
在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志;
将所述业务日志与所述业务追踪标识关联存储至预设的数据库中。
本发明的另一个方面是提供一种日志监控装置,包括:
添加模块,用于针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,所述业务追踪标识用于唯一标识所述业务;
获取模块,用于在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志;
存储模块,用于将所述业务日志与所述业务追踪标识关联存储至预设的数据库中。
本发明的又一个方面是提供一种日志监控设备,包括:存储器,处理器;
存储器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为有所出处理器执行如上述的日志监控方法。
本发明的又一个方面是提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述的日志监控方法。
本发明提供的日志监控方法、装置、设备及计算机可读存储介质,通过针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,所述业务追踪标识用于唯一标识所述业务;在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志;将所述业务日志与所述业务追踪标识关联存储至预设的数据库中。从而能够在无需入侵业务代码的基础上,实现业务日志与数据库日志的关联,从而能够通过业务操作正向查询数据的改动,也能够通过数据变化反向定位业务日志。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明基于的网络架构示意图;
图2为本发明实施例一提供的日志监控方法的流程图;
图3为本发明实施例二提供的日志监控方法的流程示意图;
图4为本发明实施例三提供的日志监控方法的流程示意图;
图5为本发明实施例四提供的日志监控方法的流程示意图;
图6为本发明实施例五提供的日志监控装置的结构示意图;
图7为本发明实施例六提供的日志监控设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中一般都是对同一个操作的业务日志进行关联。但是,采用上述方法往往无法将业务日志与数据库日志进行关联,因此,无法通过业务操作正向查询数据改动,同时也无法通过数据变化反向定位业务日志,此外,还需要入侵业务代码或者使用特殊定制的框架。为了解决上述技术问题,本发明提供了一种日志监控方法、装置、设备及计算机可读存储介质。
需要说明的是,本申请提供日志监控方法、装置、设备及计算机可读存储介质可运用在对任意一种业务日志的监控的场景中。
图1为本发明基于的网络架构示意图,如图1所示,本发明基于的网络架构至少包括:日志监控装置1、业务平台2以及数据库3。其中,日志监控装置可以由软件和/或硬件实现,当其采用软件实现时,可以采用Java、C/C++、Shell或Python等语言编写;其中,业务平台2可以为实现任意一种任务的业务平台;数据库3则可为云端服务器或服务器集群,其内存储有大量的数据。日志监控装置1分别可以与业务平台2以及数据库进行通信,实现数据交互。
图2为本发明实施例一提供的日志监控方法的流程图,在上述任一实施例的基础上,如图2所示,所述方法包括:
步骤201、针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,所述业务追踪标识用于唯一标识所述业务。
本实施例的执行主体为日志监控装置,具体地,日志监控装置可以与业务平台进行通信,实现数据交互,其中日志监控装置可以为设置在业务平台中的插件,实现对该业务平台的日志监控,也可以为一个独立的装置,实现对业务平台日志的监控,本发明在此不做限制。由于业务平台中往往都进行着多项业务,为了实现对每一项任务的监控,可以选择在业务中携带预设的业务追踪标识,其中,业务追踪标识可以为Traceid。具体地,针对每一项任务,为了完整的获取到业务对应的业务日志,可以在业务开始的时候,在业务中添加预设的业务追踪标识,该业务追踪标识用于唯一标识该业务。从而该业务追踪标识能够一直在业务进行的过程中对该业务进行追踪。
步骤202、在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志。
在本实施方式中,在业务开始时,在业务中添加预设的业务追踪标识之后,可以在业务结束时,根据业务追踪标识获得该业务从开始到结束完整的业务日志。需要说明的是,通过在业务中添加预设的业务追踪标识,能够在无需入侵业务代码的基础上,实现对业务日志的获取。
步骤203、将所述业务日志与所述业务追踪标识关联存储至预设的数据库中。
在本实施方式中,根据业务追踪标识获取到业务从开始到结束的全部业务日志之后,可以将业务日志与业务追踪标识关联存储至数据库中,从而能够实现业务日志与数据库日志的关联。举例来说,业务发起后就将业务日志中添加了业务追踪标识,并将该业务追踪标识最终落地到数据库中,这样数据库日志与业务日志就进行了有效的关联,并将日志进行统一存储,将业务日志和数据库日志进行关联,以及业务追踪标识落库的过程由日志监控装置自动完成,不入侵业务代码。
本实施例提供的日志监控方法,通过针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,所述业务追踪标识用于唯一标识所述业务;在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志;将所述业务日志与所述业务追踪标识关联存储至预设的数据库中。从而能够在无需入侵业务代码的基础上,实现业务日志与数据库日志的关联,从而能够通过业务操作正向查询数据的改动,也能够通过数据变化反向定位业务日志。
图3为本发明实施例二提供的日志监控方法的流程示意图,在上述任一实施例的基础上,如图3所示,所述方法包括:
步骤301、在所述业务开始时,获取所述业务追踪标识,并将所述业务追踪标识添加至线性局部变量中;
步骤302、通过Spring事务管理器判断所述业务的业务类型,所述业务类型包括只读与可写;
步骤303、若判定所述业务类型为可写类型,则从所述线性局部变量中读取所述业务追踪标识,在所述业务中添加预设的业务追踪标识;
步骤304、在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志;
步骤305、将所述业务日志与所述业务追踪标识关联存储至预设的数据库中。
在本实施例中,具体地,可以通过Spring事务管理器实现对业务追踪标识的添加。具体地,可以在业务开始时,在入口层获取业务追踪标识。具体地,可以为在入口层读取预设的业务追踪标识,也可以为生成业务追踪标识,本发明在此不做限制。将该业务追踪标识添加至线形局部变量(Thread Local)中,然后通过Spring事务管理器确定该业务的业务类型,其中,业务类型包括只读类型或者可写类型,并根据判断结果采取相应的操作。具体地,若检测到该业务为可写,则从线性局部变量中读取业务追踪标识并写入至写入到traceinfo表中,在业务中添加预设的业务追踪标识。从而无需对业务代码进行入侵。
本实施例提供的日志监控方法,通过在所述业务开始时,获取所述业务追踪标识,并将所述业务追踪标识添加至线性局部变量中;通过Spring事务管理器判断所述业务的业务类型,所述业务类型包括只读与可写;若判定所述业务类型为可写类型,则从所述线性局部变量中读取所述业务追踪标识,在所述业务中添加预设的业务追踪标识,从而能够自动实现将业务追踪标识添加至业务中,进而为后续的业务日志与数据库日志的关联提供了基础。
相应地,在上述任一实施例的基础上,所述方法包括:
针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,所述业务追踪标识用于唯一标识所述业务;
监听所述业务对应的二进制数据;
在所述业务结束时,利用所述二进制数据的有序性,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志;
将所述业务日志与所述业务追踪标识关联存储至预设的数据库中。
在本实施例中,通过Spring事务管理器进行业务追踪标识的插入之后,可以通过监听二进制数据(binlog)实现对业务日志的提取。具体地,针对每一任务,在任务中添加预设的任务追踪标识之后,可以监听业务对应的二进制数据,在业务结束时,利用二进制数据的有序性,根据业务追踪标识获取该业务从开始到结束的全部业务日志。此外,由于二进制数据中带有操作前后的值,因此,将通过监听二进制数据获得的业务日志存储至数据库中既能够实现对业务发生前后的字段的存储,进而能够根据业务发生前后的字段以及该业务追踪标识实现数据库日志的检索,能够通过业务操作正向查询数据的改动,也能够通过数据变化反向定位业务日志。
本实施例提供的日志监控方法,通过监听所述业务对应的二进制数据;在所述业务结束时,利用所述二进制数据的有序性,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志,从而能够实现对业务日志的获取,进而能够根据业务发生前后的字段以及该业务追踪标识实现数据库日志的检索,能够通过业务操作正向查询数据的改动,也能够通过数据变化反向定位业务日志。
图4为本发明实施例三提供的日志监控方法的流程示意图,在上述任一实施例的基础上,如图4所示,所述方法包括:
步骤401、在所述业务开始时,通过扩展JDBC驱动为各结构化语句中添加包含所述业务追踪标识的注释信息;
步骤402、在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志;
步骤403、将所述业务日志与所述业务追踪标识关联存储至预设的数据库中。
在本实施例中,为了实现将业务追踪标识添加至业务中,可以选择在业务开始时,通过扩展JDBC驱动为各结构化语句中添加包含业务追踪标识的注释信息。可以理解的是,由于通过在结构化语句中添加注释的方式实现对业务追踪标识的添加,因此,无需对业务代码进行入侵,此外,通过增加注释,后续能够实现根据注释的业务数据的获取,且对数据库中的数据不会进行改动。
本实施例提供的日志监控方法,通过在所述业务开始时,通过扩展JDBC驱动为各结构化语句中添加包含所述业务追踪标识的注释信息,从而能够在不对业务代码入侵的基础上,实现对业务追踪标识的添加,进而为后续的业务日志与数据库日志的关联提供了基础。
可选地,在上述任一实施例的基础上,所述方法包括:
在所述业务开始时,通过Java Agent技术拦截JDBC驱动,在待发送至所述数据库中的结构化语句中添加包含所述业务追踪标识的注释信息;
在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志;
将所述业务日志与所述业务追踪标识关联存储至预设的数据库中。
在本实施例中,为了实现将业务追踪标识添加至业务中,可以选择在业务开始时,通过Java Agent技术拦截JDBC驱动,在待发送至数据库中的结构化语句中添加包含业务追踪标识的注释信息。可以理解的是,由于通过在结构化语句中添加注释的方式实现对业务追踪标识的添加,因此,无需对业务代码进行入侵,此外,通过增加注释,后续能够实现根据注释的业务数据的获取,且对数据库中的数据不会进行改动。
本实施例提供的日志监控方法,通过在所述业务开始时,通过Java Agent技术拦截JDBC驱动,在待发送至所述数据库中的结构化语句中添加包含所述业务追踪标识的注释信息,从而能够在不对业务代码入侵的基础上,实现对业务追踪标识的添加,进而为后续的业务日志与数据库日志的关联提供了基础。
进一步地,在上述任一实施例的基础上,所述方法包括:
针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,所述业务追踪标识用于唯一标识所述业务;
在所述业务结束时,通过数据库慢查询日志设置,获取在所述数据库操作的结构化语句;
解析所述在所述数据库操作的结构化语句,根据所述业务追踪标识获得所述业务从开始到结束的全部业务日志;
将所述业务日志与所述业务追踪标识关联存储至预设的数据库中。
在本实施例中,若前期通过为结构化语句添加注释的方式添加业务追踪标识,则可以通过解析结构化语句的方式实现对业务日志的获取。具体地,针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识之后,可以在业务结束时,通过数据库慢查询日志设置,获取在数据库操作的结构化语句,根据注释中的业务追踪标识实现对从业务开始到结束的全部日志的获取。
本实施例提供的日志监控方法,通过在所述业务结束时,通过数据库慢查询日志设置,获取在所述数据库操作的结构化语句;解析所述在所述数据库操作的结构化语句,根据所述业务追踪标识获得所述业务从开始到结束的全部业务日志,从而能够实现对业务日志的获取,进而能够为根据业务发生前后的字段以及该业务追踪标识实现数据库日志的检索,通过业务操作正向查询数据的改动,通过数据变化反向定位业务日志提供基础。
进一步地,在上述任一实施例的基础上,所述方法包括:
针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,所述业务追踪标识用于唯一标识所述业务;
在所述业务结束时,通过数据库慢查询日志设置,获取在所述数据库操作的结构化语句;
解析所述在所述数据库操作的结构化语句,根据所述业务追踪标识获得所述业务从开始到结束的全部业务日志;
确定所述业务开始前数据库的第一字段值;
根据所述业务日志以及所述第一字段值确定所述业务结束后的第二字段值;
将所述第一字段值、第二字段值以及所述业务追踪标识关联存储至预设的数据库中。
在本实施例中,由于通过解析结构化语句的方式获取到的业务日志只有业务开始到结束的部分,因此,在将该业务日志存储至数据库之前,需要确定数据库中当前的第一字段值,并根据第一字段值以及业务日志一同确定数据库中业务结束后的第二字段值,并将第一字段值,第二字段值以及业务追踪标识一同存储至数据库中。由于数据库中存储了操作前后的第一字段值以及第二字段值,因此能够根据业务发生前后的字段以及该业务追踪标识实现数据库日志的检索,能够通过业务操作正向查询数据的改动,也能够通过数据变化反向定位业务日志。
本实施例提供的日志监控方法,通过确定所述业务开始前数据库的第一字段值;根据所述业务日志以及所述第一字段值确定所述业务结束后的第二字段值;将所述第一字段值、第二字段值以及所述业务追踪标识关联存储至预设的数据库中。从而能够为根据业务发生前后的字段以及该业务追踪标识实现数据库日志的检索,通过业务操作正向查询数据的改动,通过数据变化反向定位业务日志提供基础。
进一步地,在上述任一实施例的基础上,所述方法包括:
针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,所述业务追踪标识用于唯一标识所述业务;
在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志;
将所述业务日志以及所述业务追踪标识关联存储至ES中;和/或,
将热点业务日志以及所述业务追踪标识关联存储至ES中,将各业务的全部业务日志存储至HBase中。
在本实施例中,根据业务追踪标识实现对业务日志的获取之后,可以将业务日志与业务追踪标识一同存储至数据库中。作为一种可以实施的方式,可以直接选择ES进行存储,具体地,可以直接将业务日志与业务追踪标识关联存储至ES中。需要说明的是,ES的特点是天然支持各种条件组合的快速搜索,比如查询某一条数据修改过程,分别是哪几个业务追踪标识触发的修改;根据具体的业务追踪标识查询出具体改动哪些数据。作为另一种可以实施的方式,可以通过ES与HBase结合存储的方式实现对业务日志与业务追踪标识的存储。具体地,可以将热点业务日志存储至ES中,并将全部的业务日志都存储至HBase进行备份。每隔一段时间就重建ES索引。查询最近的日志,可以直接通过ES进行查询,当需要查询较为久远的日志(ES没有存储的数据),可以在HBase运行离线任务获取。
本实施例提供的日志监控方法,通过将所述业务日志以及所述业务追踪标识关联存储至ES中;和/或,将热点业务日志以及所述业务追踪标识关联存储至ES中,将各业务的全部业务日志存储至HBase中,从而能够在实现对业务日志与业务追踪标识的存储的基础上,支持对业务日志的快速查询。
图5为本发明实施例四提供的日志监控方法的流程示意图,在上述任一实施例的基础上,如图5所示,所述方法包括:
步骤501、针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,所述业务追踪标识用于唯一标识所述业务;
步骤502、在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志;
步骤503、将所述业务日志与所述业务追踪标识关联存储至预设的数据库中;
步骤504、接收用户的查询请求,所述查询请求中包括所述业务追踪标识;
步骤505、根据所述业务追踪标识在所述数据库中查询与所述业务追踪标识对应的所述业务日志。
在本实施例中,在业务开始时,在业务中添加业务追踪标识,并在业务结束时,根据该业务追踪标识获取全部业务日志并存储之后,可以根据与业务日志关联的业务追踪标识实现对数据库中业务数据的查询。具体地,可以接收用户发送的查询请求,该查询请求中包括待查询的业务追踪标识,根据该业务追踪标识从数据库中获取与该业务追踪标识对应的业务日志。从而可以根据该业务日志进行业务操作正向查询数据的改动,通过数据变化反向定位业务日志的操作。
本实施例提供的日志监控方法,通过接收用户的查询请求,所述查询请求中包括所述业务追踪标识;根据所述业务追踪标识在所述数据库中查询与所述业务追踪标识对应的所述业务日志。从而可以根据该业务日志进行业务操作正向查询数据的改动,通过数据变化反向定位业务日志的操作。
进一步地,在上述任一实施例的基础上,所述方法包括:
针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,所述业务追踪标识用于唯一标识所述业务;
在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志;
将所述业务日志与所述业务追踪标识关联存储至预设的数据库中;
接收业务故障信息,所述业务故障信息中包括所述业务追踪标识;
根据所述业务追踪标识在所述数据库中查询与所述业务追踪标识对应的所述业务日志,根据所述业务日志确定所述业务故障的原因。
在本实施例中,在业务开始时,在业务中添加业务追踪标识,并在业务结束时,根据该业务追踪标识获取全部业务日志并存储之后,能够实现业务操作正向查询数据的操作。具体地,若接收到业务故障信息,业务故障信息中包括待查询的业务追踪标识,其中,以用户网约车付款举例来说,业务故障包括但不限于用户已付款,但是账户中余额未发生变化,业务付款金额超出订单总金额等。因此,可以根据业务故障信息中包括的待查询的业务追踪标识在数据库中查询与该业务追踪标识对应的业务日志,并根据该业务日志确定发生故障的原因,后续能够根据发生故障的愿意进行相应处理。
本实施例提供的日志监控方法,通过接收业务故障信息,所述业务故障信息中包括所述业务追踪标识;根据所述业务追踪标识在所述数据库中查询与所述业务追踪标识对应的所述业务日志,根据所述业务日志确定所述业务故障的原因,从而能够在保证业务日志与数据库日志关联的基础上,实现业务操作正向查询数据的操作,提高业务故障的修复效率。
进一步地,在上述任一实施例的基础上,所述方法包括:
针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,所述业务追踪标识用于唯一标识所述业务;
在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志;
将所述业务日志与所述业务追踪标识关联存储至预设的数据库中;
接收订单故障信息,所述订单故障信息中包括订单编号;
根据所述订单故障信息在所述数据库中确定与所述订单故障信息对应的业务追踪标识;
根据所述业务追踪标识定位业务操作。
在本实施例中,在业务开始时,在业务中添加业务追踪标识,并在业务结束时,根据该业务追踪标识获取全部业务日志并存储之后,通过数据变化反向定位业务日志的操作。具体地,可以接收订单故障信息,该订单故障信息中包括订单标号等订单信息。从而可以根据该订单故障信息从数据库中获取与该订单故障信息对应的业务追踪标识,进而能够根据该业务追踪标识定位到具体的业务操作,从而能够对该业务操作进行相应调整。
作为一种可以实施的方式,还可以基于数据库中与业务追踪标识关联的业务日志实现对业务变化的重放。具体地,因为数据库日志存储,存储每一次操作对应的数据变化情况,用数据日志记录进行数据重放。常用场景是在线下环境下模式线上环境那一刻的数据状态,从而线下环境重现问题。比如在线上发现某一次操作出现数据错误或者异常,可以根据该数据主键查询到对应的所有业务追踪标识,再根据这些业务追踪标识得到截止到那一刻的所有数据变化,根据这些数据变化,可以在线下环境中构造出那一次出错的之前数据环境,这样就可以很好的模拟线上那一个的数据情况,方便线下进行测试,并找出问题。
本实施例提供的日志监控方法,通过接收订单故障信息,所述订单故障信息中包括订单编号;根据所述订单故障信息在所述数据库中确定与所述订单故障信息对应的业务追踪标识;根据所述业务追踪标识定位业务操作,从而能够在保证业务日志与数据库日志关联的基础上,实现数据变化反向定位业务日志的操作,提高订单故障的修复效率。
图6为本发明实施例五提供的日志监控装置的结构示意图,如图6所示,所述日志监控装置包括:
添加模块61,用于针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,所述业务追踪标识用于唯一标识所述业务;
获取模块62,用于在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志;
存储模块63,用于将所述业务日志与所述业务追踪标识关联存储至预设的数据库中。
本实施例提供的日志监控方法,通过针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,所述业务追踪标识用于唯一标识所述业务;在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志;将所述业务日志与所述业务追踪标识关联存储至预设的数据库中。从而能够在无需入侵业务代码的基础上,实现业务日志与数据库日志的关联,从而能够通过业务操作正向查询数据的改动,也能够通过数据变化反向定位业务日志。
进一步地,在上述任一实施例的基础上,所述添加模块包括:
第一添加单元,用于在所述业务开始时,获取所述业务追踪标识,并将所述业务追踪标识添加至线性局部变量中;
判断单元,用于通过Spring事务管理器判断所述业务的业务类型,所述业务类型包括只读与可写;
读取单元,用于若判定所述业务类型为可写类型,则从所述线性局部变量中读取所述业务追踪标识,在所述业务中添加预设的业务追踪标识。
进一步地,在上述任一实施例的基础上,所述添加模块包括:
第二添加单元,用于在所述业务开始时,通过扩展JDBC驱动为各结构化语句中添加包含所述业务追踪标识的注释信息。
进一步地,在上述任一实施例的基础上,所述添加模块包括:
第三添加单元,用于在所述业务开始时,通过Java Agent技术拦截JDBC驱动,在待发送至所述数据库中的结构化语句中添加包含所述业务追踪标识的注释信息。
进一步地,在上述任一实施例的基础上,所述获取模块包括:
监听单元,用于监听所述业务对应的二进制数据;
第一获取单元,用于在所述业务结束时,利用所述二进制数据的有序性,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志。
进一步地,在上述任一实施例的基础上,所述获取模块包括:
第二获取单元,用于在所述业务结束时,通过数据库慢查询日志设置,获取在所述数据库操作的结构化语句;
解析单元,用于解析所述在所述数据库操作的结构化语句,根据所述业务追踪标识获得所述业务从开始到结束的全部业务日志。
进一步地,在上述任一实施例的基础上,所述存储模块包括:
第一确定单元,用于确定所述业务开始前数据库的第一字段值;
第二确定单元,用于根据所述业务日志以及所述第一字段值确定所述业务结束后的第二字段值;
第一存储单元,用于将所述第一字段值、第二字段值以及所述业务追踪标识关联存储至预设的数据库中。
进一步地,在上述任一实施例的基础上,所述存储模块包括:
第二存储单元,用于将所述业务日志以及所述业务追踪标识关联存储至ES中;和/或,
第三存储单元,用于将热点业务日志以及所述业务追踪标识关联存储至ES中,将各业务的全部业务日志存储至HBase中。
进一步地,在上述任一实施例的基础上,所述装置还包括:
第一接收模块,用于接收用户的查询请求,所述查询请求中包括所述业务追踪标识;
第一查询模块,用于根据所述业务追踪标识在所述数据库中查询与所述业务追踪标识对应的所述业务日志。
进一步地,在上述任一实施例的基础上,所述装置还包括:
第二接收模块,用于接收业务故障信息,所述业务故障信息中包括所述业务追踪标识;
第二查询模块,用于根据所述业务追踪标识在所述数据库中查询与所述业务追踪标识对应的所述业务日志,根据所述业务日志确定所述业务故障的原因。
进一步地,在上述任一实施例的基础上,所述装置还包括:
第三接收模块,用于接收订单故障信息,所述订单故障信息中包括订单编号;
第三查询模块,用于根据所述订单故障信息在所述数据库中确定与所述订单故障信息对应的业务追踪标识;
定位模块,用于根据所述业务追踪标识定位业务操作。
图7为本发明实施例六提供的日志监控设备的结构示意图,如图7所示,所述日志监控设备包括:存储器71,处理器72;
存储器71;用于存储所述处理器72可执行指令的存储器71;
其中,所述处理器72被配置为有所出处理器72执行上述任一实施例所述的日志监控方法;
所述日志监控装置还包括通信接口73。
本发明又一实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于执行上述任一实施例所述的日志监控方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机只读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (24)

1.一种日志监控方法,其特征在于,包括:
针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,所述业务追踪标识用于唯一标识所述业务;
在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志;
将所述业务日志与所述业务追踪标识关联存储至预设的数据库中。
2.根据权利要求1所述的方法,其特征在于,所述针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,包括:
在所述业务开始时,获取所述业务追踪标识,并将所述业务追踪标识添加至线性局部变量中;
通过Spring事务管理器判断所述业务的业务类型,所述业务类型包括只读与可写;
若判定所述业务类型为可写类型,则从所述线性局部变量中读取所述业务追踪标识,在所述业务中添加预设的业务追踪标识。
3.根据权利要求1所述的方法,其特征在于,所述针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,包括:
在所述业务开始时,通过扩展JDBC驱动为各结构化语句中添加包含所述业务追踪标识的注释信息。
4.根据权利要求1所述的方法,其特征在于,所述针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,包括:
在所述业务开始时,通过Java Agent技术拦截JDBC驱动,在待发送至所述数据库中的结构化语句中添加包含所述业务追踪标识的注释信息。
5.根据权利要求1或2所述的方法,其特征在于,所述在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志,包括:
监听所述业务对应的二进制数据;
在所述业务结束时,利用所述二进制数据的有序性,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志。
6.根据权利要求1、3、4任一项所述的方法,其特征在于,所述在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志,包括:
在所述业务结束时,通过数据库慢查询日志设置,获取在所述数据库操作的结构化语句;
解析所述在所述数据库操作的结构化语句,根据所述业务追踪标识获得所述业务从开始到结束的全部业务日志。
7.根据权利要求6所述的方法,其特征在于,所述将所述业务日志与所述业务追踪标识关联存储至预设的数据库中,包括:
确定所述业务开始前数据库的第一字段值;
根据所述业务日志以及所述第一字段值确定所述业务结束后的第二字段值;
将所述第一字段值、第二字段值以及所述业务追踪标识关联存储至预设的数据库中。
8.根据权利要求1所述的方法,其特征在于,将所述业务日志与所述业务追踪标识关联存储至预设的数据库中,包括:
将所述业务日志以及所述业务追踪标识关联存储至ES中;和/或,
将热点业务日志以及所述业务追踪标识关联存储至ES中,将各业务的全部业务日志存储至HBase中。
9.根据权利要求1-4、7-8任一项所述的方法,其特征在于,所述将所述业务日志与所述业务追踪标识关联存储至预设的数据库中之后,还包括:
接收用户的查询请求,所述查询请求中包括所述业务追踪标识;
根据所述业务追踪标识在所述数据库中查询与所述业务追踪标识对应的所述业务日志。
10.根据权利要求1-4、7-8任一项所述的方法,其特征在于,所述将所述业务日志与所述业务追踪标识关联存储至预设的数据库中之后,还包括:
接收业务故障信息,所述业务故障信息中包括所述业务追踪标识;
根据所述业务追踪标识在所述数据库中查询与所述业务追踪标识对应的所述业务日志,根据所述业务日志确定所述业务故障的原因。
11.根据权利要求1-4、7-8任一项所述的方法,其特征在于,所述将所述业务日志与所述业务追踪标识关联存储至预设的数据库中之后,还包括:
接收订单故障信息,所述订单故障信息中包括订单编号;
根据所述订单故障信息在所述数据库中确定与所述订单故障信息对应的业务追踪标识;
根据所述业务追踪标识定位业务操作。
12.一种日志监控装置,其特征在于,包括:
添加模块,用于针对每一业务,在所述业务开始时,在所述业务中添加预设的业务追踪标识,所述业务追踪标识用于唯一标识所述业务;
获取模块,用于在所述业务结束时,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志;
存储模块,用于将所述业务日志与所述业务追踪标识关联存储至预设的数据库中。
13.根据权利要求12所述的装置,其特征在于,所述添加模块包括:
第一添加单元,用于在所述业务开始时,获取所述业务追踪标识,并将所述业务追踪标识添加至线性局部变量中;
判断单元,用于通过Spring事务管理器判断所述业务的业务类型,所述业务类型包括只读与可写;
读取单元,用于若判定所述业务类型为可写类型,则从所述线性局部变量中读取所述业务追踪标识,在所述业务中添加预设的业务追踪标识。
14.根据权利要求12所述的装置,其特征在于,所述添加模块包括:
第二添加单元,用于在所述业务开始时,通过扩展JDBC驱动为各结构化语句中添加包含所述业务追踪标识的注释信息。
15.根据权利要求12所述的装置,其特征在于,所述添加模块包括:
第三添加单元,用于在所述业务开始时,通过Java Agent技术拦截JDBC驱动,在待发送至所述数据库中的结构化语句中添加包含所述业务追踪标识的注释信息。
16.根据权利要求12或13所述的装置,其特征在于,所述获取模块包括:
监听单元,用于监听所述业务对应的二进制数据;
第一获取单元,用于在所述业务结束时,利用所述二进制数据的有序性,根据所述业务追踪标识获取所述业务从开始到结束的全部业务日志。
17.根据权利要求12、14、15任一项所述的装置,其特征在于,所述获取模块包括:
第二获取单元,用于在所述业务结束时,通过数据库慢查询日志设置,获取在所述数据库操作的结构化语句;
解析单元,用于解析所述在所述数据库操作的结构化语句,根据所述业务追踪标识获得所述业务从开始到结束的全部业务日志。
18.根据权利要求17所述的装置,其特征在于,所述存储模块包括:
第一确定单元,用于确定所述业务开始前数据库的第一字段值;
第二确定单元,用于根据所述业务日志以及所述第一字段值确定所述业务结束后的第二字段值;
第一存储单元,用于将所述第一字段值、第二字段值以及所述业务追踪标识关联存储至预设的数据库中。
19.根据权利要求12所述的装置,其特征在于,所述存储模块包括:
第二存储单元,用于将所述业务日志以及所述业务追踪标识关联存储至ES中;和/或,
第三存储单元,用于将热点业务日志以及所述业务追踪标识关联存储至ES中,将各业务的全部业务日志存储至HBase中。
20.根据权利要求12-15、18-19任一项所述的装置,其特征在于,所述装置还包括:
第一接收模块,用于接收用户的查询请求,所述查询请求中包括所述业务追踪标识;
第一查询模块,用于根据所述业务追踪标识在所述数据库中查询与所述业务追踪标识对应的所述业务日志。
21.根据权利要求12-15、18-19任一项所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收业务故障信息,所述业务故障信息中包括所述业务追踪标识;
第二查询模块,用于根据所述业务追踪标识在所述数据库中查询与所述业务追踪标识对应的所述业务日志,根据所述业务日志确定所述业务故障的原因。
22.根据权利要求12-15、18-19任一项所述的装置,其特征在于,所述装置还包括:
第三接收模块,用于接收订单故障信息,所述订单故障信息中包括订单编号;
第三查询模块,用于根据所述订单故障信息在所述数据库中确定与所述订单故障信息对应的业务追踪标识;
定位模块,用于根据所述业务追踪标识定位业务操作。
23.一种日志监控设备,其特征在于,包括:存储器,处理器;
存储器;用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为有所出处理器执行如权利要求1-11所述的日志监控方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-11任一项所述的日志监控方法。
CN201910018067.0A 2019-01-09 2019-01-09 日志监控方法、装置、设备及计算机可读存储介质 Active CN111427736B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910018067.0A CN111427736B (zh) 2019-01-09 2019-01-09 日志监控方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910018067.0A CN111427736B (zh) 2019-01-09 2019-01-09 日志监控方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111427736A true CN111427736A (zh) 2020-07-17
CN111427736B CN111427736B (zh) 2024-03-12

Family

ID=71545962

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910018067.0A Active CN111427736B (zh) 2019-01-09 2019-01-09 日志监控方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111427736B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949481A (zh) * 2020-08-11 2020-11-17 安徽继远检验检测技术有限公司 一种基于微服务的异常追踪检测系统
CN113672487A (zh) * 2021-08-24 2021-11-19 济南浪潮数据技术有限公司 一种消息追踪方法、装置、系统及计算机可读存储介质
CN114356934A (zh) * 2022-01-04 2022-04-15 京东科技控股股份有限公司 数据处理的压测方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140108087A1 (en) * 2012-10-17 2014-04-17 Hitachi Solutions, Ltd. Log management system and log management method
CN104572505A (zh) * 2015-02-03 2015-04-29 济南大学 一种保证海量数据缓存最终一致性的系统及方法
CN106790718A (zh) * 2017-03-16 2017-05-31 北京搜狐新媒体信息技术有限公司 服务调用链路分析方法及系统
CN107330034A (zh) * 2017-06-26 2017-11-07 百度在线网络技术(北京)有限公司 一种日志分析方法和装置、计算机设备、存储介质
CN107580018A (zh) * 2017-07-28 2018-01-12 北京北信源软件股份有限公司 一种分布式系统的跟踪方法与装置
CN108173706A (zh) * 2017-11-29 2018-06-15 阿里巴巴集团控股有限公司 一种多业务系统下的业务标记方法、装置及设备
CN108694213A (zh) * 2017-04-12 2018-10-23 艺龙网信息技术(北京)有限公司 日志文件的生成方法、检索方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140108087A1 (en) * 2012-10-17 2014-04-17 Hitachi Solutions, Ltd. Log management system and log management method
CN104572505A (zh) * 2015-02-03 2015-04-29 济南大学 一种保证海量数据缓存最终一致性的系统及方法
CN106790718A (zh) * 2017-03-16 2017-05-31 北京搜狐新媒体信息技术有限公司 服务调用链路分析方法及系统
CN108694213A (zh) * 2017-04-12 2018-10-23 艺龙网信息技术(北京)有限公司 日志文件的生成方法、检索方法及装置
CN107330034A (zh) * 2017-06-26 2017-11-07 百度在线网络技术(北京)有限公司 一种日志分析方法和装置、计算机设备、存储介质
CN107580018A (zh) * 2017-07-28 2018-01-12 北京北信源软件股份有限公司 一种分布式系统的跟踪方法与装置
CN108173706A (zh) * 2017-11-29 2018-06-15 阿里巴巴集团控股有限公司 一种多业务系统下的业务标记方法、装置及设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949481A (zh) * 2020-08-11 2020-11-17 安徽继远检验检测技术有限公司 一种基于微服务的异常追踪检测系统
CN113672487A (zh) * 2021-08-24 2021-11-19 济南浪潮数据技术有限公司 一种消息追踪方法、装置、系统及计算机可读存储介质
CN114356934A (zh) * 2022-01-04 2022-04-15 京东科技控股股份有限公司 数据处理的压测方法和装置

Also Published As

Publication number Publication date
CN111427736B (zh) 2024-03-12

Similar Documents

Publication Publication Date Title
CN107483221B (zh) 一种跨应用问题排查方法、装置及系统
CN105721193B (zh) 一种系统信息监控的方法和设备
CN112612675A (zh) 微服务架构下的分布式大数据日志链路跟踪方法及系统
CN111427736A (zh) 日志监控方法、装置、设备及计算机可读存储介质
CN111078447B (zh) 一种微服务架构中的异常定位方法、装置、设备、介质
CN110096419A (zh) 接口日志的获取方法、接口日志管理服务器及业务服务器
CN105095048A (zh) 一种基于业务规则的监控系统告警关联处理方法
CN110275992B (zh) 应急处理方法、装置、服务器及计算机可读存储介质
CN110034948B (zh) 排查系统故障的方法和装置
CN115660610B (zh) 一种去中心化的协同办公系统及方法
CN112527546A (zh) 应用异常快速定位方法、系统、设备及存储介质
CN113986669A (zh) 一种基于aop注解的调用链追踪与业务分析方法
CN112311574A (zh) 网络拓扑连线的检查方法、装置及设备
CN108650123B (zh) 故障信息记录方法、装置、设备和存储介质
CN114143369A (zh) 一种云平台的服务监控系统
CN117573510A (zh) 软件测试方法、装置、终端设备以及存储介质
CN113761306A (zh) 一种车端数据处理方法及装置
CN115981901A (zh) 一种针对交换机自动化测试的故障定位方法、设备及介质
CN114500249A (zh) 一种根因定位方法和装置
CN111209130B (zh) 基于MySQL主从复制集群的故障处理方法、系统、设备和介质
CN114546799A (zh) 埋点日志校验方法、装置、电子设备、存储介质及产品
CN114253846B (zh) 自动化测试异常定位方法、装置、设备及可读存储介质
CN110516439B (zh) 一种检测方法、装置、服务器及计算机可读介质
CN117640337A (zh) 一种异常归因方法、装置、设备以及存储介质
CN117349329A (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
GR01 Patent grant
GR01 Patent grant
TG01 Patent term adjustment