立体化日志全链路监控系统、方法、介质及设备与流程

文档序号:29252358发布日期:2022-03-16 10:07阅读:320来源:国知局
立体化日志全链路监控系统、方法、介质及设备与流程

1.本发明涉及日志监控技术领域,具体地,涉及一种立体化日志全链路监控系统、方法、介质及设备。


背景技术:

2.当前,若线上环境存在问题,为查询日志需要运维工程师登录服务器,下载日志并转发日志文件,再由研发工程师对日志文件进行分析。整套操作流程繁琐且耗时较长,不利于问题的快速定位。
3.而且,常见的日志系统与监控系统相分割,两者交互性与联动性不高。例如,监控指标与日志的异常堆栈信息相互独立,使得运维人员在排错过程中,需要两套系统同步查询,操作难度大。
4.专利文献cn111740860a(申请号:cn202010540717.0)公开了一种日志数据传输链路监控方法及装置,方法包括:获取日志数据在传输链路中的链路状态信息,其中,所述链路状态信息是所述传输链路中各链路节点在传输所述日志数据时根据当前自身状态得到的;根据所述链路状态信息,确定符合预设链路异常判定条件的链路节点。然而该专利在微服务场景下,应用部署于不同主机中或者部署在云原生环境中,日志文件分散且容易丢失,各应用调用跨越多个服务,增加了问题追踪与定位的困难程度。


技术实现要素:

