一种云原生应用日志处理方法及系统技术方案

技术编号:39519544 阅读:13 留言:0更新日期:2023-11-25 18:58
本发明专利技术提供了一种云原生应用日志处理方法及系统,用于分布式应用集群,包括:对日志框架进行自定义,形成统一的日志输出规范并存放于公共规范库;在多个应用内引入公共规范库以建立依赖,并分别配置多个应用的日志级别;由多个应用分别根据日志级别将日志内容数据输出到控制台;采集多个日志文件并输出至消息队列中,依次取用多个日志文件,将多个日志内容数据写入数据存储源,并根据任一日志内容数据的日志级别判断是否写入异常队列;当检测到日志内容数据写入异常队列时,发出异常警告消息以将异常日志内容数据上报

【技术实现步骤摘要】
一种云原生应用日志处理方法及系统


[0001]本专利技术涉及云原生应用服务领域,尤其涉及一种云原生应用日志处理方法及系统


技术介绍

[0002]Kubernetes
和云原生应用设计理念密切相关,因为
Kubernetes
是云原生应用开发和部署的重要基础设施之一


Kubernetes
中,应用程序运行在跨集群的多个节点,同时服务也将分布在多个集群或者多个云厂商中

如何快速发现应用运行异常并快速追踪到异常原因变得非常困难且极具挑战性

在生产环境中,系统的稳定性是维持业务稳定的重要基石,而日志收集与快速处理则直接关乎系统稳定性与业务可持续性

[0003]当前云原生应用的收集与处理存在一些缺点

随着云原生应用规模的增大,日志数据的量也会指数级增加

传统的集中式日志收集与处理系统可能无法处理这种大规模的数据流,会导致系统性能下降或数据丢失

云原生环境中可能存在大量无效的日志数据,如调试日志

信息性日志等

这些无效的日志数据会占用存储空间并增加处理的负担,同时也会降低对重要日志事件的关注度

由于云原生应用通常运行在分布式环境中,日志数据的产生和处理可能涉及多个物理节点,因此对日志数据的安全性保护面临挑战

需要确保日志数据的机密性

完整性和可靠性

云原生应用通常由多个容器和微服务组成,不同组件和应用可能会使用不同的日志格式和规范,导致日志收集与处理困难

需要进行日志格式的标准化和统一

云原生应用的日志收集和处理需要与监控和告警系统进行集成,以便及时发现和解决潜在的问题

然而,确保各个系统之间的无缝集成和协同工作可能是一个挑战


技术实现思路

[0004]为了克服上述技术缺陷,本专利技术的目的在于提供一种云原生应用日志处理方法及系统

[0005]本专利技术公开了一种云原生应用日志处理方法,用于分布式应用集群,包括:
[0006]对日志框架进行自定义,形成统一的日志输出规范,将所述日志输出规范存放于公共规范库;
[0007]在多个所述应用内引入所述公共规范库以建立依赖,并分别配置多个所述应用的日志级别;
[0008]配置所述应用的控制台,并由多个所述应用分别根据所述日志级别将日志内容数据输出到控制台;
[0009]采集多个所述日志文件并输出至消息队列中,自所述消息队列中依次取用多个所述日志文件,将多个所述日志文件中的所述日志内容数据写入数据存储源,并根据任一所述日志内容数据的日志级别判断是否写入异常队列;
[0010]当检测到所述日志内容数据写入所述异常队列时,发出异常警告消息以将异常信息通过消息通道进行异常上报

[0011]优选地,还包括:
[0012]部署可视化分析工具,所述可视化分析工具接入所述数据存储源,对所述数据存储源内的多个所述日志内容数据进行搜索并输出分析图表,以评定多个所述应用的运行状况

[0013]优选地,所述判断是否写入异常队列,还包括:
[0014]依次将多个所述消息队列中的所述日志内容数据输入至预先训练的人工智能检测模型,所述人工智能检测模型获取任一所述日志内容数据的数据特征进行推论并输出所述日志内容数据的检测结果,根据所述检测结果判断所述日志内容数据是否写入异常队列

[0015]优选地,还包括:
[0016]关闭多个所述应用将日志内容数据写入至所述应用的磁盘文件的输出通道,以节省所述应用的磁盘文件的存储空间,并能够避免应用性能损耗

[0017]优选地,还包括:
[0018]对所述应用的多个请求分别配置对应的链路标识,所述链路标识在所述请求经过的线程中传递;
[0019]所述日志输出规范中的字段包括链路标识,使所述日志内容数据实现对多个所述请求的链路追踪

[0020]优选地,还包括:
[0021]所述日志输出规范中的字段包括租户编号与租户名称,以对所述应用所输出的不同租户的所述日志内容数据实现隔离

