一种系统化的多源异构运维数据接入并转换的方法与流程

专利2023-07-15  106



1.本发明涉及运维数据领域,具体是指一种系统化的多源异构运维数据接入并转换的方法。


背景技术:

2.运维数据种类繁多,按照数据格式来分的话分为指标数据、日志数据和跟踪(tracing)数据。指标数据通常是结构化数据,日志数据通常是半结构化数据,而跟踪数据既有结构化数据又有半结构化的日志数据。同时按照数据来源来分的话,运维数据又可以从不同数据来源获取,例如不同的监控平台和日志系统,以及从配置管理系统(cmdb)中获取硬件的配置数据等,所以运维数据是真正的多源异构数据。
3.在做智能运维(aiops)平台过程中,需要对运维数据进行大量的清洗、转换、关联、打标签等处理后交由ai算法进行消费,而由于数据源格式的不同,迫切需要一种方法将源数据转换为相应的目标格式数据,同时在转换过程中将它们进行关联。
4.在运维领域现有的技术方案主要是基于python脚本的转换方式。
5.现有技术的缺点主要包括:
6.(1)开发周期较长:现有技术主要是写代码开发。需要经历需求调研,设计,开发,测试阶段,开发周期较长;
7.(2)数据处理质量不高:经常会因为数据处理流程的不完善导致的数据质量问题,导致需要反复修改;
8.(3)数据处理能力差:因为是独立的python脚本,所以在处理大数据量时捉襟见肘,不能很好的处理海量运维数据。
9.基于上述多个原因,一种系统化的多源异构运维数据接入并转换的方法成为整个社会亟待解决的技术问题。


技术实现要素:

10.为解决上述技术问题,本发明提供的技术方案为:一种系统化的多源异构运维数据接入并转换的方法,包括以下步骤,
11.(1)配置数据源,预定的数据源目前有kafka数据源,文件数据源,zabbix指标源,prometheus指标源,数据源可以灵活定制,可以方便的扩展到关系型数据库;
12.(2)选择数据目标数据格式,目标格式主要为json,需要定义字段名,定义json字段的嵌套等;
13.(3)定义映射关系,映射关系包括基础映射、连接映射和表达式映射;
14.(4)创建流任务,我们将前面几个步骤输入的内容转换成任务的参数传入后台引擎,后台引擎逻辑是预先定义好的,后台使用nifi提供高可用,分布式,这样就完成了数据流从接入到输出的转换过程。
15.进一步地,所述步骤(1)中数据类型支持指标数据、日志数据和跟踪数据的一种或
几种。
16.进一步地,所述步骤(3)中基础映射也可以称作一对一映射指从源数据中的一个字段对应目标格式的一个字段。
17.进一步地,所述步骤(3)中连接映射也可以称作多对一映射指从源数据中的多个字段对应目标格式的一个字段,内容可以顺序拼接而成。
18.进一步地,所述步骤(3)中表达式映射是指利用自定义函数实现对源数据字段的特定转换表达式可引用源数据字段,对字段内容进行转换,引用字段以!{开头,以结束分隔符}结尾。
19.发明与现有技术相比的优点在于:
20.(1)轻松扩展数据源,快速适配新类型数据源。
21.(2)开发者不必写复杂的代码,只需输入配置参数,创建任务。
22.(3)调试修改方便,无需经过复杂的本地调试,编译,上线等阶段。
23.(4)能够大幅节省数据接入时间,从而降低成本。
附图说明
24.图1为本发明一种系统化的多源异构运维数据接入并转换的方法的示意图。
具体实施方式
25.下面结合附图对本发明做进一步的详细说明。
26.结合附图,对本发明进行详细介绍。
27.本发明在具体实施时提供了一种系统化的多源异构运维数据接入并转换的方法,配置数据源
28.预定的数据源目前有kafka数据源,文件数据源,zabbix指标源,prometheus指标源,数据源可以灵活定制,可以方便的扩展到关系型数据库。数据类型支持指标数据(metric)、日志数据(log)、跟踪数据(trace)等。
29.2、选择数据目标数据格式
30.目标格式主要为json,需要定义字段名,定义json字段的嵌套等。
31.3、定义映射关系
32.1)基础映射
33.也可以称作一对一映射指从源数据中的一个字段对应目标格式的一个字段
34.2)连接映射
35.也可以称作多对一映射指从源数据中的多个字段对应目标格式的一个字段,内容可以顺序拼接而成。
36.3)表达式映射。
37.是指利用自定义函数实现对源数据字段的特定转换
38.表达式可引用源数据字段,对字段内容进行转换,引用字段以!{开头,以结束分隔符}结尾。在开始和结束分隔符之间是字段本身的文本。以下是目前的自定义表达式
39.a:datetransform表达式
40.日期转换函数
41.例:
42.datetransform(!{time},'yyyy-mm-dd't'hh:mm:ss.sss','yyyy-mm-dd hh:mm:ss','asia/shanghai')
43.time字段的值为2022-02-21t06:44:30.060时,输出2022-02-21 06:44:30
44.b:valuemapping表达式
45.可理解为字段的值映射,参数有两个,第一个是转换的字段,第二个是映射关系
46.例:
47.valuemapping(!{severity},'[{"source_value":"trace","target_value":1},{"source_value":"info","target_value":2},]')
[0048]
severity字段原值为trace时输出1,原值为info时输出2.
[0049]
c:grok表达式
[0050]
可对文本内容进行解析。
[0051]
例:
[0052]
grok(!{log},’%{timestamp_iso8601:time}%{greedydata:thread}%{data:level}%{data:type}:%{greedydata:message}’)
[0053]
log内容为:
[0054][0055]
输出:
[0056][0057]
4、创建流任务
[0058]
我们将前面几个步骤输入的内容转换成任务的参数传入后台引擎,后台引擎逻辑是预先定义好的,后台使用nifi提供高可用,分布式,这样就完成了数据流从接入到输出的转换过程。
[0059]
以上对本发明及其实施方式进行了描述,这种描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。总而言之如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。

