1.本发明属于多源数据融合技术领域,具体是多源数据融合的一体化数据采集方法。
背景技术:2.随着宽带网络的普及和行业管理部门对管理水平提高的需求增加,城市公安、交通、金融、环保、电力、医疗、教育等管理部门对城市范围内的大型联网安全监控平台的需求也在这两年开始大量增加,随着网络传输技术、互联网的成熟,实现这些新兴行业客户需求的已经取得了重大的突破,大型的自动化运维监控系统正在全国各地迅速地建设起来,现有常见的采集器主流支持的操作系统有windows,各种linux,unix等,针对特定的操作系统进行研发,每个操作系统都有自己独立的开发环境,研发成本高,代码维护困难等缺点。
技术实现要素:3.为解决上述背景技术中提出的问题,本发明提供了多源数据融合的一体化数据采集方法,通过7xops server对7xops agent进行管理,可实现安装、升级、卸载等操作,任务类型有性能监控、snmp监控、资产扫描、状态监控、传感器监控、域名监控、ucpe监控等任务。7xops server实现任务的删除、编辑、启动、停止等操作,7xops agent实现对不同任务类型的统一入口管理和数据采集,7xops receiver实现对采集到的数据进行存储。
4.为实现上述目的,本发明提供如下技术方案:多源数据融合的一体化数据采集方法,所述7xops agent自动、手动注册;
5.s1:实现配置文件全局初始化,打印日志全局初始化,配置代理ip池,系统初始化;
6.s2:请求7xops server获取token,每5分钟自动进行请求7xops server获取token,以协程方式启动;
7.所述token生成规则,根据用户名和密码随机生成,获取到返回的token后进行赋值操作,7xops agent赋值到全局配置的对象中;
8.s3:将获取到的token在7xops server进行注册验证,判断7xops agent是自动/手动部署;
9.s31:自动部署请求7xops server,更新7xops agent管理状态,返回请求结果,成功则更新全局配置,失败则退出当前函数,重新发起请求;
10.s32:手动部署请求7xops server,对新部署的7xops agent进行注册,成功则更新全局配置,失败则退出程序,结束进程;
11.s4:7xops agent注册完成。
12.优选的,所述7xops agent自动部署:
13.s1:在7xops agent管理列表中创建一个新的agent,需要安装地址ip、root账号和密码,安装路径,下载链接等信息;
14.s2:7xops server启动ssh建立链接,建立链接成功后,上传shell脚本,执行shell
脚本,跳转至指定路径,进行下载安装包文件,下载成功后进行启动;
15.s3:7xops agent启动成功,在7xops server注册完成,7xops agent会定时发送agent状态进行更新,并附带安装日志发送到mq;
16.s4:7xops server从mq中接受到状态更新消息,修改7xops agent管理列表中创建的7xops agent的状态为运行中,并保存安装日志。
17.优选的,所述7xops agent自动升级、卸载:
18.s1:7xops agent管理列表中点击升级,7xops server下发任务到对应mq队列,7xops agent去监听7xops server下发的mq任务;
19.s2:7xops agent监听到要升级的信息,解析接受到的信息,执行shell脚本,通过链接下载安装包,安装完成通过查看进程判断7xops agent是否启动;
20.s21:启动中:当前运行的安装包进行备份,杀死当前程序进程,运行新的安装包,启动成功后发送状态消息到mq任务;
21.s22:未启动:备份旧的安装包,运行新的安装包,启动成功后发送状态消息到mq任务;
22.s3:7xops server从mq中接受到状态消息,修改7xops agent管理列表中新创建7xops agent的状态为运行中,并保存升级日志。
23.优选的,所述监控任务采集:
24.7xops server实现对7xops agent监控任务管理,进行各种任务如性能监控、snmp监控、资产扫描、状态监控、传感器监控、域名监控、ucpe监控的启动、停止,任务启动后根据任务类型,将监控的信息模版发送到对应的mq队列;
25.7xops agent监听到7xops server下发的mq任务,根据任务的类型进行不同的数据监控,将监控到的数据进行数据清洗,数据过滤,数据整合,数据队列,数据结构优化,数据压缩最后进行数据发送;
26.7xops agent监控到的数据以http/rpc的方式发送到7xops receiver,7xops receiver实现对采集到的数据进行存储。
27.优选的,所述性能采集监控流程:
28.s1:7xops agent任务列表启动性能监控任务,7xops agent接受到7xops server下发的mq任务信息,去执行对应的监控任务,再准备启动监控任务前,需要经过数据校验;
29.s2:通过校验后的数据进行context上下文赋值,使其可以在接下来的监控任务中可以被全程使用,安装插件shell脚本,用户自定义的采集指标;
30.s3:运行性能监控任务,使用linux(获取内置文件)以及windows(使用命令和dll文件)方法进行数据读取获取系统设备信息cpu,内存,无线网卡等数据;
31.s4:监控到的数据进行数据清洗,数据过滤,数据整合,数据队列,数据结构优化,数据压缩后进行数据发送;
32.s5:7xops agent监控到的数据以http/rpc的方式发送到7xops receiver,7xops receiver实现对采集到的数据进行存储;
33.所述snmp采集流程:
34.s1:7xops agent任务列表启动snmp监控任务,7xops agent接受到7xops server下发的mq任务信息,去执行对应的监控任务,再准备启动监控任务前,需要经过数据校验;
35.s2:通过校验后的数据进行context上下文赋值,使其可以在接下来的监控任务中可以被全程使用;
36.s3:运行snmp监控任务,使用snmp walk/get请求方法通过oid和ip作为入参可以获取设备的cpu,内存等基础信息,也可以通过ping方法进行数据监控;
37.s4:监控到的数据进行数据清洗,数据过滤,数据整合,数据队列,数据结构优化,数据压缩后进行数据发送;
38.s5:7xops agent监控到的数据以http/rpc的方式发送到7xops receiver,7xops receiver实现对采集到的数据进行存储。
39.优选的,所述资产扫描流程:
40.s1:7xops agent任务列表启动资产扫描任务,7xops agent接受到7xops server下发的mq任务信息,去执行对应的监控任务,再准备启动监控任务前,需要经过数据校验;
41.s2:通过校验后的数据,需要把任务id添加进资产扫描任务创建的全局变量map数组中,使接收到的任务可以后续进行启动/停止操作;
42.s3:运行资产扫描任务,根据任务信息中的数据类型(icmp/snmp)进行不同的数据监控,使用snmp walk/get请求方法通过oid和ip作为入参可以获取系统环境基础信息,也可以通过ping方法进行数据监控;
43.s4:监控到的数据进行数据清洗,数据过滤,数据整合后进行数据发送;
44.s5:7xops agent监控到的数据发送到7xops server,7xops server实现对采集到的数据进行存储。
45.优选的,所述状态监控流程:
46.s1:7xops agent任务列表启动状态监控任务,7xops agent接受到7xops server下发的mq任务信息,去执行对应的监控任务,再准备启动监控任务前,需要经过数据校验;
47.s2:需要把任务id添加进状态监控任务创建的全局变量map数组中,使接收到的任务可以后续进行启动、停止操作;
48.s3:运行状态监控任务,根据任务信息中的ip进行数据监控,使用ping方法获取是否可以正常通讯等数据;
49.s4:监控到的数据进行数据清洗,数据过滤,数据整合,数据队列,数据结构优化,数据压缩后进行数据发送;
50.s5:7xops agent监控到的数据以http/rpc的方式发送到7xops receiver,7xops receiver实现对采集到的数据进行存储;
51.所述传感器监控流程:
52.s1:7xops agent任务列表启动传感器监控任务,7xops agent接受到7xops server下发的mq任务信息,去执行对应的监控任务,再准备启动监控任务前,需要经过数据校验;
53.s2:需要把任务id添加进传感器监控任务创建的全局变量map数组中,使接收到的任务可以后续进行启动、停止操作;
54.s3:运行传感器监控任务,用户使用的iot设备定时发送设备信息到指定队列,7xops agent在任务启动后开始监听该队列,通过监听专属队列方法进行数据读取;
55.s4:监控到的数据进行数据清洗,数据过滤,数据整合,数据队列,数据结构优化,
数据压缩后进行数据发送;
56.s5:7xops agent监控到的数据以http/rpc的方式发送到7xops receiver,7xops receiver实现对采集到的数据进行存储。
57.优选的,所述域名检测流程:
58.s1:7xops agent任务列表启动域名监控任务,7xops agent接受到7xops server下发的mq任务信息,去执行对应的监控任务,再准备启动监控任务前,需要经过数据校验;
59.s2:需要把任务id添加进域名监控任务创建的全局变量map数组中,使接收到的任务可以后续进行启动、停止操作;
60.s3:运行域名监控任务,根据任务信息中的ip进行数据监控,使用ping方法来获取丢包,时延,状态码等数据;
61.s4:监控到的数据进行数据清洗,数据过滤,数据整合,数据队列,数据结构优化,数据压缩后进行数据发送;
62.s5:7xops agent监控到的数据以http/rpc的方式发送到7xops receiver,7xops receiver实现对采集到的数据进行存储。
63.优选的,所述ucpe采集流程:
64.s1:7xops agent任务列表启动ucpe监控任务,7xops agent接受到7xops server下发的mq任务信息,去执行对应的监控任务,再准备启动监控任务前,需要经过数据校验;
65.s2:需要把任务id添加进ucpe监控任务创建的全局变量map数组中,使接收到的任务可以后续进行启动、停止操作;
66.s3:运行ucpe监控任务,执行shell脚本获取7xnetwork设备信息,读取shell脚本监控到数据;
67.s4:监控到的数据进行数据清洗,数据过滤,数据整合,数据队列,数据结构优化,数据压缩后进行数据发送;
68.s5:7xops agent监控到的数据以http/rpc的方式发送到7xops receiver,7xops receiver实现对采集到的数据进行存储。
69.优选的,所述7xops agent任务启动、停止:7xops server实现对7xops agent监控任务管理,可以对不同任务如性能监控、snmp监控、资产扫描、状态监控、传感器监控、域名监控、ucpe监控进行启动和停止;
70.当7xops server通过mq把任务下发到7xops agent中,7xops agent根据下发中解析出的数据运行启动、停止程序。
71.与现有技术相比,本发明的有益效果如下:
72.本发明提供了多源数据融合的一体化数据采集方法,通过7xops server对7xops agent进行管理,可实现安装、升级、卸载等操作,任务类型有性能监控、snmp监控、资产扫描、状态监控、传感器监控、域名监控、ucpe监控等任务。7xops server实现任务的安装、升级、卸载、启动、停止等操作,通过7xops agent实现对不同任务类型的统一入口管理和数据采集,7xops receiver实现对采集到的数据进行存储。
附图说明
73.图1为本发明的架构示意图;
74.图2为本发明的7xops agent自动、手动注册流程示意图;
75.图3为本发明的7xops agent自动部署流程示意图;
76.图4为本发明的7xops agent自动升级、卸载流程示意图;
77.图5为本发明的任务采集流程示意图;
78.图6为本发明的性能采集流程示意图;
79.图7为本发明的snmp采集流程示意图;
80.图8为本发明的资产扫描流程示意图;
81.图9为本发明的状态检测流程示意图;
82.图10为本发明的传感器检测流程示意图;
83.图11为本发明的域名检测流程示意图;
84.图12为本发明的ucpe采集流程示意图;
85.图13为本发明的7xops agent任务启动、停止流程示意图。
具体实施方式
86.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
87.如图1至图13所示,本发明提供多源数据融合的一体化数据采集方法,多源数据融合的一体化数据采集方法,7xops agent自动、手动注册:
88.s1:实现配置文件全局初始化,打印日志全局初始化,配置代理ip池,系统初始化;
89.s2:请求7xops server获取token,每5分钟自动进行请求7xops server获取token,以协程方式启动;
90.token生成规则,根据用户名和密码随机生成,获取到返回的token后进行赋值操作,赋值到全局配置的对象中;
91.s3:将获取到的token在7xops server进行注册验证,判断7xops agent是自动/手动部署;
92.s31:自动部署请求7xops server,更新7xops agent管理状态,返回请求结果,成功则更新全局配置,失败则退出当前函数,进行重新请求;
93.s32:手动部署请求7xops server,对新部署的7xops agent进行注册,成功则更新全局配置,失败则退出程序,结束进程;
94.s4:7xops agent注册完成;
95.如图3所示,7xops agent自动部署:
96.s1:在7xops agent管理列表中创建一个新的监控任务,需要安装地址ip、root账号和密码,安装路径,下载链接等信息;
97.s2:7xops server启动ssh建立链接,建立链接成功后,上传shell脚本,执行shell脚本,跳转至指定路径,进行下载安装包文件,下载成功后进行启动;
98.s3:7xops agent启动并成功,在7xops server注册完成,7xops agent会定时发送监控任务状态更新,并附带安装日志;
99.s4:7xops server接受到状态更新消息,修改7xops agent管理列表中新创建7xops agent的状态为运行中,并保存安装日志。
100.如图4所示,7xops agent自动升级、卸载:
101.s1:7xops agent管理列表中点击启动,7xops server下发任务到对应mq队列,7xops agent去监听7xops server下发的mq任务;
102.s2:7xops agent监听到要升级的信息,执行shell脚本,通过链接下载安装包,判断7xops agent是否启动;
103.s21:启动中:当前运行的安装包进行备份,杀死当前程序进程,运行新的安装包,启动成功后发送状态消息到mq任务;
104.s22:未启动:备份旧的安装包,运行新的安装包,启动成功后发送状态消息到mq任务;
105.s3:7xops server接受到状态更新消息,修改7xops agent管理列表中新创建7xops agent的状态为运行中,并保存升级/卸载日志。
106.如图5所示,监控任务采集:
107.7xops server实现对7xops agent监控任务管理,进行各种任务如性能监控、snmp监控、资产扫描、状态监控、传感器监控、域名监控、ucpe监控的启动、停止,任务启动后根据任务类型,将监控的信息模版发送到对应的mq队列;
108.7xops agent监听到7xops server下发的任务,根据任务的类型进行不同的数据监控,将监控到的数据进行数据清洗,数据过滤,数据整合,数据队列,数据结构优化,数据压缩最后进行数据发送;
109.7xops agent监控到的数据以http/rpc的方式发送到7xops receiver,7xops receiver实现对采集到的数据进行存储;
110.7xops agent具有统一性,适用于监控市场上大多数业务场景,也可以创建自定义模版,例:有的系统只会有snmp监控/ping监控,大多数只有snmp监控;
[0111]“7xops系统agent统一采集器”在项目中集成了性能监控、snmp监控、资产扫描、状态监控、传感器监控、域名监控、ucpe监控及自定义模版等任务,配置简单,方便用户使用和统一管理等操作。
[0112]
系统兼容性,适应linux,windows,mac等系统环境的开发,例:linux,windows,mac中因系统命令的不统一,造成项目开发需要在不同系统环境中独立开发。
[0113]“7xops系统agent统一采集器”解决了此问题,根据获取到的当前系统环境(包括临时赋予系统环境)去执行对应的业务线,对此减少了对研发成本上的支出。
[0114]
如图6、图7所示,性能采集监控流程:
[0115]
s1:7xops agent任务列表启动性能监控任务,7xops agent接受到7xops server下发的任务信息,去执行对应的监控任务,再准备启动监控任务前,需要经过数据校验;
[0116]
s2:通过校验后的数据进行context上下文赋值,使其可以在接下来的监控任务中可以被随时使用,安装插件shell脚本,用户自定义的采集指标;
[0117]
s3:运行性能监控任务,使用linux(获取内置文件)以及windows(使用命令和dll文件)方法进行数据读取获取系统设备信息cpu,内存,无线网卡等数据;
[0118]
s4:监控到的数据进行数据清洗,数据过滤,数据整合,数据队列,数据结构优化,
数据压缩后进行数据发送;
[0119]
s5:7xops agent监控到的数据以http/rpc的方式发送到7xops receiver,7xops receiver实现对采集到的数据进行存储;
[0120]
智能部署,系统安装/升级/卸载等业务支持自动化操作,减少了人力资源,方便客户的操作体验,在实现这些业务中针对内网和外网的的区别;
[0121]“7xops系统agent统一采集器”解决了这个问题,在不同环境都支持系统的自启动/安装/升级等操作。
[0122]
snmp采集流程:
[0123]
s1:7xops agent任务列表启动snmp监控任务,7xops agent接受到7xops server下发的任务信息,去执行对应的监控任务,再准备启动监控任务前,需要经过数据校验;
[0124]
s2:通过校验后的数据进行context上下文赋值,使其可以在接下来的监控任务中可以被随时使用;
[0125]
s3:运行snmp监控任务,使用snmp walk/get请求方法通过oid和ip作为入参可以获取设备的cpu,内存等基础信息,也可以通过ping方法进行数据监控;
[0126]
s4:监控到的数据进行数据清洗,数据过滤,数据整合,数据队列,数据结构优化,数据压缩后进行数据发送;
[0127]
s5:7xops agent监控到的数据以http/rpc的方式发送到7xops receiver,7xops receiver实现对采集到的数据进行存储。
[0128]
如图8所示,资产扫描流程:
[0129]
s1:7xops agent任务列表启动资产扫描任务,7xops agent接受到7xops server下发的任务信息,去执行对应的监控任务,再准备启动监控任务前,需要经过数据校验;
[0130]
s2:通过校验后的数据,需要把任务id添加进资产扫描任务创建的全局变量map数组中,使接收到的任务可以后续进行启动/停止操作;
[0131]
s3:运行资产扫描任务,根据任务信息中的数据类型(icmp/snmp)进行不同的数据监控,使用snmp walk/get请求方法通过oid和ip作为入参可以获取系统环境基础信息,也可以通过ping方法进行数据监控;
[0132]
s4:监控到的数据进行数据清洗,数据过滤,数据整合后进行数据发送;
[0133]
s5:7xops agent监控到的数据发送到7xops server,7xops server实现对采集到的数据进行存储;
[0134]
数据交互,在内网传输中数据量的大小在数据传输带宽中影响不是很大,而在与外网的交互中因为传输内存过大而造成的数据丢失和链接超时;
[0135]“7xops系统agent统一采集器”提供了数据结构优化,传输数据压缩等方案解决在外网传输中因数据过大而产生的带宽而产生的数据丢失问题。
[0136]
如图9、图10所示,状态监控流程:
[0137]
s1:7xops agent任务列表启动状态监控任务,7xops agent接受到7xops server下发的任务信息,去执行对应的监控任务,再准备启动监控任务前,需要经过数据校验;
[0138]
s2:需要把任务id添加进状态监控任务创建的全局变量map数组中,使接收到的任务可以后续进行启动、停止操作;
[0139]
s3:运行状态监控任务,根据任务信息中的ip进行数据监控,使用ping方法获取是
否可以正常通讯等数据;
[0140]
s4:监控到的数据进行数据清洗,数据过滤,数据整合,数据队列,数据结构优化,数据压缩后进行数据发送;
[0141]
s5:7xops agent监控到的数据以http/rpc的方式发送到7xops receiver,7xops receiver实现对采集到的数据进行存储;
[0142]
传感器监控流程:
[0143]
s1:7xops agent任务列表启动传感器监控任务,7xops agent接受到7xops server下发的任务信息,去执行对应的监控任务,再准备启动监控任务前,需要经过数据校验;
[0144]
s2:需要把任务id添加进传感器监控任务创建的全局变量map数组中,使接收到的任务可以后续进行启动、停止操作;
[0145]
s3:运行传感器监控任务,用户使用的iot设备定时发送设备信息到指定队列,7xops agent在任务启动后开始监听该队列,通过监听专属队列方法进行数据读取;
[0146]
s4:监控到的数据进行数据清洗,数据过滤,数据整合,数据队列,数据结构优化,数据压缩后进行数据发送;
[0147]
s5:7xops agent监控到的数据以http/rpc的方式发送到7xops receiver,7xops receiver实现对采集到的数据进行存储。
[0148]
如图11所示,域名检测流程:
[0149]
s1:7xops agent任务列表启动域名监控任务,7xops agent接受到7xops server下发的任务信息,去执行对应的监控任务,再准备启动监控任务前,需要经过数据校验;
[0150]
s2:需要把任务id添加进域名监控任务创建的全局变量map数组中,使接收到的任务可以后续进行启动、停止操作;
[0151]
s3:运行域名监控任务,根据任务信息中的ip进行数据监控,使用ping方法来获取丢包,时延,状态码等数据;
[0152]
s4:监控到的数据进行数据清洗,数据过滤,数据整合,数据队列,数据结构优化,数据压缩后进行数据发送;
[0153]
s5:7xops agent监控到的数据以http/rpc的方式发送到7xops receiver,7xops receiver实现对采集到的数据进行存储。
[0154]
如图12所示,ucpe采集流程:
[0155]
s1:7xops agent任务列表启动ucpe监控任务,7xops agent接受到7xops server下发的任务信息,去执行对应的监控任务,再准备启动监控任务前,需要经过数据校验;
[0156]
s2:需要把任务id添加进ucpe监控任务创建的全局变量map数组中,使接收到的任务可以后续进行启动、停止操作;
[0157]
s3:运行ucpe监控任务,执行shell脚本获取7xnetwork设备信息,读取shell脚本监控到数据;
[0158]
s4:监控到的数据进行数据清洗,数据过滤,数据整合,数据队列,数据结构优化,数据压缩后进行数据发送;
[0159]
s5:7xops agent监控到的数据以http/rpc的方式发送到7xops receiver,7xops receiver实现对采集到的数据进行存储;
[0160]
数据采集,数据的实时采集,一个采集任务有时需要维护500多台机器的数据采集,在数据获取实时性的问题;
[0161]“7xops系统agent统一采集器”使用go协程的方式去获取数据,因协程开启数过大,造成的服务器cpu使用率增大,采用了协程池的方式进行优化,解决了因采集数据过大而造成的数据实时性不达标。
[0162]
如图13所示,7xops agent任务启动、停止:7xops server实现对7xops agent监控任务管理,可以对不同任务如性能监控、snmp监控、资产扫描、状态监控、传感器监控、域名监控、ucpe监控进行启动和停止;
[0163]
当7xops server通过mq把任务下发到7xops agent中,7xops agent根据下发中解析出的数据运行启动、停止程序。
[0164]
7xops agent接收到任务为启动根据任务类型的不同分别实现监控业务;当解析出的数据需要上下文(context)传递时,把接收到的消息赋值给context,不需要时只需要把任务id赋值为对应监控任务生成的map数组;
[0165]
7xops agent接收到任务为停止时根据任务类型的不同分别停止监控业务;根据启动时的赋值操作,对context/map进行操作使监控任务中断停止监控;
[0166]
7xops agent监控任务完成时,定时任务状态维护则会把执行完的任务状态发送到对应的mq队列中,7xops server去定时消费,读取这些信息并及时更新7xops agent监控任务列表中的任务状态。
[0167]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0168]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。