一种数据的实时交互监测与分析方法及装置与流程



1.本发明属于数据监测技术领域,具体而言属于一种数据的实时交互监测与分析方法及装置。


背景技术:



2.在云原生时代,单体应用程序被拆分为一组微服务,一组微服务通过网络通讯,相互协调、配合,一起为用户提供完整的服务。相比单体应用,由于程序被拆分到多个独立运行的微服务,微服务间的调用关系非常复杂,应用整体的性能往往难以监测、故障难以排查,而为了对整个微服务系统进行故障诊断、性能调优、性能理解,往往需要各种数据,其中主要包括指标、日志、链路三种数据,对数据的交互监测与分析成为主要难题。
3.elk作为现有的日志收集、分析解决方案,主要由三个开源项目组成,即elasticsearch,logstash,kibana。其中,logstash负责服务器侧日志数据的收集,elasticsearch则是搜索和分析引擎,kibana负责对数据进行可视化。elk三者可以组成一个日志监控与分析系统。但是,elk是三个独立的项目,需要分别安装部署,没有统一的部署、管理工具,步骤繁杂,难以管理和运维;logstash本身不采集指标、日志,需要为监控的服务安装额外的插件,才能顺利将采集的数据输入logstash;因为采集的数据由各插件输入logstash,如果logstash处理不及时且没有将数据缓存下来,将导致输入数据的丢失。logstash本身并不支持缓存,如果需要缓存输入的数据,则需在elk中引入发布订阅消息系统kafka,这将进一步提高部署运维的难度。
4.分布式追踪技术产生的链路数据能够精准地刻画分布式软件系统整体的执行逻辑。目前市面上主流的链路追踪系统实现方式各不相同,其优缺点也各不相同。它们产生的链路数据的字段名称、传输协议各不相同,这就使得用户在更换链路追踪技术时,不得不更换整套链路追踪系统。比如,用户最初采用zipkin分布式链路追踪,之后为了更低的代码侵入性,转而使用jaeger,但是为此却不得不采用jaeger的丰富程度更低的ui界面,而不能继续沿用zipkin的ui界面。
5.现有的数据监控系统及方法灵活性较差,需要分别安装部署、管理工具,步骤复杂,难以管理和运维,只能对特定的分布式链路数据类型进行采集和分析,对数据处理不及时,导致输入数据丢失。
6.有鉴于此,特提出本发明。


技术实现要素:



