CN117573467A - 日志处理方法、装置、设备及存储介质 - Google Patents

日志处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117573467A
CN117573467A CN202311520192.4A CN202311520192A CN117573467A CN 117573467 A CN117573467 A CN 117573467A CN 202311520192 A CN202311520192 A CN 202311520192A CN 117573467 A CN117573467 A CN 117573467A
Authority
CN
China
Prior art keywords
log
effective
logs
target
preset
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.)
Pending
Application number
CN202311520192.4A
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology 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 Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202311520192.4A priority Critical patent/CN117573467A/zh
Publication of CN117573467A publication Critical patent/CN117573467A/zh
Pending legal-status Critical Current

Links

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
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供了一种日志处理方法、装置、设备、存储介质和程序产品,可以应用于计算机技术领域。该方法包括:采集目标应用在处理业务过程中生成的多个日志,得到日志集;利用预设的日志筛选策略从日志集中筛选出有效日志,得到有效日志集;针对有效日志集中的每一个有效日志,根据与有效日志相关联的多个维度数据,对有效日志的日志标签进行内容填充,得到目标日志集;将目标日志集分布式存储在预设数据库中。

Description

日志处理方法、装置、设备及存储介质
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种日志处理方法、装置、设备及存储介质。
背景技术
在计算机技术领域,由于低代码应用具有代码编写少、环境部署简单、使用门槛低等特点,低代码应用正逐渐成为用户的得力助手,低代码应用的使用频率不断攀升。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题,随着业务环境的多样化,低代码应用运行的服务也随之多样化。由于低代码应用运行的服务众多,所以每天根据运行业务得到的日志数量也较多,进而导致在存储这些日志的过程中,所消耗的存储资源较高;而且在用户请求获取日志的过程中,由于日志数量较多,低代码应用难以高效、准确的向用户发送用户所请求的日志。总体上,相关技术在处理日志的过程中存在日志处理效率低和准确率低等问题。
发明内容
有鉴于此,本公开提供了一种提高日志处理效率和准确率的日志处理方法、装置、设备、存储介质和程序产品。
本公开的一个方面提供了一种日志处理方法,包括:采集目标应用在处理业务过程中生成的多个日志,得到日志集;利用预设的日志筛选策略从上述日志集中筛选出有效日志,得到有效日志集;针对上述有效日志集中的每一个有效日志,根据与上述有效日志相关联的多个维度数据,对上述有效日志的日志标签进行内容填充,得到目标日志集;将上述目标日志集分布式存储在预设数据库中。
根据本公开的实施例,上述利用预设的日志筛选策略从上述日志集中筛选出有效日志,得到有效日志集,包括:基于预设的日志字段,从上述日志集中筛选出与上述日志字段相关联的日志,作为上述有效日志,其中,上述预设的日志字段包括以下至少之一:日志级别字段、日志名称字段、日志内容字段;根据上述有效日志,生成上述有效日志集;以及/或者对上述日志集中的每一个日志进行裁剪,以将上述每一个日志裁剪为有效部分和无效部分;根据上述有效部分的日志信息,得到上述有效日志;根据上述有效日志,生成上述有效日志集。
根据本公开的实施例,上述对上述日志集中的每一个日志进行裁剪,以将上述每一个日志裁剪为有效部分和无效部分,包括:根据预设有效日志长度,对上述每一个日志进行裁剪,得到上述有效部分和上述无效部分,其中,上述有效部分为上述每一个日志中符合上述预设有效日志长度的部分,上述无效部分为上述每一个日志中除上述有效部分之外的其余部分;以及/或者根据预设的有效日志数目与日志总数目之间的比值,对上述日志集进行裁剪,得到上述有效部分和上述无效部分,其中,上述有效部分为上述日志集中符合上述比值的日志部分,上述无效部分为上述日志集中除上述有效部分之外的其余日志部分。
根据本公开的实施例,上述预设数据库配置有多个应用程序编程接口;上述将上述目标日志集分布式存储在预设数据库中,包括:读取上述目标日志集的日志数目;在上述目标日志集的日志数目达到第一预设数目阈值的情况下,对上述目标日志集进行压缩;将压缩后的目标日志集,通过消息队列的方式,向上述预设数据库的多个应用程序编程接口进行传输,以便上述预设数据库对上述压缩后的目标日志集进行解压并存储。
根据本公开的实施例,上述方法还包括:响应于用户查询日志的操作,读取上述操作中携带的上述日志标签;根据上述日志标签,从上述目标日志集中,搜索上述日志;对搜索到的上述日志进行聚类分析,得到上述日志的相关信息;向上述用户反馈上述日志和上述日志的相关信息。
根据本公开的实施例,上述方法还包括:对上述有效日志进行识别,以从上述有效日志中识别出用于表征上述应用存在异常的异常日志;根据上述异常日志,向目标对象发送告警信息。
根据本公开的实施例,上述根据上述异常日志,向目标对象发送告警信息,包括:对在预设时间段内的异常日志的日志数目进行监测;在上述异常日志的日志数目达到第二预设数目阈值的情况下,向上述目标对象发送告警信息。
根据本公开的实施例,上述根据上述异常日志,向目标对象发送告警信息,包括:记录添加上述应用的添加时刻;在上述添加时刻之后,上述异常日志的日志数目呈现增加趋势的情况下,向上述目标对象发送告警信息。
根据本公开的实施例,上述采集目标应用在处理业务过程中生成的多个日志,得到日志集,包括:利用预设采集框架,对上述应用在处理业务过程中得到的多个日志,进行异步采集;根据异步采集到的上述多个日志,生成上述日志集。
根据本公开的实施例,上述维度数据包括以下至少之一:用户标识、上述目标应用的应用信息、业务项目信息、业务环境信息、机房信息、容器信息、线程信息、时间戳。
本公开的另一方面还提供了一种日志处理装置,包括:采集模块,用于采集目标应用在处理业务过程中生成的多个日志,得到日志集;筛选模块,用于利用预设的日志筛选策略从上述日志集中筛选出有效日志,得到有效日志集;填充模块,用于针对上述有效日志集中的每一个有效日志,根据与上述有效日志相关联的多个维度数据,对上述有效日志的日志标签进行内容填充,得到目标日志集;存储模块,用于将上述目标日志集分布式存储在预设数据库中。
本公开的另一方面还提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现上述的日志处理方法。
本公开的另一方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现上述的日志处理方法。
本公开的另一方面还提供了一种计算机程序产品,包括计算机程序,上述计算机程序在被处理器执行时实现上述的日志处理方法。
根据本公开实施例提供的日志处理方法、装置、设备、存储介质和程序产品,通过采集目标应用在处理业务过程中生成的多个日志,的都日志集;利用预设日志筛选策略从日志集中筛选出有效日志,得到有效日志集;根据与有效日志相关联的多个维度数据对日志标签进行填充,得到目标日志集;将目标日志集分布式存储在预设数据库中。由于在日志处理过程中,对日志集进行了筛选,只存储有效的日志,删除无效的日志,所以降低了对存储资源的消耗;由于对日志标签进行了填充,可以在向用户发送用户所请求的日志时,根据日志标签实现高效、精准的发送;总体上,本公开实施例提供的日志处理方法、装置、设备、存储介质和程序产品至少部分地克服了相关技术存在的日志处理效率低和准确率低的问题,进而达到了提高日志处理效率和准确率的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的可以应用日志处理方法及装置的示例性系统架构;
图2示意性示出了根据本公开实施例的日志处理方法的流程图;
图3示意性示出了根据本公开实施例的对日志进行筛选与填充的系统架构图;
图4示意性示出了根据本公开实施例的预设数据库存储目标日志的系统架构图;
图5示意性示出了根据本公开实施例的实现日志处理方法的系统架构图;
图6示意性示出了根据本公开的实施例的日志处理装置的框图;以及
图7示意性示出了根据本公开实施例的适于实现日志处理方法的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
在本公开的实施例中,所涉及的数据(例如,包括但不限于用户个人信息)的收集、更新、分析、处理、使用、传输、提供、公开、存储等方面,均符合相关法律法规的规定,被用于合法的用途,且不违背公序良俗。特别地,对用户个人信息采取了必要措施,防止对用户个人信息数据的非法访问,维护用户个人信息安全、网络安全和国家安全。
在本公开的实施例中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
在计算机技术领域,低代码应用的使用频率逐渐攀升。低代码应用中的日志系统对于提高用户的开发效率和故障解决的速度具有至关重要的作用。在相关技术中,低代码应用一般会使用SL4J日志框架来集中收集日志,通过借助SL4J,低代码应用能够以统一的标准对这些日志进行收集和处理。当日志被收集后,低代码平台一般会存储在至低代码应用中日志系统的日志储存段。相关技术对日志处理的过程一般存在以下不足之处。
在低代码应用中,由于成本和容量问题的限制,低代码应用的日志系统一般仅支持异常日志的存储和查询。然而,许多故障需要通过正常的日志信息来辅助定位,由于一般不存储正常日志,会导致用户定位故障的效率降低。由于低代码应用运行的服务众多,每天产生的日志数据量可能会达到几十甚至数百TB(Terabyte,太字节),存储多天的日志数据,所需要的存储资源较高,进而导致存储成本较高,较高的存储成本会给企业带来负担。低代码应用的日志查询系统,缺乏对用户标识、追踪链路标识、机房信息、环境信息等关键信息的单独筛选和查询能力。这使得在用户进行日志查询和分析时,用户不得不依赖其他独立的工具或手动筛选和处理数据。这样的过程不仅耗时费力,而且容易引入人为错误和遗漏。总体上,相关技术对于日志处理的过程存在处理效率低以及准确率低的问题。
有鉴于此,本公开的实施例提供了一种日志处理方法、装置、设备和存储介质,用于存储正常和异常日志、降低资源消耗、提高日志处理效率和准确率。具体地,日志处理方法包括:采集目标应用在处理业务过程中生成的多个日志,得到日志集;利用预设的日志筛选策略从日志集中筛选出有效日志,得到有效日志集;针对有效日志集中的每一个有效日志,根据与有效日志相关联的多个维度数据,对有效日志的日志标签进行内容填充,得到目标日志集;将目标日志集分布式存储在预设数据库中。
图1示意性示出了根据本公开实施例的可以应用日志处理方法及装置的示例性系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以低代码应用集群101、网络102、服务器103、数据库104和终端设备105。网络102用以在低代码应用集群101与服务器103之间、服务器103与预设数据库104之间、数据库104和终端设备105之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线和/或无线通信链路等等。
低代码应用集群101中可以包括多个低代码应用,低代码应用在运行业务的过程中,会生成多个日志,例如业务运行日志、系统运行日志以及各类异常日志等。
服务器103可以是提供各种服务的服务器,例如对低代码应用集群产生的日志进行实时或定时的动态采集,并对采集到的日志进行筛选以及内容填充操作,将最终得到的日志通过网络102传输给数据库104。
数据库104用于存储服务器103传输的日志,还用于在用户需要查询日志时,为用户提供用户所需要的日志。数据库104用于提供了一种分布式存储的方式,避免了日志存储在低代码应用的日子系统造成的存储资源消耗高等问题。
在一实施例中,用户可以利用终端设备105通过网络102与数据库104进行交互,通过日志标签查询日志。终端设备105可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。终端设备105上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。
需要说明的是,本公开实施例所提供的日志处理方法一般可以由服务器103执行。相应地,本公开实施例所提供的日志处理装置一般可以设置于服务器103中。本公开实施例所提供的日志处理方法也可以由不同于服务器103且能够与低代码应用集群101、数据库104和/或服务器103通信的服务器或服务器集群执行。相应地,本公开实施例所提供的日志处理装置也可以设置于不同于服务器103且能够与低代码应用集群101、数据库104和/或服务器103通信的服务器或服务器集群中。
应该理解,图1中的低代码应用集群、网络、服务器、数据库和终端设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的低代码应用集群、网络、服务器、数据库和终端设备。
图2示意性示出了根据本公开实施例的日志处理方法的流程图。
如图2所示,该方法包括操作S201~S204。
在操作S201,采集目标应用在处理业务过程中生成的多个日志,得到日志集。
在操作S202,利用预设的日志筛选策略从日志集中筛选出有效日志,得到有效日志集。
在操作S203,针对有效日志集中的每一个有效日志,根据与有效日志相关联的多个维度数据,对有效日志的日志标签进行内容填充,得到目标日志集。
在操作S204,将目标日志集分布式存储在预设数据库中。
根据本公开的实施例,目标应用可以包括低代码应用。低代码应用可以是指通过低代码平台开发的任意一种低代码应用。低代码平台是一种使开发人员能够使用尽可能少的手动编程来创建应用程序的工具,通过利用较少的代码、以及以较快的速度来交付应用程序。
根据本公开的实施例,日志集中可以包括多个日志,例如业务类日志以及系统运行类日志等。
根据本公开的实施例,预设的日志筛选策略用于从日志集中筛选出至少一个有效日志,从而根据有效的日志生成有效日志集。示例性的,在预设筛选策略为根据日志字段进行筛选的情况下,有效日志可以是与日志字段相关的日志,例如日志字段为日志级别字段,日志级别字段包括告警日志字段,则从日志集中筛选出的有效日志可以是告警日志。又一示例性的,在预设筛选策略为根据有效日志长度m字节(m为正整数)进行筛选的情况下,有效日志可以是长度小于等于m字节的日志,以及从长度大于m字节的日志中截取的具有m字节长度的日志。
根据本公开的实施例,对于筛选出的有效日志,可以将与该日志相关联的维度数据添加到该日志的日志标签中,得到目标日志集。从而在用户查询日志的过程中可以根据日志标签获取日志,实现日志高效且个性化的查询,具体地,维度数据可以包括以下至少之一:用户标识、所述目标应用的应用信息、业务项目信息、业务环境信息、机房信息、容器信息、线程信息、时间戳。例如用户ID、应用ID、项目ID、业务运行时刻、机器IP、容器ID、线程ID、集群信息、日志名称、日志级别(例如正常、异常、警告、调试、程序错误(bug)日志)、追踪链路ID、服务编排ID、测试环境标识、生产环境标识等。追踪链路ID是一种在分布式系统中用于跟踪请求、连接和事务的唯一标识符,例如是字符串或数字,用于标识请求的来源、目标、响应和处理过程。
根据本公开的实施例,预设数据库用于分布式存储目标日志集,避免日志集存储在低代码应用的日志系统上,进而降低存储日志所需要的资源消耗。预设数据库可以包括Elasticsearch存储服务数据库。ElasticSearch是一个分布式全文搜索引擎,它提供了实时的搜索和分析功能,可以适用于各种规模的企业和应用程序。
根据本公开的实施例,在存储目标日志集时,还可以考虑使用分布式文件系统,如Hadoop HDFS(Hadoop Distributed File System hadoop)或GlusterFS(GNU ClusterFileSystem)等,来存储大量的日志数据。这种方案可以提供更高效的存储和查询能力,并且可以轻松扩展以适应不断增长的数据规模。同时,还可以结合数据压缩和归档技术来进一步优化存储空间的使用。
根据本公开实施例提供的日志处理方法、装置、设备、存储介质和程序产品,通过采集目标应用在处理业务过程中生成的多个日志,的都日志集;利用预设日志筛选策略从日志集中筛选出有效日志,得到有效日志集;根据与有效日志相关联的多个维度数据对日志标签进行填充,得到目标日志集;将目标日志集分布式存储在预设数据库中。由于在日志处理过程中,对日志集进行了筛选,只存储有效的日志,删除无效的日志,所以降低了对存储资源的消耗;由于对日志标签进行了填充,可以在向用户发送用户所请求的日志时,根据日志标签实现高效、精准的发送;总体上,本公开实施例提供的日志处理方法、装置、设备、存储介质和程序产品至少部分地克服了相关技术存在的日志处理效率低和准确率低的问题,进而达到了提高日志处理效率和准确率的技术效果。
日志处理过程中包括了对日志的采集,日志采集效率的提高可以进一提高日志处理效率。具体地,为了提高采集日志的效率,以及降低采集日志的过程中所造成的资源消耗,本公开实施例中采集目标应用日志的过程S201可以包括如下操作:利用预设采集框架,对应用在处理业务过程中得到的多个日志,进行异步采集;根据异步采集到的多个日志,生成日志集。
根据本公开的实施例,在多个低代码应用中,Logback(一个高性能、可扩展的日志框架,用于管理应用程序的日志记录)可以作为统一的基础设施,用于集中收集和管理所有应用程序的日志。本公开实施例在采集日志的过程中,通过自定义日志类并继承预设采集框架(例如UnsynchronizedAppenderBase)进行异步日志收集。自定义日志类中可以包括多个日志采集字段,日志采集字段可以是根据实际需要采集的日志设置的,例如根据业务类的日志字段采集业务类日志,根据系统运行类的字段采集系统运行类日志。可选地,自定义日志类可以根据应用的需求,灵活地扩展以适应各种日志收集场景。
通过异步采集日志,可以实现将采集日志的流程与目标应用运行的流程进行分开,异步采集日志,可以有效地避免同步收集日志时存在的性能瓶颈以及耗费的资源,进而达到提高资源利用率以及日志收集的效率的技术效果。
图3示意性示出了根据本公开实施例的对日志进行筛选与填充的系统架构图。
对于采集到的日志集,可以进行筛选和填充,筛选日志集可以降低对存储资源的消耗,填充有效日志的日志标签,可以实现精准、高效的向用户发送用户所请求的日志,具体如图3所示。该系统架构可以包括日志集301、日志筛选单元302、日志填充单元303、日志压缩单元304以及日志推送单元305。
日志筛选单元302可以执行如下操作:基于预设的日志字段,从日志集中筛选出与日志字段相关联的日志,作为有效日志,其中,预设的日志字段包括以下至少之一:日志级别字段、日志名称字段、日志内容字段;根据有效日志,生成有效日志集。以及/或者对日志集中的每一个日志进行裁剪,以将每一个日志裁剪为有效部分和无效部分;根据有效部分的日志信息,得到有效日志;根据有效日志,生成有效日志集。
根据本公开的实施例,日志级别字段可以包括与正常日志、异常日志、告警日志、调试日志等相关联的字段。日志字段还可以包括用户标识字段、机房信息字段、项目信息字段、等等,日志字段可以根据实际需要进行适应性调整。
根据本公开的实施例,在利用日志字段对日志集进行筛选时,可以通过精确或模糊筛选的方式进行筛选。示例性的,可以根据日志名称及精确或模糊筛选,例如在日志名称字段为“正常日志.abc”的情况下,根据后缀名称“.abc”可以实现模糊筛选,根据“正常日志.abc”可以实现精确筛选。又一示例性的,可以根据日志内容进行精确或模糊筛选。例如,在日志内容为“在t时刻,应用A在运行业务B的过程中出现C的告警”的情况下,根据日志内容的部分字段“应用A和告警”可以实现模糊筛选,根据“在t时刻,应用A在运行业务B的过程中出现C的告警”可以实现精确筛选。具体选择精确筛选方式还是模糊筛选方式,可以根据实际需要进行适应性调整。
根据本公开的实施例,对于不需要模糊筛选日志内容的场景,可以使用Mysql分库分表的设计或者其他不需要分词的数据库实现对日志的筛选。这种方案可以节省更多的存储空间,并且可以提高查询效率。此外,还可以考虑使用一些轻量级的数据库,如Redis(Remote Dictionary Server,远程字典服务)或MongoDB(Humongous Database,基于分布式文件存储的数据库),它们可以提供更快的查询速度和更好的可扩展性。
根据本公开的实施例,在预设筛选策略中,对有效日志的筛选可以涉及到对日志的裁剪操作,具体地,可以根据预设有效日志长度,对每一个日志进行裁剪,得到有效部分和无效部分,其中,有效部分为每一个日志中符合预设有效日志长度的部分,无效部分为每一个日志中除有效部分之外的其余部分;以及/或者根据预设的有效日志数目与日志总数目之间的比值,对日志集进行裁剪,得到有效部分和无效部分,其中,有效部分为日志集中符合比值的日志部分,无效部分为日志集中除有效部分之外的其余日志部分。
根据本公开的实施例,有效日志长度可以是预设的m个字节的长度。根据m个字节的长度,对长度大于m个字节的日志可以进行裁剪,将日志中,具有m个字节长度的部分作为有效部分,剩余的部分作为无效部分。对长度小于等于m个字节的日志可以不进行裁剪。可以理解的是,该预设筛选策略下的日志可以是一个不具有完整信息的日志。
根据本公开的实施例,有效日志数目与日志总数目之间的比值可以是预设的。例如根据日志的类型进行预设。示例性的,对于正常日志,有效日志的数目可以占总正常日志的日志集中日志总数目的x%,异常日志可以占总异常日志的日志集中日志总数目的y%等,x为小于y的整数。还可以预设在一个日志集中,正常日志的数目需要占该日志集日志总数目的k%,异常日志的数目需要占日志集总数目的p%,调试日志的数目需要占日志集总数目的q%,k、p以及q均为正整数。根据有效日志的百分比,可以从日志集中筛选出符合百分比的日志作为有效日志,日志集中的其余日子可以作为无效日志。可以理解的是,该预设策略下的有效部分或无效部分中的日志均是一个完整的日志,只是日志数目变少。
根据本公开的实施例,上述的每一种预设筛选策略与每一个中预设筛选策略之间可以任意结合,例如在利用日志字段筛选的同时可以结合有效日志长度和/或预设的有效日志数目与日志总数目之间的比值,对日志集筛选。具体组合方式可以根据实际需要进行适应性调整。
根据本公开的实施例,通过对日志集进行筛选得到有效日志集,降低了存储日志所需要的存储资源,至少部分的避免了存储大量无效日志,并将每个日志所占用的资源保持在系统可承受范围内,从而达到节省存储资源和成本,以及提高资源利用率的技术效果。
根据本公开的实施例,日志填充单元303可以动态填充维度数据。例如将机器IP、系统时刻、集群信息、日志名称、线程ID、日志级别、追踪链路ID、项目ID、用户ID和应用ID等信息动态填充到日志标签中。这些信息可以从目标应用运行业务的过程中自动读取。填充的这些维度数据在后续的日志查询和分析过程中将起到重要作用,同时可以将填充后的带有维度数据的日志信息批量推送至消息队列中,以便在向用户发送用户所需要日志的过程中,根据日志标签实现高效且精准的发送,实现用户个性化的查询日志。
根据本公开的实施例,在对有效日志集中的有效日志进行填充得到的目标日志集后,该目标日志集可以分布式存储在预设数据库中,具体地,将目标日志集推送到预设数据库的过程可以包括如下操作:读取目标日志集的日志数目;在目标日志集的日志数目达到第一预设数目阈值的情况下,对目标日志集进行压缩;将压缩后的目标日志集,通过消息队列的方式,向预设数据库的多个应用程序编程接口进行传输,以便预设数据库对压缩后的目标日志集进行解压并存储,其中,预设数据库可以配置有多个应用程序编程接口。
根据本公开的实施例,继续参照图3,日志压缩单元304可以读取目标日志集中的日志数目,将目标日志集中的日志数目达到第一预设数目阈值的情况下,将目标日志集中的日志进行压缩。在另一实施例中,日志压缩单元304也可以读取目标日志集的数目,在目标日志集的数目达到第三预设数目阈值的情况下,将多个目标日志集进行压缩。可选的,另一实施例也可以是同时读取目标日志集中的日志数目以及目标日志集的数目,在同时满足第一预设数目预设和第三数目阈值的情况下,可以对多个目标日志集进行压缩。可以理解的是,第一预设数目阈值以及第三预设数目阈值可以根据实际需要进行适应性调整。
根据本公开的实施例,在压缩目标日志集中的日志,或压缩多个目标日志集的过程中,可以采用压缩算法,包括但不限于:gzip(GUN zip,若干种文件压缩程序的简称)、zlib(压缩库)等,压缩算法可以根据实际需要进行适应性调整。在进行压缩的过程中,可以对比每个压缩算法的压缩效率,选择出压缩效率最高的压缩算法进行压缩。可选的,也可以是选用在保持日志内容可读性的同时具有最高压缩比例的压缩算法进行压缩。
根据本公开的实施例,通过采用压缩算法对目标日志集中的日志或多个目标日志集进行压缩,可以以减少传输日志所占用的体积,从而降低网络传输的成本和提高传输日志的效率,使得日志传输更加便捷。
根据本公开的实施例,日志推送单元305可以将压缩后的目标日志集,通过MQ(Message Queue,消息队列,一种在应用程序之间传递消息的机制)的方式向预设数据库的多个应用程序接口向预设数据库传输。可选的,日志推送单元305还可以读取在预设时间段内的,待传输的压缩后的目标日志集的数目,在该数目达到第四数目阈值的情况下,对待传输的压缩后的目标日志集进行数据汇总,进而将分散的日志数据整合为至少一个传输批次后,通过MQ的方式进行传输。
根据本公开的实施例,通过MQ的方式进行传输,可以实现不同系统之间进行异步通信,实现消息传递、解耦和可靠性传输。
根据本公开的实施例,通过对压缩后的目标日志集进行整合,整合为至少一个批次后进行传输,可以减少向预设数据库发送传输日志请求的次数,提高传输日志的效率。
根据本公开的实施例,对于不需要实时监控日志的场景,可以考虑将日志信息存储到机器特定文件中,由Agent代理(计算机网络中运行的软件程序,可以自动执行任务和维护系统状态。它们可以监测网络中的活动并与其他代理进行通信,以协调和管理网络中的资源)定时推送到存储服务中。这种方案可以避免实时处理大量日志数据,并且可以减少对存储空间的需求。同时,还可以通过设置定时推送规则来控制推送频率和时间间隔,以满足业务需求。
图4示意性示出了根据本公开实施例的预设数据库存储目标日志的系统架构图。
如图4所示,为了提高日志存储的效率和可扩展性,可以考虑使用分布式存储系统来存储日志信息,这样可以实现日志数据的分布式存储和读写,提高日志存储的可靠性和性能。
如图4所示,该系统架构可以接收来自MQ的压缩后的目标日志集,并对压缩的目标日志集进行解压缩,并将解压后的目标日志集批量插入到预设数据库(例如ElasticSearch存储服务数据库)中进行存储。具体地,该系统架构可以包括:并行处理单元401以及批量插入单元402。其中,并行处理单元401可以包括日志解压缩子单元4011、日志聚类子单元4012、索引子单元4013、异常日志分析子单元4014以及系统告警子单元4015。
根据本公开的实施例,并行处理子单元401在接收压缩后的目标日志集时,可以采用多线程等异步处理的技术提高接收日志的效率,同时可以使用硬件或软件确保系统不会过载。例如增加机器的数目、增加机器的资源、增加线程的数目或线程的资源等。
根据本公开的实施例,日志解压缩子单元4011可以选择高效的解压缩算法对压缩后的目标日志集进行解压。具体地,该解压缩算法可是与压缩算法相对应,也可以是通过对比各个解压缩算法的解压缩效率,得到的解压缩效率最高且适用于已压缩目标日志集的解压缩算法。
根据本公开的实施例,日志聚类子单元4012可以在用户请求获取日志的情况下,用于对日志进行聚类,查找与日志相关联的信息。索引单元可以在用户请求获取日志的情况下,提供索引功能。例如利用可以利用Elasticsearch强大的搜索和索引功能,根据日志获取请求中的信息做全文检索,使用户能够快速搜索和分析日志数据。异常日志分析子单元4014可以用于分析异常日志,系统告警子单元4015可以用于根据对异常日志的分析结果,向相关人员发送告警信息。异常日志分析子单元4014和系统告警子单元4015,可以实时监控系统的运行情况,及早发现潜在问题,并采取适当措施确保日志处理过程的稳定性和可靠性。
根据本公开的实施例,处理后的目标日志集,可以通过批量插入单元402,存储到预设数据库中(例如Elasticsearch存储服务数据库)。具体地,存储时,可以使用Elasticsearch的批量插入API(Application Program Interface,应用程序编程接口)接口,一次性存储多个目标日志集,减少向Elasticsearch发送的存储请求数量,从而提高存储日志的效率。
根据本公开的实施例,存储到预设数据库中的日志,可以为用户提供查询和分析的服务。具体地,用户在查询日志时,可以包括如下操作:响应于用户查询日志的操作,读取操作中携带的日志标签;根据日志标签,从目标日志集中,搜索日志;对搜索到的日志进行聚类分析,得到日志的相关信息;向用户反馈日志和日志的相关信息。
根据本公开的实施例,用户可以通过查询界面和接口进行日志查询。该查询界面和接口上,可以配置有丰富的查询条件和选项,以便用户更灵活地发起查询请求。该查询条件和选项,可以是一些维度数据,例如,用户标识、所述目标应用的应用信息、业务项目信息、业务环境信息、机房信息、容器信息、线程信息、时间戳等,整合这些维度数据可以得到日志标签。由于预设数据库中存储的目标日志集中的日志,是填充了维度数据的日志标签,所以根据查询操作中携带的日志标签,可以查询到日志。可选的,界面上除了提供有丰富的查询条件和选项,同时还可以增加交互式提示和帮助信息板块,以告知用户相关操作。例如用户在请求获取日志示,不知如何操作,通过点击交互式提示和帮助信息板块,可以告知用户相关操作,从而能够使用户更加方便地查询日志,提高用户体验感。
根据本公开的实施例,在搜索到用户所请求的日志的情况下,可以对该日志进行聚类分析,以找到并向用户推送与该日志的相关信息(例如日志内容、上下文信息和异常情况等),实现向用户发送更全面的日志信息,便于用户对日志进行全面的了解与分析。
根据本公开的实施例,在进行聚类分析时,可以对聚类分析的结果进行相关性值从高到低的排序,并将排序结果中,从相关性值最高的信息开始,选取排列在前m(m为正整数)位的相关信息,一同发送给用户,节省发送日志及相关信息所占用的资源,提高发送日志及相关信息的效率和准确率。在另一实施例中,也可以先询问用户是否需要获取日志相关信息,在用户需要获取日志相关信息的情况下,再发送日志相关信息,或者再聚类分析并发送日志相关信息,达到节省聚类分析所占用的资源消耗,以及提高日志查询效率的技术效果。
为了更好地管理和监测日志信息,可以将日志信息按照不同的分类进行管理,如系统日志、业务日志、多环境日志、错误日志等。同时,可以设置报警机制,当特定类型的日志出现异常或达到一定的阈值时,及时触发报警或自动修复措施。具体地,本公开实施例对于对异常日志的处理过程,可以包括如下操作:对有效日志进行识别,以从有效日志中识别出用于表征应用存在异常的异常日志;根据异常日志,向目标对象发送告警信息。
根据本公开的实施例,异常日志可以配置有异常日志的标识,通过对日志标识的识别,可以从有效日志中,识别出异常日志。
根据本公开的实施例,根据异常日志,向目标对象发送告警信息可以包括如下操作:对在预设时间段内的异常日志的日志数目进行监测;在异常日志的日志数目达到第二预设数目阈值的情况下,向目标对象发送告警信息。
根据本公开的实施例,上述操作可以是基于统计模型的异常检测。具体地,通过对一段时间内异常日志的日志数目进行监测,并在该日志数目达到第二预设数目阈值的情况下,再发送告警信息,可以降低由于单个异常日志所导致的对异常的误判率,不仅为异常定位提供客观依据,还可以降低发送异常日志所需的资源消耗。
可以理解的是,第二预设数目阈值可以根据实际需要进行适应性调整。示例性的,异常日志可以根据对目标应用的历史故障处理情况,分为多个等级类型,例如分为第一等级、第二等级和第三等级,从第一等级到第三等级的异常日志,所代表的故障程度可以越高,对于第一等级到第三等级的异常日志,所设置的第二预设数目阈值可以是逐渐降低的趋势,第三等级所对应的第二预设数目阈值可以是这三个等级中数值最小的,可选的,第三等级也可以不设置第二数目阈值。
根据本公开的实施例,告警信息可以用于提醒目标对象(例如相关人员)处理异常日志。告警信息可以包括异常日志的标题、异常日志内容、异常的应用、异常时刻等。
根据本公开的实施例,异常日志可以配置有告警信息模板,在需要生成告警信息的情况下,可以调用与异常日志相关联的告警信息模板,并将该异常日志的信息与该告警信息模板进行内容拼接,从而得到告警信息。
根据本公开的实施例,根据异常日志,向目标对象发送告警信息也可以包括如下操作:记录添加应用的添加时刻;在添加时刻之后,异常日志的日志数目呈现增加趋势的情况下,向目标对象发送告警信息。
根据本公开的实施例,上述操作可以是基于时间序列的异常监测。具体地,通过记录添加目标应用的添加时刻或使用目标应用处理业务的开始处理时刻,若在添加时刻或开始处理时刻之后,异常日志的数目逐渐增多,则表征该目标应用可能出现或引起了异常,则可以生成与该目标应用已发生异常的告警信息。
根据本公开的实施例,通过采用基于时间序列的异常监测方法,可以提高异常监测的效率,并为异常定位提高高效、客观的依据。
根据本公开的实施例,在用户所使用的查询界面上还可以提供集成其他分析工具,例如数据挖掘、可视化分析等,以扩展日志查询模块的功能。通过将这些工具与ElasticSearch中的日志数据相结合,可以实现更全面、深入的日志分析。
根据本公开的实施例,在用户查询日志的过程中,还可以采取安全性措施,以加强对日志处理过程中的信息进行保护,例如对身份进行验证、对访问权限进行验证和控制以及对数据进行加密等。同时,可以通过性能优化措施,如缓存、负载均衡等,提高用户接收到所查询查询日志的速度和并发能力。
具体地,缓存可以是指对用户所查询的日志以及日志相关信息的结果进行缓存,在响应到有相同查询的情况下,可以向用户直接发送该日志以及日志的相关信息,省去了从数据库中搜索日志,以及进行日志聚类分析所占用的资源,提高了日志查询效率和性能。
负载均衡可以是指预设数据库可以包括多个数据库分片,目标日志集可以分别均匀存储在多个数据库分片中,用户在查询日志时,可以从其中一个数据库分片中获取所请求的日志。又例如,预设数据库可以有至少两个,在用户查询日志时,可以从其中一个数据库中获取所请求的日志。通过采用负载均衡策略,可以提高用户查询日志的效率,节省查询日志所占用的资源。
图5示意性示出了根据本公开实施例的实现日志处理方法的系统架构图。
如图5所示,该系统架构可以包括日志收集模块501、日志处理模块502、MQ消息批量传送模块503、日志存储模块504、日志查询系统505以及异常日志告警模块506。该系统架构旨在以低成本的方式记录系统各级别的日志,并将系统日志、业务日志、机房信息、线程信息、用户ID、追踪链路ID等提供给用户进行个性化查询。使用户能够更好地理解和分析系统运行情况,同时减轻日志记录系统的负担,提高整个系统的性能和效率。
该系统架构通过开源Logback日志框架采集低代码系统日志,根据动态配置规则(如用户ID、日志内容、机房信息、环境信息,日志前缀等)筛选相关日志。同时,自动将用户ID、应用信息、项目信息、环境信息、机房信息、容器信息、线程信息、编排服务信息、时间戳等整合到日志内容中。当日志数量达到设定的第四数目阈值后,将日志内容进行压缩,并通过MQ消息队列将压缩过的日志传输到ElasticSearch进行批量存储。最后,提供一个用户友好的查询界面,方便用户进行日志查询和分析。总体上自动实现低代码平台系统日志的收集、传输、存储和查询分析。
根据本公开的实施例,日志收集模块501用于采集目标应用的日志,具体参考上述操作S201的相关内容,在此不再赘述。
根据本公开的实施例,日志处理模块502,是为了方便用户查询和分析日志信息所执行的处理过程,例如使用过滤器来筛选日志内容,只显示符合特定条件的日志信息。示例性的,可以根据日志级别、时间、用户ID、TraceID、线程信息、日志标题等信息来筛选日志内容,提高用户查询和分析的效率。日志处理模块502具体可以参考操作S202~操作S203的相关内容,以及图3所示的对日志进行筛选与填充的系统架构图,在此不再赘述。
根据本公开的实施例,MQ消息批量传送模块503,用于向预设数据库传输压缩后的日志。在传输过程中,可以对传输情况进行监测,并在传输异常的情况下,向目标对象发送告警信息。
根据本公开的实施例,日志存储模块504,用于接收来自消息队列(MQ)的消息,对日志内容进行解压缩,并将解压后的日志批量插入到预设数据库进行存储(例如插入到ElasticSearch存储服务数据库中进行存储),以便于用户根据需求进行日志检索和分析。日志存储模块504可以参考操作S204,以及图4所示的预设数据库存储目标日志的系统架构图,在此不再赘述。
根据本公开的实施例,日志查询系统505,用于对存储在预设数据库(例如ElasticSearch存储服务数据库)中的日志进行查询和分析。该模块提供了友好的查询界面和接口,使用户可以轻松地根据其需求进行日志查询和检索。同时,该模块还支持高级的日志分析功能,如日志聚类和异常检测,这个界面还可以提供交互式的查询功能,以及可视化的图表和报表,以帮助用户更好地理解和分析系统运行情况。
在异常日志告警模块506中,为了更好地管理和监控日志信息,可以将日志信息按照不同的分类进行管理,如系统日志、业务日志、多环境日志、错误日志等。同时,可以设置告警机制,当预定类型的日志出现异常或达到一定的阈值时,及时触发告警或自动修复措施。
本公开实施例提供的日志处理方法,可以应用于低代码应用,其优势主要体现在以下方面。
基于低代码平台的追踪链路策略,可以自动化地将服务编排信息、容器信息、TraceId等详细信息添加到日志内容中,以实现更准确、全面的日志追踪。通过充分利用低代码平台的能力,使得用户开发过程无感知,不需要额外考虑日志存储问题。同时,通过自动化的服务编排信息和容器信息添加,开发人员可以更方便地追踪和调试应用程序,从而提高开发效率和维护质量。这一技术方案具有广泛的应用前景,可以帮助企业在数字化时代更好地应对复杂的应用程序开发和维护挑战。
基于低代码平台的日志筛选策略,可以根据字段长度的阈值、集群信息、日志级别的阈值、一定时间内允许的批次数量大小、用户ID黑白名单,以及日志类前缀匹配等多元化因素对日志进行全面或百分比筛选。通过这种方式,可以有效减少无效日志的存储,从而优化系统的存储空间,提高系统运行效率。另外,还可以根据实际需求,灵活地扩展筛选策略,例如加入时间戳、IP地址等更多字段,实现更精细化的筛选策略,以便更好地满足业务需求。
需要说明的是,本公开实施例中的流程图所示的操作除非明确说明不同操作之间存在执行的先后顺序,或者不同操作在技术实现上存在执行的先后顺序,否则,多个操作之间的执行顺序可以不分先后,多个操作也可以同时执行。
图6示意性示出了根据本公开的实施例的日志处理装置的框图。
如图6所示,日志处理装置600可以包括采集模块610、筛选模块620、填充模块630和存储模块640。
采集模块610,用于采集目标应用在处理业务过程中生成的多个日志,得到日志集。
筛选模块620,用于利用预设的日志筛选策略从日志集中筛选出有效日志,得到有效日志集。
填充模块630,用于针对有效日志集中的每一个有效日志,根据与有效日志相关联的多个维度数据,对有效日志的日志标签进行内容填充,得到目标日志集。
存储模块640,用于将目标日志集分布式存储在预设数据库中。
根据本公开实施例提供的日志处理方法、装置、设备、存储介质和程序产品,通过采集目标应用在处理业务过程中生成的多个日志,的都日志集;利用预设日志筛选策略从日志集中筛选出有效日志,得到有效日志集;根据与有效日志相关联的多个维度数据对日志标签进行填充,得到目标日志集;将目标日志集分布式存储在预设数据库中。由于在日志处理过程中,对日志集进行了筛选,只存储有效的日志,删除无效的日志,所以降低了对存储资源的消耗;由于对日志标签进行了填充,可以在向用户发送用户所请求的日志时,根据日志标签实现高效、精准的发送;总体上,本公开实施例提供的日志处理方法、装置、设备、存储介质和程序产品至少部分地克服了相关技术存在的日志处理效率低和准确率低的问题,进而达到了提高日志处理效率和准确率的技术效果。
根据本公开的实施例,筛选模块可以包括筛选子模块、第一生成子模块、裁剪子模块、结果子模块和第二生成子模块。
筛选子模块,用于基于预设的日志字段,从日志集中筛选出与日志字段相关联的日志,作为有效日志,其中,预设的日志字段包括以下至少之一:日志级别字段、日志名称字段、日志内容字段。
第一生成子模块,用于根据有效日志,生成有效日志集。
裁剪子模块,用于对日志集中的每一个日志进行裁剪,以将每一个日志裁剪为有效部分和无效部分。
结果子模块,用于根据有效部分的日志信息,得到有效日志。
第二生成子模块,用于根据有效日志,生成有效日志集。
根据本公开的实施例,裁剪子模块可以包括第一裁剪单元和第二裁剪单元。
第一裁剪单元,用于根据预设有效日志长度,对每一个日志进行裁剪,得到有效部分和无效部分,其中,有效部分为每一个日志中符合预设有效日志长度的部分,无效部分为每一个日志中除有效部分之外的其余部分。
第二裁剪单元,用于根据预设的有效日志数目与日志总数目之间的比值,对日志集进行裁剪,得到有效部分和无效部分,其中,有效部分为日志集中符合比值的日志部分,无效部分为日志集中除有效部分之外的其余日志部分。
根据本公开的实施例,存储模块可以包括读取子模块、压缩子模块和传输子模块。
读取子模块,用于读取目标日志集的日志数目。
压缩子模块,用于在目标日志集的日志数目达到第一预设数目阈值的情况下,对目标日志集进行压缩。
传输子模块,用于将压缩后的目标日志集,通过消息队列的方式,向预设数据库的多个应用程序编程接口进行传输,以便预设数据库对压缩后的目标日志集进行解压并存储。
根据本公开的实施例,日志处理装置还可以包括读取模块、搜索模块、分析模块和反馈模块。
读取模块,用于响应于用户查询日志的操作,读取操作中携带的日志标签。
搜索模块,用于根据日志标签,从目标日志集中,搜索日志。
分析模块,用于对搜索到的日志进行聚类分析,得到日志的相关信息。
反馈模块,用于向用户反馈日志和日志的相关信息。
根据本公开的实施例,日志处理装置还可以包括识别模块和发送模块。
识别模块,用于对有效日志进行识别,以从有效日志中识别出用于表征应用存在异常的异常日志。
发送模块,用于根据异常日志,向目标对象发送告警信息。
根据本公开的实施例,发送模块可以包括监测子模块和第一发送子模块。
监测子模块,用于对在预设时间段内的异常日志的日志数目进行监测。
第一发送子模块,用于在异常日志的日志数目达到第二预设数目阈值的情况下,向目标对象发送告警信息。
根据本公开的实施例,发送模块可以包括记录子模块和第二发送子模块。
记录子模块,用于记录添加应用的添加时刻。
第二发送子模块,用于在添加时刻之后,异常日志的日志数目呈现增加趋势的情况下,向目标对象发送告警信息。
根据本公开的实施例,采集模块可以包括采集子模块和第三生成子模块。
采集子模块,用于利用预设采集框架,对应用在处理业务过程中得到的多个日志,进行异步采集。
第三生成子模块,用于根据异步采集到的多个日志,生成日志集。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,采集模块610、筛选模块620、填充模块630和存储模块640中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,采集模块610、筛选模块620、填充模块630和存储模块640中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,采集模块610、筛选模块620、填充模块630和存储模块640中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中日志处理装置部分与本公开的实施例中日志处理方法部分是相对应的,日志处理装置部分的描述具体参考日志处理方法部分,在此不再赘述。
图7示意性示出了根据本公开实施例的适于实现日志处理方法的电子设备的框图。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,根据本公开实施例的电子设备700包括处理器701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。处理器701例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器701还可以包括用于缓存用途的板载存储器。处理器701可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 703中,存储有电子设备700操作所需的各种程序和数据。处理器701、ROM702以及RAM 703通过总线704彼此相连。处理器701通过执行ROM 702和/或RAM 703中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 702和RAM 703以外的一个或多个存储器中。处理器701也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备700还可以包括输入/输出(I/O)接口705,输入/输出(I/O)接口705也连接至总线704。系统700还可以包括连接至输入/输出(I/O)接口705的以下部件中的一项或多项:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至输入/输出(I/O)接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被处理器701执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 702和/或RAM 703和/或ROM 702和RAM 703以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的日志处理方法。
在该计算机程序被处理器701执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分709被下载和安装,和/或从可拆卸介质711被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (14)