技术特征:
1.一种系统化的多源异构运维数据接入并转换的方法,其特征在于:包括以下步骤,(1)配置数据源,预定的数据源目前有kafka数据源,文件数据源,zabbix指标源,prometheus指标源,数据源可以灵活定制,可以方便的扩展到关系型数据库;(2)选择数据目标数据格式,目标格式主要为json,需要定义字段名,定义json字段的嵌套等;(3)定义映射关系,映射关系包括基础映射、连接映射和表达式映射;(4)创建流任务,我们将前面几个步骤输入的内容转换成任务的参数传入后台引擎,后台引擎逻辑是预先定义好的,后台使用nifi提供高可用,分布式,这样就完成了数据流从接入到输出的转换过程。2.根据权利要求1所述的一种系统化的多源异构运维数据接入并转换的方法,其特征在于:所述步骤(1)中数据类型支持指标数据、日志数据和跟踪数据的一种或几种。3.根据权利要求1所述的一种系统化的多源异构运维数据接入并转换的方法,其特征在于:所述步骤(3)中基础映射也可以称作一对一映射指从源数据中的一个字段对应目标格式的一个字段。4.根据权利要求1所述的一种系统化的多源异构运维数据接入并转换的方法,其特征在于:所述步骤(3)中连接映射也可以称作多对一映射指从源数据中的多个字段对应目标格式的一个字段,内容可以顺序拼接而成。5.根据权利要求1所述的一种系统化的多源异构运维数据接入并转换的方法,其特征在于:所述步骤(3)中表达式映射是指利用自定义函数实现对源数据字段的特定转换表达式可引用源数据字段,对字段内容进行转换,引用字段以!{开头,以结束分隔符}结尾。

技术总结
本发明公开了一种系统化的多源异构运维数据接入并转换的方法,包括以下步骤,(1)配置数据源,预定的数据源目前有kafka数据源,文件数据源,zabbix指标源,prometheus指标源,数据源可以灵活定制,可以方便的扩展到关系型数据库;(2)选择数据目标数据格式,目标格式主要为json,需要定义字段名,定义json字段的嵌套等;(3)定义映射关系。采用上述技术方案,具备以下优点:(1)轻松扩展数据源,快速适配新类型数据源。(2)开发者不必写复杂的代码,只需输入配置参数,创建任务。(3)调试修改方便,无需经过复杂的本地调试,编译,上线等阶段。(4)能够大幅节省数据接入时间,从而降低成本。从而降低成本。从而降低成本。


技术研发人员:代斌伟 朱品燕
受保护的技术使用者:北京云集智造科技有限公司
技术研发日:2022.07.12
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-3908.html

最新回复(0)