7.有鉴于此,本发明公开了一种数据的实时交互监测与分析的方法及装置,能够对全链路数据进行采集,具有存储功能,步骤简单,便于管理及运维。
8.具体的,本发明是通过以下技术方案实现的:
9.第一方面,本发明公开了一种数据的实时交互监测与分析方法,包括如下步骤:
10.s1、设置工作区间token,将采集客户端部署到目标机器上进行数据采集,接收所
述目标机器及其所在网络上的全链路数据,并对所述全链路数据进行初步处理得到源数据;
11.s2、将所述源数据在所述采集客户端的io模块进行数据缓存,并通过数据网关发送至数据中心
12.s3、所述数据中心接收来自所述数据网关的所述源数据后,根据所述工作空间token区分不同的用户,将数据分别写入相应的、相互隔离的数据库,并对所述数据库中的数据进行异常检测分析,触发告警通知用户;
13.s4、用户通过前端页面查看所述数据库中的数据,并通过筛选、聚类对数据进一步进行处理。
14.具体地,在s1步骤中,采集客户端部署的方式可以包括将采集客户端通过ansible批量部署或在k8s中以daemonset方式安装在目标机器上,或通过配置要采集数据的应用让其暴露相应指标,采集客户端再通过http(s)网络协议远程从目标机器抓取数据,或者让目标机器、应用通过rpc调用、http(s)请求方式主动将数据推送到采集客户端所在的目标机器上;
15.通过本发明的采集客户端,可以接收全链路数据,具有全链路数据接收能力,对于链路数据,用户只需要配置好对应的链路系统数据接收器,链路接收与转换前端便能监听到达该网络端点的链路数据,并将各种链路数据都转换为datakitspan链路数据,实现多种链路追踪系统生成的链路数据在同一个平台上进行观测,并且方便后续进行初步处理操作;
16.对于日志数据,通过日志文本处理模板,将符合所述日志文本处理模板的日志文本数据进行处理或通过文本处理引擎对不同格式的日志数据进行自动化提取操作,得到结构化数据;
17.对于时序数据,根据采集对象的不同,开启相应的采集器,根据采集到的数据具体进行切割、过滤、增删标签等。
18.在s2步骤中,数据网关在数据流量过大,数据中心处理不及时的情况下,能够对源数据进行缓存处理;
19.在s3步骤中,通过内置多种监测类型,用户可以配置相应的告警规则,在监测到异常时,数据中心保存异常事件,并触发告警通知用户。
20.在s4步骤中,用户可以通过内置的分析模板对数据指标进行分析。
21.进一步地,所述s3步骤中,所述io模块封装了统一的所述源数据构建、处理和发送接口,便于将所述源数据接入所述数据中心,并且所述io模块会定期、定量通过http(s)将所述源数据发送给所述数据网关。
22.进一步地,所述s1步骤中,所述数据采集的方式包括:采用定期采集的方式主动在所述目标机器上采集数据;或被动打开数据上传api,接收应用主动推送的数据。
23.进一步地,所述s1步骤中,所述全链路数据包括时序指标,日志和各种链路数据。
24.进一步地,所述s1步骤中,所述初步处理的方式包括通过日志文本处理模板,将符合所述日志文本处理模板的日志文本数据进行处理;
25.或通过文本处理引擎对不同格式的日志数据进行自动化提取操作,得到结构化数据;
26.或将所述各种链路数转化成统一的datakitspan链路数据格式,并对所述datakitspan链路数据进行过滤、切割、命名和增减标签处理。
27.进一步地,所述s2步骤中,所述io模块在网络阻塞或网络连接不通的情况下将所述源数据进行缓存。
28.进一步地,所述s4步骤中,所述进一步处理包括对数据进行分析、聚合相关事件,对其进行检索、汇总。
29.第二方面,本发明公开了一种数据的实时交互监测与分析装置,包括:
30.源数据模块:设置工作区间token,将采集客户端部署到目标机器上进行数据采集,链路接收与转换前端接收所述目标机器及其所在网络上的全链路数据,并对所述全链路数据进行初步处理得到源数据;
31.io模块:将所述源数据在所述采集客户端的io模块进行数据缓存,并通过数据网关发送至数据中心;
32.数据中心模块:所述数据中心接收来自所述数据网关的所述源数据后,根据所述工作空间token区分不同的用户,将数据分别写入相应的、相互隔离的数据库,并对所述数据库中的数据进行异常检测分析,触发告警通知用户;
33.前端展示模块:用户通过前端页面查看所述数据库中的数据,并通过筛选、聚类对数据进一步进行处理。
34.第三方面,本发明公开了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如第一方面所述的实时交互监测与分析方法的步骤。
35.第四方面,本发明公开了一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的实时交互监测与分析方法的步骤。
36.与现有技术相比,本发明的有益效果在于:
37.本发明提出的数据的实时交互监测与分析方法及装置,通过采集客户端可以对全链路数据进行采集,并对其进行过滤、运算,最终发送到数据中心,实现多种链路追踪系统生成的链路数据能够在同一平台上进行观测;
38.通过本发明的采集客户端,可以接收全链路数据,具有全链路数据接收能力,对于链路数据,用户只需要配置好对应的链路系统数据接收器,链路接收与转换前端便能监听到达该网络端点的链路数据,并将各种链路数据都转换为datakitspan链路数据,实现多种链路追踪系统生成的链路数据在同一个平台上进行观测,并且方便后续进行初步处理操作;
39.对于日志数据,通过日志文本处理模板,将符合所述日志文本处理模板的日志文本数据进行处理或通过文本处理引擎对不同格式的日志数据进行自动化提取操作,得到结构化数据;
40.对于时序数据,根据采集对象的不同,开启相应的采集器,根据采集到的数据具体进行切割、过滤、增删标签等。
41.并且通过本发明的方法,在数据采集过程中,不仅能够实现数据采集,还能够实现数据处理,并且本发明的方法能够对多种类型的数据进行采集,能够提供各种日志文本处理模板,可以方便对符合这些模板的日志进行处理,将文本日志转化为结构化数据;在网络
阻塞时,本发明的方法能够通过将数据缓存在io模块中,在网络恢复后及时地将数据从缓存中取出并发送至数据中心。
附图说明
42.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
43.图1为本发明实施例提供的实时交互监测与分析方法流程示意图;
44.图2为本发明实施例提供的实时交互监测与分析方法的整体流程图;
45.图3为本发明实施例提供的实时交互监测与分析装置示意图;
46.图4为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
47.下面将结合附图和具体实施方式对本发明的技术方案进行清楚、完整地描述,但是本领域技术人员将会理解,下列所描述的实施例是本发明一部分实施例,而不是全部的实施例,仅用于说明本发明,而不应视为限制本发明的范围。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
48.为了更加清晰的对本发明中的技术方案进行阐述,下面以具体实施例的形式进行说明。
49.实施例
50.本发明实施例一种数据的实时交互监测与分析方法,参阅图1所示,包括以下步骤:
51.s1、设置工作区间token,将采集客户端部署到目标机器上进行数据采集,接收所述目标机器及其所在网络上的全链路数据,并对所述全链路数据进行初步处理得到源数据;
52.s2、将所述源数据在所述采集客户端的io模块进行数据缓存,并通过数据网关发送至数据中心;
53.s3、所述数据中心接收来自所述数据网关的所述源数据后,根据所述工作空间token区分不同的用户,将数据分别写入相应的、相互隔离的数据库,并对所述数据库中的数据进行异常检测分析,触发告警通知用户;
54.s4、用户通过前端页面查看所述数据库中的数据,并通过筛选、聚类对数据进一步进行处理。
55.本发明实际操作按照如下流程,参阅图2所示,具体表现为:
56.用户在目标机器上安装部署采集客户端,并通过toml配置文件对采集客户端进行配置,通过配置,可以设置开启哪些采集器,设置对采集到的数据进行何种处理,以及配置客户端可占用的计算机资源多少等;通过配置各种分布式链路追踪系统,将它们生成的链路数据发送至某个网络端点,本发明通过链路接收与转换前端接收到达的链路数据,包括ddtrace数据,skywalking数据,opentelemetry数据,jaeger数据,zipkin数据等,并将各种
链路数据转换为datakitspan链路数据;通过链路处理后端接收链路接收与转换前端发送来的datakitspan链路数据,并对此链路数据进行初步处理,可以对链路数据进行过滤,根据链路中的错误码、资源名、http响应码、是否是稀有资源等,并基于概率对链路数据进行采样,并将过滤、采样得到的源数据传递给采集客户端的io模块。
57.通过采集客户端的io模块将源数据发送给数据网关,在网络阻塞或网络连接不通的情况下将源数据进行缓存,具体地,借助嵌入式键值对数据库boltdb、发送队列与异步发送功能实现,在源数据发送给io模块后,尝试将源数据发送通向发送队列的管道,若管道阻塞,说明目前有许多数据尝试进入发送队列,则将源数据暂存到boltdb中;若源数据顺利进入发送队列,则源数据被暂存在该发送队列中,异步发送协程从发送队列拿取源数据没常识发送到数据中心的https端点,若发送失败,则将源数据放回boltdb,并在日志中报告发送失败事件。
58.数据网关接收到io模块发送的源数据,并将源数据发送至数据中心,若因为某些原因导致发送到数据中心失败,或者因为流量较大,来不及发送给数据中心,数据网关则将这些源数据持久化到磁盘,待后续流量降低或网络恢复时,再将这些数据发送给数据中心。
59.数据中心接收来自数据网关的源数据,根据工作区间token区分不同用户并将不同工作区间的数据写入不同的数据库中,使得不同工作空间之间数据彼此隔离,互不干扰,在源数据存入数据库后,对数据库中的时序数据、日志数据进行数据分析,用户通过配置相应的告警规则,在检测到异常时,保存异常事件,并触发告警通知用户。
60.用户通过前端页面查看数据库中的数据,并通过分析模板对指标数据进行分析,通过聚合相关事件,对其进行检索、汇总。通过数据仪表盘、查看器,以及钻取和跳转功能生成历史指标数据走势,用户可以根据历史指标数据走势,分析未来一段时间可能的cpu负载、网络流量等信息。
61.图3是本发明实施例提供的一种数据的实时交互监测与分析装置示意图,其包括:
62.源数据模块:设置工作区间token,将采集客户端部署到目标机器上进行数据采集,链路接收与转换前端接收所述目标机器及其所在网络上的全链路数据,并对所述全链路数据进行初步处理得到源数据;
63.io模块:将所述源数据在所述采集客户端的io模块进行数据缓存,并通过数据网关发送至数据中心;
64.数据中心模块:所述数据中心接收来自所述数据网关的所述源数据后,根据所述工作空间token区分不同的用户,将数据分别写入相应的、相互隔离的数据库,并对所述数据库中的数据进行异常检测分析,触发告警通知用户;
65.前端展示模块:用户通过前端页面查看所述数据库中的数据,并通过筛选、聚类对数据进一步进行处理。
66.该装置主要由上述四个模块构成,通过该系统的搭建很好的实现同时挂载同一个文件系统可实现并行操作的目的。
67.具体实施时,以上各个模块可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
68.图4为本发明公开的一种计算机设备的结构示意图。参考图4所示,该计算机设备
400,至少包括存储器402和处理器401;所述存储器402通过通信总线403和处理器连接,用于存储所述处理器401可执行的计算机指令,所述处理器401用于从所述存储器402读取计算机指令以实现上述任一实施例所述实时交互监测与分析方法的步骤。
69.对于上述装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
70.适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如eprom、eeprom和闪存设备)、磁盘(例如内部磁盘或可移动盘)、磁光盘以及cd rom和dvd-rom盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
71.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