1.一种日志处理方法,包括:
采集目标应用在处理业务过程中生成的多个日志,得到日志集;
利用预设的日志筛选策略从所述日志集中筛选出有效日志,得到有效日志集;
针对所述有效日志集中的每一个有效日志,根据与所述有效日志相关联的多个维度数据,对所述有效日志的日志标签进行内容填充,得到目标日志集;
将所述目标日志集分布式存储在预设数据库中。
2.根据权利要求1所述的方法,其中,所述利用预设的日志筛选策略从所述日志集中筛选出有效日志,得到有效日志集,包括:
基于预设的日志字段,从所述日志集中筛选出与所述日志字段相关联的日志,作为所述有效日志,其中,所述预设的日志字段包括以下至少之一:日志级别字段、日志名称字段、日志内容字段;
根据所述有效日志,生成所述有效日志集;以及/或者
对所述日志集中的每一个日志进行裁剪,以将所述每一个日志裁剪为有效部分和无效部分;
根据所述有效部分的日志信息,得到所述有效日志;
根据所述有效日志,生成所述有效日志集。
3.根据权利要求2所述的方法,其中,所述对所述日志集中的每一个日志进行裁剪,以将所述每一个日志裁剪为有效部分和无效部分,包括:
根据预设有效日志长度,对所述每一个日志进行裁剪,得到所述有效部分和所述无效部分,其中,所述有效部分为所述每一个日志中符合所述预设有效日志长度的部分,所述无效部分为所述每一个日志中除所述有效部分之外的其余部分;以及/或者
根据预设的有效日志数目与日志总数目之间的比值,对所述日志集进行裁剪,得到所述有效部分和所述无效部分,其中,所述有效部分为所述日志集中符合所述比值的日志部分,所述无效部分为所述日志集中除所述有效部分之外的其余日志部分。
4.根据权利要求1所述的方法,其中,所述预设数据库配置有多个应用程序编程接口;
所述将所述目标日志集分布式存储在预设数据库中,包括:
读取所述目标日志集的日志数目;
在所述目标日志集的日志数目达到第一预设数目阈值的情况下,对所述目标日志集进行压缩;
将压缩后的目标日志集,通过消息队列的方式,向所述预设数据库的多个应用程序编程接口进行传输,以便所述预设数据库对所述压缩后的目标日志集进行解压并存储。
5.根据权利要求1所述的方法,还包括:
响应于用户查询日志的操作,读取所述操作中携带的所述日志标签;
根据所述日志标签,从所述目标日志集中,搜索所述日志;
对搜索到的所述日志进行聚类分析,得到所述日志的相关信息;
向所述用户反馈所述日志和所述日志的相关信息。
6.根据权利要求1所述的方法,还包括:
对所述有效日志进行识别,以从所述有效日志中识别出用于表征所述应用存在异常的异常日志;
根据所述异常日志,向目标对象发送告警信息。
7.根据权利要求6所述的方法,其中,所述根据所述异常日志,向目标对象发送告警信息,包括:
对在预设时间段内的异常日志的日志数目进行监测;
在所述异常日志的日志数目达到第二预设数目阈值的情况下,向所述目标对象发送告警信息。
8.根据权利要求6所述的方法,其中,所述根据所述异常日志,向目标对象发送告警信息,包括:
记录添加所述应用的添加时刻;
在所述添加时刻之后,所述异常日志的日志数目呈现增加趋势的情况下,向所述目标对象发送告警信息。
9.根据权利要求1所述的方法,其中,所述采集目标应用在处理业务过程中生成的多个日志,得到日志集,包括:
利用预设采集框架,对所述应用在处理业务过程中得到的多个日志,进行异步采集;
根据异步采集到的所述多个日志,生成所述日志集。
10.根据权利要求1所述的方法,其中,所述维度数据包括以下至少之一:
用户标识、所述目标应用的应用信息、业务项目信息、业务环境信息、机房信息、容器信息、线程信息、时间戳。
11.一种日志处理装置,包括:
采集模块,用于采集目标应用在处理业务过程中生成的多个日志,得到日志集;
筛选模块,用于利用预设的日志筛选策略从所述日志集中筛选出有效日志,得到有效日志集;
填充模块,用于针对所述有效日志集中的每一个有效日志,根据与所述有效日志相关联的多个维度数据,对所述有效日志的日志标签进行内容填充,得到目标日志集;
存储模块,用于将所述目标日志集分布式存储在预设数据库中。
12.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至10中任一项所述的方法。
13.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至10中任一项所述的方法。
14.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至10中任一项所述的方法。
CN202311520192.4A 2023-11-15 2023-11-15 日志处理方法、装置、设备及存储介质 Pending CN117573467A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311520192.4A CN117573467A (zh) 2023-11-15 2023-11-15 日志处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311520192.4A CN117573467A (zh) 2023-11-15 2023-11-15 日志处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117573467A true CN117573467A (zh) 2024-02-20