[0022]优选地,所述采集多个所述日志内容数据并输出至所述消息队列中,包括:
[0023]分别在多个节点上运行日志采集实例以从磁盘文件中获取所述日志文件,并将多个所述日志文件输出至所述消息队列中

[0024]优选地,还包括:
[0025]根据任一所述应用的运行状况对该所述应用进行优化

[0026]优选地,所述预先训练的人工智能检测模型通过以下步骤训练获得:
[0027]获取一待训练人工智能检测模型以及多个训练日志内容数据,对所述多个训练日志内容数据进行预处理,以去除所述多个训练日志内容数据中的无关信息,并标记存在异常事件的训练日志内容数据;
[0028]分别对所述多个训练日志内容数据提取数据特征,所述数据特征包括统计特征

时间序列特征

文本特征中的一项或多项;
[0029]将所述多个数据特征输入所述待训练人工智能检测模型,并采用监督学习算法或无监督学习算法,使所述人工智能检测模型学习所述多个数据特征与异常事件之间的映射关系;
[0030]评估训练模型的性能,以对所述待训练人工智能检测模型进行参数优化,直至所述待训练人工智能检测模型收敛,获得所述人工智能检测模型

[0031]本专利技术还公开了一种云原生应用日志处理系统,用于分布式应用集群,包括:
[0032]管理模块,所述管理模块对日志框架进行自定义,形成统一的日志输出规范,将所述日志输出规范存放于公共规范库;
[0033]所述管理模块分别在多个所述应用内引入所述公共规范库以建立依赖,并分别配置多个所述应用的日志级别;
[0034]所述管理模块配置所述应用的控制台,并由多个所述应用分别根据其日志级别将日志内容数据输出到控制台,使得多个所述日志内容数据的数据结构与所述日志输出规范的数据结构统一;
[0035]日志采集模块,采集多个所述日志文件并输出至所述消息队列中,自所述消息队列中依次取用多个所述日志文件中的所述日志内容数据,将多个所述日志内容数据写入数据存储源,并根据任一所述日志内容数据的日志级别判断是否写入异常队列;
[0036]异常检测模块,当检测到所述日志内容数据写入所述异常队列时,发出异常警告消息以将该异常信息通过消息通道进行异常上报

[0037]采用了上述技术方案后,与现有技术相比,具有以下有益效果:
[0038]1.
由应用将日志内容数据直接输出至控制台,减少本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种云原生应用日志处理方法,用于分布式应用集群,其特征在于,包括:对日志框架进行自定义,形成统一的日志输出规范,将所述日志输出规范存放于公共规范库;在多个所述应用内引入所述公共规范库以建立依赖,并分别配置多个所述应用的日志级别;配置所述应用的控制台,并由多个所述应用分别根据所述日志级别将日志内容数据输出到控制台;采集多个日志文件并输出至消息队列中,自所述消息队列中依次取用多个所述日志文件,将多个所述日志文件中的所述日志内容数据写入数据存储源,并根据任一所述日志内容数据的日志级别判断是否写入异常队列;当检测到所述日志内容数据写入所述异常队列时,发出异常警告消息以将异常信息通过消息通道进行异常上报
。2.
根据权利要求1所述的云原生应用日志处理方法,其特征在于,还包括:部署可视化分析工具,所述可视化分析工具接入所述数据存储源,对所述数据存储源内的多个所述日志内容数据进行搜索并输出分析图表,以评定多个所述应用的运行状况
。3.
根据权利要求1所述的云原生应用日志处理方法,其特征在于,所述判断是否写入异常队列,还包括:依次将多个所述消息队列中的所述日志内容数据输入至预先训练的人工智能检测模型,所述人工智能检测模型获取任一所述日志内容数据的数据特征进行推论并输出所述日志内容数据的检测结果,根据所述检测结果判断所述日志内容数据是否写入异常队列
。4.
根据权利要求1所述的云原生应用日志处理方法,其特征在于,还包括:关闭多个所述应用将日志内容数据写入至所述应用的磁盘文件的输出通道,以节省所述应用的磁盘文件的存储空间,并能够避免应用性能损耗
。5.
根据权利要求1所述的云原生应用日志处理方法,其特征在于,还包括:对所述应用的多个请求分别配置对应的链路标识,所述链路标识在所述请求经过的线程中传递;所述日志输出规范中的字段包括链路标识,使所述日志内容数据实现对多个所述请求的链路追踪
。6.
根据权利要求1所述的云原生应用日志处理方法,其特征在于,还包括:所述日志输出规范中的字段包括租户编号与租户名称,以对所述应用所输出的不同租户的所述日志内容数据实现隔离
。7.
根据权利要...

【专利技术属性】
技术研发人员:艾如飞石陶元李才博许庭银
申请(专利权)人:昭通亮风台信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1