技术特征:


1.一种数据的实时交互监测与分析方法,其特征在于,包括如下步骤:s1、设置工作区间token,将采集客户端部署到目标机器上进行数据采集,接收所述目标机器及其所在网络上的全链路数据,并对所述全链路数据进行初步处理得到源数据;s2、将所述源数据在所述采集客户端的io模块进行数据缓存,并通过数据网关发送至数据中心;s3、所述数据中心接收来自所述数据网关的所述源数据后,根据所述工作空间token区分不同的用户,将数据分别写入相应的、相互隔离的数据库,并对所述数据库中的数据进行异常检测分析,触发告警通知用户;s4、用户通过前端页面查看所述数据库中的数据,并通过筛选、聚类对数据进一步进行处理。2.根据权利要求1所述的实时交互监测与分析方法,其特征在于,所述s2步骤中,所述io模块封装了统一的所述源数据构建、处理和发送接口,便于将所述源数据接入所述数据中心,并且所述io模块会定期、定量通过http(s)将所述源数据发送给所述数据网关。3.根据权利要求1所述的实时交互监测与分析方法,其特征在于,所述s1步骤中,所述数据采集的方式包括:采用定期采集的方式主动在所述目标机器上采集数据;或被动打开数据上传api,接收应用主动推送的数据。4.根据权利要求1所述的实时交互监测与分析方法,其特征在于,所述s1步骤中,所述全链路数据包括时序指标、日志和各种链路数据。5.根据权利要求4所述的实时交互监测与分析方法,其特征在于,所述s1步骤中,所述初步处理的方式包括:通过日志文本处理模板,将符合所述日志文本处理模板的日志文本数据进行处理;或通过文本处理引擎对不同格式的日志数据进行自动化提取操作,得到结构化数据;或将所述各种链路数转化成统一的datakitspan链路数据格式,并对所述datakitspan链路数据进行过滤、切割、命名和增减标签处理。6.根据权利要求1所述的实时交互监测与分析方法,其特征在于,所述s2步骤中,所述io模块在网络阻塞或网络连接不通的情况下将所述源数据进行缓存。7.根据权利要求1所述的实时交互监测与分析方法,其特征在于,所述s4步骤中,所述进一步处理包括对数据进行分析、聚合相关事件,对其进行检索、汇总。8.一种云应用的实时交互监测与分析方法,其特征在于,包括如下步骤:源数据模块:设置工作区间token,将采集客户端部署到目标机器上进行数据采集,链路接收与转换前端接收所述目标机器及其所在网络上的全链路数据,并对所述全链路数据进行初步处理得到源数据;io模块:将所述源数据通过采集客户端的io模块发送至数据网关,所述数据网关将所述源数据进行数据缓存并发送至数据中心;数据中心模块:所述数据中心接收来自所述数据网关的所述源数据后,根据所述工作空间token区分不同的用户,将数据分别写入相应的、相互隔离的数据库,并对所述数据库中的数据进行异常检测分析,触发告警通知用户;前端展示模块:用户通过前端页面查看所述数据库中的数据,并通过筛选、聚类对数据进一步进行处理。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序执行时实
现权利要求1-7所述实时交互监测与分析方法的步骤。10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7所述实时交互监测与分析方法的步骤。

技术总结


本发明提供了一种数据的实时交互监测与分析方法及装置,所述实时交互监测与分析方法包括:S1、设置工作区间Token,将采集客户端部署到目标机器上进行数据采集,接收所述目标机器及其所在网络上的全链路数据,并对所述全链路数据进行初步处理得到源数据;S2、将源数据在采集客户端的IO模块进行数据缓存,并通过数据网关发送至数据中心;S3、数据中心接收到源数据后,将数据分别写入数据库,并对数据库中的数据进行异常检测分析,触发告警;S4、用户通过前端页面查看数据库中的数据,并通过筛选、聚类对数据进一步进行处理。本发明的方法能够对全链路数据进行采集,具有存储功能,步骤简单,便于管理及运维。便于管理及运维。便于管理及运维。


技术研发人员:

程学林 彭泳辉 蒋烁淼 杨小虎

受保护的技术使用者:

上海驻云信息科技有限公司

技术研发日:

2022.09.22

技术公布日:

2022/12/22

本文发布于:2024-09-23 16:22:34,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/46599.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   所述   链路   数据中心
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议