Family

ID=89861818

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311520192.4A Pending CN117573467A (zh) 2023-11-15 2023-11-15 日志处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117573467A (zh)

Similar Documents

Publication Publication Date Title
US11392416B2 (en) Automated reconfiguration of real time data stream processing
US11941017B2 (en) Event driven extract, transform, load (ETL) processing
US11789943B1 (en) Configuring alerts for tags associated with high-latency and error spans for instrumented software
US10560465B2 (en) Real time anomaly detection for data streams
CN109074377B (zh) 用于实时处理数据流的受管理功能执行
US20190095478A1 (en) Information technology networked entity monitoring with automatic reliability scoring
US9953066B2 (en) Automatically generating and reporting merged performance and capacity statistics
US9712410B1 (en) Local metrics in a service provider environment
US10769160B2 (en) Efficient storage and querying of time series metrics
US9992269B1 (en) Distributed complex event processing
US11036608B2 (en) Identifying differences in resource usage across different versions of a software application
US11269808B1 (en) Event collector with stateless data ingestion
US10657099B1 (en) Systems and methods for transformation and analysis of logfile data
US11200108B2 (en) Data lifecycle management
CN112395333B (zh) 用于排查数据异常的方法、装置、电子设备及存储介质
CN113760677A (zh) 异常链路分析方法、装置、设备及存储介质
US9800489B1 (en) Computing system monitor auditing
CN112732663A (zh) 一种日志信息处理方法及装置
US20150089018A1 (en) Centralized management of webservice resources in an enterprise
CN110019045B (zh) 日志落地方法及装置
CN117573467A (zh) 日志处理方法、装置、设备及存储介质
Yuan et al. Design and implementation of accelerator control monitoring system
US11748441B1 (en) Serving real-time big data analytics on browser using probabilistic data structures
CN116401138B (zh) 操作系统的运行状态检测方法、装置、电子设备和介质
US11755453B1 (en) Performing iterative entity discovery and instrumentation

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