5.针对现有技术中的缺陷,本发明的目的是提供一种立体化日志全链路监控系统、方法、介质及设备。
6.根据本发明提供的立体化日志全链路监控系统,包括:
7.日志分析平台:采集应用日志,并对应用日志进行过滤、脱敏、存储、查询和告警;
8.全链路追踪平台:基于应用性能监控系统skywalking采集相关数据,分析和诊断分布式架构下应用的性能瓶颈;
9.监控平台:对基础设施、应用性能、中间件和业务运营指标进行监控,掌控各个接入系统的性能情况,包括应用响应时间、吞吐量、慢响应和错误明细、jvm和中间件状态以及业务指标。
10.优选的,所述日志分析平台基于elasticsearch、logstash、filebeat、kafka建设;
11.所述elasticsearch为基于lucene的搜索服务器,用于日志查询和搜索,并提供restful风格的api接口;
12.所述filebeat和logstash均为轻量级的日志采集、过滤组件;
13.所述kafka为消息队列中间件。
14.优选的,所述skywalking用于收集、分析、聚合、可视化来自不同服务和本地基础服务的数据;通过javaagent探针进行埋点和数据采集,对代码无侵入,通过http或者grpc协议把采集到的数据传输到收集器并展示。
15.优选的,所述监控平台根据prometheus采集相关监控指标数据,所述prometheus为开源的服务监控系统和时间序列数据库,通过基于http的pull模型采集时间序列数据,并提供promql语句支持灵活查询功能。
16.优选的,通过日志与全链路追踪结合,将业务日志和调用链通过请求id互相打通,进行基于全链路追踪和日志系统相互协同快速定位问题。
17.优选的,通过对日志数据中的指标数据进行检测,识别出符合预设异常标准的业务系统,将日志系统和监控系统打通,通过日志监控告警规则配置、告警触发来实现日志数据的监控和告警,从而实现日志的联动告警。
18.优选的,通过立体化系统的ui管理台查看全链路追踪数据、日志数据和各类监控指标数据,自定义配置各类监控预警规则。
19.根据本发明提供的立体化日志全链路监控方法,执行:
20.步骤1:通过日志与全链路追踪结合,将业务日志和调用链通过请求id互相打通,进行基于全链路追踪和日志系统相互协同快速定位问题;
21.步骤2:通过对日志数据中的指标数据进行检测,识别出符合预设异常标准的业务系统,将日志系统和监控系统打通,通过日志监控告警规则配置、告警触发来实现日志数据的监控和告警,从而实现日志的联动告警;
22.步骤3:通过立体化系统的ui管理台查看全链路追踪数据、日志数据和各类监控指标数据,自定义配置各类监控预警规则。
23.根据本发明提供的存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的方法的步骤。
24.根据本发明提供的立体化日志全链路监控设备,包括:控制器;
25.所述控制器包括所述的存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的立体化日志全链路监控方法的步骤;或者,所述控制器包括所述的立体化日志全链路监控系统。
26.与现有技术相比,本发明具有如下的有益效果:
27.(1)本发明提供了一站式的日志管理服务,对日志体系进行规范,采用标准的日志格式便于日志聚合检索,支持对离散的、分散的日志的统一采集、处理、存储和检索,深入挖掘日志价值,通过对日志数据中的指标数据进行智能检测,直接识别异常的业务系统,将日志系统和监控系统打通,通过日志监控告警规则配置、告警触发来实现日志数据的监控和告警;
28.(2)本发明将日志与全链路追踪结合,实现微服务场景下,关联端到端间的事务,可直接通过查找日志,跟踪调用链,快速定位并分析问题,减少了问题定位的复杂度;
29.(3)本发明提取日志关键信息,使其与告警指标相联动,避免各系统独立无关联的弊端。
附图说明
30.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
31.图1为立体化日志全链路监控系统示意图。
具体实施方式
32.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
33.实施例:
34.本发明将日志分析平台、全链路追踪平台与监控平台有机结合,构造一套立体化日志链路监控系统。具体如图1所示。
35.日志分析平台为应用日志提供采集、过滤、脱敏、存储、查询、告警等功能,日志分析平台整体技术方案基于elasticsearch、logstash、filebeat、kafka建设。其中elasticsearch是一个基于lucene,具备分布式多用户能力的全文搜索引擎,提供了restful风格的api接口。elasticsearch是用java语言开发的,并作为apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎,一般用于日志查询和搜索引擎。kafka是一种消息队列中间件,filebeat和logstash都是轻量级的日志采集、过滤组件。
36.全链路追踪平台,依托于skywalking集群采集相关数据,链路追踪能够帮助开发者快速分析和诊断分布式架构下应用的性能瓶颈,提高微服务时代下的开发诊断效率。在分布式环境下一个由客户端发起的请求在后端系统中会经过多个不同的微服务调用来协同产生最后的请求结果,在复杂的微服务架构系统中,几乎每一个前端请求都会形成一条复杂的分布式服务调用链路,在每条链路中任何一个依赖服务出现延迟过高或错误的时候都有可能引起请求最后的失败,这个时候,对于每个请求全链路调用的追踪就变得越来越重要,通过全链路追踪可以快速发现错误根源。skywalking是一个开放源码的,用于收集、分析、聚合、可视化来自于不同服务和本地基础服务数据的可观察的平台。skywalking通过javaagent(基于java字节码技术)探针进行埋点和数据采集,对代码无侵入,通过http或者grpc协议把采集到的数据传输到收集器并展示。全链路追踪平台主要基于skywalking进行企业级改造,满足我们的需求。
37.监控平台提供如基础设施监控、应用性能监控、中间件监控、业务运营指标等,以全面地掌控各个接入系统的性能情况,包括应用响应时间、吞吐量、慢响应和错误明细、jvm状态、中间件等监控、业务等指标。监控平台依托于prometheus采集相关监控指标数据。prometheus是一个开源的服务监控系统和时间序列数据库,主要通过基于http的pull模型采集时间序列数据,并提供promql语句支持灵活的查询功能。
38.日志分析平台包括:filebeat、logstash、elasticsearch集群1;
39.skywalking包括:skywalking trace、skywalking agent、skywalking collector、elasticsearch集群2;
40.prometheus包括:metricbeat。
41.图1中beats是采集器的统称,beats采集应用系统所需的各类数据的指标。根据beat类型分为filebeat和metricbeat,filebeat是轻量级的日志采集器,metricbeat是监控指标采集器,metricbeat会将采集的监控指标发送至prometheus组件,并存储在组件自带的时许数据库中;filebeat采集的日志发送给kafka消息队列存储,存储的日志消息会实时被消费,logstash作为kafka的消费者,会从kafka集群节点实时拉取原始日志,然后将获
取到的原始日志根据规则进行分析、清洗、过滤,最后将处理好的日志转发至elasticsearch1集群。同时由skywalking的agent收集全链路监控信息,skywalking collector处理数据后,传输至elasticsearch2集群保存全链路监控数据。
42.整个实现效果如下:
43.1、通过日志与全链路追踪结合,将业务日志和调用链通过trace id互相打通,用于定位业务链路中的“慢链路”,进行全链路追踪、日志系统相互协同快速定位问题,减少问题定位的复杂度。
44.2、通过对日志数据中的指标数据进行智能检测,直接识别异常的业务系统,将日志系统和监控系统打通,通过日志监控告警规则配置、告警触发来实现日志数据的监控和告警实现日志的联动告警。
45.3、通过立体化系统的ui管理台查看全链路追踪数据、日志数据和各类监控指标数据,自定义配置各类监控预警规则。
46.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
47.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1