CN113672452A - 一种数据采集任务的运行监控方法、*** - Google Patents
一种数据采集任务的运行监控方法、*** Download PDFInfo
- Publication number
- CN113672452A CN113672452A CN202110839412.4A CN202110839412A CN113672452A CN 113672452 A CN113672452 A CN 113672452A CN 202110839412 A CN202110839412 A CN 202110839412A CN 113672452 A CN113672452 A CN 113672452A
- Authority
- CN
- China
- Prior art keywords
- data acquisition
- task
- node
- acquisition task
- monitoring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 118
- 238000012544 monitoring process Methods 0.000 title claims abstract description 116
- 230000008569 process Effects 0.000 claims abstract description 82
- 238000012546 transfer Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 16
- 238000013480 data collection Methods 0.000 claims description 15
- 230000003993 interaction Effects 0.000 claims description 7
- 230000004907 flux Effects 0.000 description 10
- 241001481833 Coryphaena hippurus Species 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种数据采集任务的运行监控方法、***,所述方法包括如下步骤:配置数据采集任务生成表征各个数据采集任务之间关系的有向无环图,下发到主节点;主节点解析有向无环图,获取配置信息并下发到业务节点;业务节点根据配置信息运行数据采集任务,并将运行结果上报到主节点;若运行成功,业务节点将该数据采集任务加入到监控队列;业务节点中的监控线程获取监控队列的数据采集任务进行监控;若停止,将该数据采集任务上报主节点;主节点将该数据采集任务的状态进行变更,并输出显示。对数据采集任务进行监控,如果运行过程中数据采集任务停止,将会上报对应的信息,以便于用户查看。
Description
技术领域
本发明涉及数据采集任务监控技术领域,具体涉及一种数据采集任务的运行监控方法、***。
背景技术
在大数据时代,Flume作为一个优秀的数据采集工具,应用于多个场景。Agent构建一个基本数据采集单位,一个Agent包含Source、Sink与Channel。Source可以从日志文件、网络端口、Kafka等多种数据源采集数据,封装成Event,Event可以通过一系列***进行加工处理,写入Channel。数据成功写入到Channel中后,Sink会从Channel中主动拉去数据写入到HDFS、HBase、Hive、ES等多种大数据组件中。
Agent为一个Java进程运行在多个机器中,从而采集这些机器中的日志信息,之后同Agent组合,将日志进行汇总与分发。然而在该场景中,由于日志会存在于多个主机,Flume Agent(数据采集任务)也会散落在多个主机部署运行,启停Agent,监控Agent的状态需要登录到对应的主机,并且在启动时。如果主机过多,流程将会十分繁琐,会产生比较大的运维成本。
DolphinScheduler(任务调度***:分布式易扩展的可视化DAG工作流任务调度***)。为Apache的一个顶级项目。DolphinScheduler具有两大功能:1.定时按照DAG(有向无环图)的顺序调度监控管理Shell、MR等各种类型的任务,降低了大数据开发的运维成本。2.通过可视化拖拉拽的方式配置DAG与其中的任务信息,方便易用。
现有的DolphinScheduler不支持调度Flume类型任务,并且Flume任务在运行起来后,也无法对Flume任务进程进行监控,需要登录到对应主机去检查进程的状态,如果FlumeAgent(数据采集任务)较多,将会是一个比较大的工作量。
发明内容
现有的DolphinScheduler不支持调度Flume类型任务,并且Flume任务在运行起来后,也无法对Flume任务进程进行监控,需要登录到对应主机去检查进程的状态,如果FlumeAgent较多,将会是一个比较大的工作量的问题,本发明提供一种数据采集任务的运行监控方法、***。
本发明的技术方案是:
一方面,本发明技术方案提供一种数据采集任务的运行监控方法,包括如下步骤:
配置数据采集任务生成表征各个数据采集任务之间关系的有向无环图,下发到主节点;
主节点解析有向无环图,获取配置信息并下发到业务节点;
业务节点根据配置信息运行数据采集任务,并将运行结果上报到主节点;
若数据采集任务运行成功,业务节点将该数据采集任务加入到监控队列;业务节点中的监控线程获取监控队列的数据采集任务进行监控;
若数据采集任务运行正常,将其放回监控队列;若数据采集任务运行停止,将该数据采集任务上报主节点;主节点将该数据采集任务的状态进行变更,并输出显示。
配置好数据采集任务之间关系的有向无环图,提交运行命令,下发到主节点;主节点将有向无环图拆分,将一个个任务下发到业务节点;业务节点运行数据采集任务,将运行结果上报到主节点;并将该任务的运行情况进行显示。
增加了数据采集任务的调度方式,运行数据采集任务,在数据采集任务运行成功时,将其增加到对应的监控队列中,由监控线程监控该任务的监控状态,如果成功放入到监控队列,如果失败上报主节点,主节点收到上报信息后,更新任务状态。
进一步的,所述的主节点解析有向无环图,获取配置信息并下发到业务节点的步骤包括;
主节点解析有向无环图,获取第一个任务节点;
将该任务节点的配置信息下发到业务节点。主节点将有向无环图拆分,将一个个任务下发到业务节点。
进一步的,所述的业务节点根据配置信息运行数据采集任务,并将运行结果上报到主节点的步骤包括:
业务节点将配置信息组装生成配置文件;其中,配置信息包括节点信息、数据源信息;
业务节点将配置文件拷贝到对应的主机,启动数据采集任务并将运行结果上报到主节点。
进一步的,所述的启动数据采集任务并将运行结果上报到主节点的步骤包括:
启动数据采集任务,若运行成功,记录状态成功,进程的PID为运行PID,否则,记录状态失败,进程的PID为0;
将记录的任务状态信息上报到主节点,其中,任务状态信息包括状态成功,进程的PID为运行PID、状态失败,进程的PID为0。
进一步的,所述的主节点将该数据采集任务的状态进行变更包括:
主节点接收任务状态信息,并将任务状态信息存入数据库;
主节点根据接收到的任务状态信息进行判断;
若接收到状态成功,判断该任务是否有后续节点,若有,执行步骤:主节点解析有向无环图,获取下一个任务节点;若无,将该有向无环图的状态设置为运行成功;
若接收到状态失败,将该有向无环图的状态设置为运行失败。
主节点根据具体的任务情况,决定是否执行下一个数据采集任务,并将该任务的运行情况进行更新设置。
进一步的,所述的若数据采集任务运行成功,业务节点将该数据采集任务加入到监控队列;业务节点中的监控线程获取监控队列的数据采集任务进行监控的步骤包括:
在数据采集任务运行成功后,将数据采集任务的任务信息放到监控队列中;任务信息包括数据采集任务运行的主机名称、IP、进程的PID;
启动一个定时线程,定时从监控队列中取出任务信息,连接该数据采集任务运行的主机,检查该进程的PID是否存在;
若存在,将该数据采集任务的任务信息放回到监控队列中,若不存在,将该数据采集任务的任务信息放入到上报队列中。
监控线程从监控队列获取需要监控的信息,检查数据采集任务的状态,如果数据采集任务正在运行,将其放回原先的监控队列中,如果数据采集任务运行停止,放入到上报队列中。
进一步的,所述的若数据采集任务运行停止,将该数据采集任务上报主节点;主节点将该数据采集任务的状态进行变更,并输出显示的步骤包括:
启动一个上报线程,从上报队列中取出任务信息发送给主节点;
主节点将该任务信息更新到数据库中,在界面进行显示。
由上报线程将上报队列中的任务信息上报到主节点中,主节点将该任务信息更新到数据库中,最终在UI界面进行展示。
进一步的,为了避免数据采集任务失去监控,该方法还包括:
监控业务节点的状态;
当主节点扫描到业务节点进程丢失时,主节点将该业务节点上正在监控的数据采集任务进程转移到其他业务节点中进行。
进一步的,所述的当主节点扫描到业务节点进程丢失时,主节点将该业务节点上正在监控的数据采集任务进程转移到其他业务节点中进行的步骤包括:
当主节点扫描到业务节点进程丢失时,统计该业务节点监控的数据采集任务进程;
主节点按照轮询的方法,将统计的数据采集任务的任务信息发送到集群的其他业务节点中;
业务节点将主节点发送的任务信息增加到监控队列中。
从而可以对运行的数据采集任务的运行状态进行实时的监控,从而可以对采集数据的数据流进行监控与处理。同时具有故障转移功能,在一个业务节点发生故障的时候,由主节点将该业务节点监控的任务转移到其他业务节点上。
另一方面,本发明技术方案还提供一种数据采集任务的运行监控***,包括UI与API交互模块、主节点集群、业务节点集群;
UI与API交互模块,用于配置数据采集任务生成表征各个数据采集任务之间关系的有向无环图,下发到主节点集群;
主节点集群,用于解析有向无环图,获取配置信息并下发到业务节点;还用于将运行停止的数据采集任务的状态进行变更,并输出显示;
业务节点集群,用于根据配置信息运行数据采集任务,并向主节点集群汇报运行状态;当数据采集任务运行成功,将该数据采集任务加入到监控队列;
每个业务节点中设置有监控线程模块,用于获取监控队列的数据采集任务进行监控;当数据采集任务运行正常时,将其放回监控队列;当数据采集任务运行停止,将该数据采集任务上报主节点集群。
进一步的,每个主节点包括解析模块和任务下发模块;
解析模块,用于解析有向无环图,获取第一个任务节点;
任务下发模块,用于将该任务节点的配置信息下发到业务节点。解析模块将有向无环图拆分,任务下发模块将一个个任务下发到业务节点。
进一步的,业务节点中还设置有处理模块、任务启动模块;
处理模块,用于将配置信息组装生成配置文件,将配置文件拷贝到对应的主机;其中,配置信息包括节点信息、数据源信息;
任务启动模块,用于启动数据采集任务并将运行结果上报到主节点;具体用于启动数据采集任务,若运行成功,记录状态成功,进程的PID为运行PID,否则,记录状态失败,进程的PID为0;将记录的任务状态信息上报到主节点,其中,任务状态信息包括状态成功,进程的PID为运行PID、状态失败,进程的PID为0。
进一步的,主节点包括任务状态信息接收模块、状态判断模块、节点判断模块、更新模块;
任务状态信息接收模块,用于主节点接收任务状态信息,并将任务状态信息存入数据库;
状态判断模块,用于根据接收到的任务状态信息进行判断;
节点判断模块,用于若状态判断模块判断状态成功,判断该任务是否有后续节点,若有,输出信息到解析模块来获取下一个任务节点;若无,输出信息到更新模块;
更新模块,用于若节点判断模块判断没有下一个任务节点时,将该有向无环图的状态设置为运行成功;或,接收到状态判断模块判断状态失败时,将该有向无环图的状态设置为运行失败。
主节点根据具体的任务情况,决定是否执行下一个数据采集任务,并将该任务的运行情况进行更新设置。
进一步的,任务启动模块,还用于若数据采集任务运行成功时,将数据采集任务的任务信息放到监控队列中;任务信息包括数据采集任务运行的主机名称、IP、进程的PID;
监控线程模块,用于定时从监控队列中取出任务信息,连接该数据采集任务运行的主机,检查该进程的PID是否存在;若存在,将该数据采集任务的任务信息放回到监控队列中,若不存在,将该数据采集任务的任务信息放入到上报队列中。
进一步的,业务节点中还设置有上报线程模块,用于从上报队列中取出任务信息发送给主节点的更新模块;
更新模块,用于将该任务信息更新到数据库中,在界面进行显示。
由上报线程模块将上报队列中的任务信息上报到主节点中,主节点将该任务信息更新到数据库中,最终在UI界面进行展示。
进一步的,为了避免数据采集任务失去监控,每个主节点中还设置有进程扫描模块和转移处理模块;
进程扫描模块,用于通过扫描业务节点进程来监控业务节点的状态;
转移处理模块,用于当一个主节点扫描到一个业务节点进程丢失时,将该业务节点上正在监控的数据采集任务进程转移到其他业务节点中进行;具体用于当扫描到业务节点进程丢失时,统计该业务节点监控的数据采集任务进程;按照轮询的方法将统计的数据采集任务的任务信息发送到集群的其他业务节点中;
任务启动模块,用于将转移处理模块发送的任务信息增加到监控队列中。
从以上技术方案可以看出,本发明具有以下优点:数据采集任务运行起来后,对数据采集任务进行监控,如果运行过程中数据采集任务停止,将会上报对应的信息,以便于用户查看,同时具有故障转移功能,在任务调度***的业务节点因为异常停止时,可以对该业务节点上正在监控的数据采集任务转移到其他业务节点,避免该数据采集任务无法被监控。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明另一个实施例的方法的示意性流程图。
图3是本发明一个实施例的***的示意性框图。
图中,10-UI与API交互模块,201-解析模块,202-任务下发模块,203-任务状态信息接收模块,204-状态判断模块,205-节点判断模块,206-更新模块,301-监控线程模块,302-处理模块,303-任务启动模块,304-上报线程模块。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
Flume Agent:Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的***,本申请中Flume Agent定义为数据采集任务。
DolphinScheduler:分布式易扩展的可视化DAG工作流任务调度***。为Apache的一个顶级项目。本申请中定义为任务调度***;
HDFS:分布式文件***。
Kafka:分布式消息队列。
DAG:有向无环图,用于表示各个任务之间的调度顺序。
Hive:hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。
如图1所示,本发明实施例提供一种数据采集任务的运行监控方法,包括如下步骤:
步骤11:配置数据采集任务生成表征各个数据采集任务之间关系的有向无环图,下发到主节点;
步骤12:主节点解析有向无环图,获取配置信息并下发到业务节点;
步骤13:业务节点根据配置信息运行数据采集任务,并将运行结果上报到主节点;若数据采集任务运行成功,执行步骤14,否则,执行步骤18;
步骤14:业务节点将该数据采集任务加入到监控队列;
步骤15:业务节点中的监控线程获取监控队列的数据采集任务进行监控;若状态正常,执行步骤16,否则,执行步骤17;
步骤16:将其放回监控队列;执行步骤18;
步骤17:将该数据采集任务上报主节点;
步骤18:主节点将该数据采集任务的状态进行变更,并输出显示。
配置好数据采集任务之间关系的有向无环图,提交运行命令,下发到主节点;主节点将有向无环图拆分,将一个个任务下发到业务节点;业务节点运行数据采集任务,将运行结果上报到主节点;并将该任务的运行情况进行显示。
增加了数据采集任务的调度方式,运行数据采集任务,在数据采集任务运行成功时,将其增加到对应的监控队列中,由监控线程监控该任务的监控状态,如果成功放入到监控队列,如果失败上报主节点,主节点收到上报信息后,更新任务状态。
如图2所示,在有些实施例中,步骤12中,所述的主节点解析有向无环图,获取配置信息并下发到业务节点的步骤包括;
步骤121:主节点解析有向无环图,获取第一个任务节点;
步骤122:将该任务节点的配置信息下发到业务节点。主节点将有向无环图拆分,将一个个任务下发到业务节点。
在有些实施例中,步骤13中,所述的业务节点根据配置信息运行数据采集任务,并将运行结果上报到主节点的步骤包括:
步骤131:业务节点将配置信息组装生成配置文件;其中,配置信息包括节点信息、数据源信息;
步骤132:业务节点将配置文件拷贝到对应的主机,启动数据采集任务并将运行结果上报到主节点。
需要说明的是,步骤132中,所述的启动数据采集任务并将运行结果上报到主节点的步骤包括:
步骤1321:启动数据采集任务;判断运行是否成功,若运行成功,执行步骤1322,否则,执行步骤1323;
步骤1322:记录状态成功,进程的PID为运行PID;
步骤1323:记录状态失败,进程的PID为0;
步骤1324:将步骤1323、步骤1323记录的任务状态信息上报到主节点,其中,任务状态信息包括状态成功,进程的PID为运行PID、状态失败,进程的PID为0。
在有些实施例中,步骤18中,所述的主节点将该数据采集任务的状态进行变更包括:
步骤181:主节点接收任务状态信息,并将任务状态信息存入数据库;
步骤182:主节点根据接收到的任务状态信息进行判断;若接收到状态成功,执行步骤183,若接收到状态失败,执行步骤185;
步骤183:判断该任务是否有后续节点,若有,执行步骤121获取下一个任务节点;若无,执行步骤184;
步骤184:将该有向无环图的状态设置为运行成功;
步骤185:将该有向无环图的状态设置为运行失败。
主节点根据具体的任务情况,决定是否执行下一个数据采集任务,并将该任务的运行情况进行更新设置。
在有些实施例中,步骤14中,具体的,在数据采集任务运行成功后,将数据采集任务的任务信息放到监控队列中;任务信息包括数据采集任务运行的主机名称、IP、进程的PID;进程的PID为表示进程身份的标识符。
步骤15中,启动一个定时线程,定时从监控队列中取出任务信息,连接该数据采集任务运行的主机,检查该进程的PID是否存在;
若存在,步骤16具体包括:将该数据采集任务的任务信息放回到监控队列中;
若不存在,步骤17具体包括:
步骤171:将该数据采集任务的任务信息放入到上报队列中;
步骤172:启动一个上报线程,从上报队列中取出任务信息发送给主节点。
监控线程从监控队列获取需要监控的信息,检查数据采集任务的状态,如果数据采集任务正在运行,将其放回原先的监控队列中,如果数据采集任务运行停止,放入到上报队列中。
步骤18中,主节点将该数据采集任务的状态进行变更,并输出显示的步骤包括:主节点将该任务信息更新到数据库中,在界面进行显示。
由上报线程将上报队列中的任务信息上报到主节点中,主节点将该任务信息更新到数据库中,最终在UI界面进行展示。
在有些实施例中,为了避免数据采集任务失去监控,该方法还包括:
步骤19:监控业务节点的状态;当主节点扫描到业务节点进程丢失时,主节点将该业务节点上正在监控的数据采集任务进程转移到其他业务节点中进行。
需要说明的是,所述的当主节点扫描到业务节点进程丢失时,主节点将该业务节点上正在监控的数据采集任务进程转移到其他业务节点中进行的步骤包括:
步骤191:当主节点扫描到业务节点进程丢失时,统计该业务节点监控的数据采集任务进程;
步骤192:主节点按照轮询的方法,将统计的数据采集任务的任务信息发送到集群的其他业务节点中;
步骤193:业务节点将主节点发送的任务信息增加到监控队列中;执行步骤15。
从而可以对运行的数据采集任务的运行状态进行实时的监控,从而可以对采集数据的数据流进行监控与处理。同时具有故障转移功能,在一个业务节点发生故障的时候,由主节点将该业务节点监控的任务转移到其他业务节点上。
通过上述实施例可知,本申请的方法主要包括:
一、任务运行部分
1.在UI界面配置好Flume任务,各个Flume任务之间关系的DAG图,下发到主节点;
2.主节点(Master)将DAG拆分,将一个个任务下发到业务节点;
3.业务节点(Worker)运行Flume Agent,将运行结果上报到主节点,主节点根据具体的任务情况,决定是否执行下一个Flume Agent,最终展示到UI界面中。
二、Flume任务监控
1.如果Flume Agent运行成功,将Agent信息到监控队列;
2.在监控队列的Flume Agent会被该业务节点的监控线程取出,同时检查该Agent的运行状态,如果该Agent不在运行,上报主节点,如果运行,重新返回到监控队列中;
3.主节点将Flume Agent的状态进行变更,进行展示。
三、业务节点监控故障恢复
在运行环境中,如果出现业务节点进程挂掉,主节点将会把该业务节点上正在监控的Flume Agent进程转移到其他业务节点中进行,避免挂掉业务节点监控的Flume Agent失去监控。
具体流程如下:
(1)API下发启动命令,指定需要执行的DAG;
(2)主节点(Master)集群执行DAG解析工作,解析出第一个节点;
(2)将节点信息、数据源信息下发到业务节点中;
(4)业务节点(Worker)收到主节点的启动命令,开始启动流程;
(5)按照配置信息,生成Flume配置,拷贝到对应的主机,启动Flume Agent,Agent启动成功,状态为成功,记录PID为运行PID;Agent启动失败,状态记录为失败,进程PID为0,执行步骤(6);
(6)将任务状态上报到主节点;
(7)主节点收到任务状态,并将状态与进程PID存入数据库,如果任务状态为成功,执行(8),为失败,执行(10);
(8)根据该任务状态判断该任务是否有后续节点,有执行步骤(2),获取下一个节点,没有执行步骤(9);
(9)将该DAG的状态设置为运行成功,流程结束;
(10)将该DAG的状态设置为运行失败,流程结束。
在一个业务节点因为异常导致进程停止,将会导致该业务节点在Zookeeper中注册的节点丢失;主节点集群中的一个主节点扫描到一个业务节点的进程丢失,开启该业务节点的故障转移过程,在转移过程中,统计停止进程业务节点所监控的所有Flume Agent进程数量与信息该主节点按照轮询的方法,将监控的信息发送到其他业务节点中,其他将主节点发送的信息增加到Agent信息队列中,重新监控数据。
如图3所示,本发明技术方案还提供一种数据采集任务的运行监控***,包括UI与API交互模块10、主节点集群、业务节点集群;
UI与API交互模块10,用于配置数据采集任务生成表征各个数据采集任务之间关系的有向无环图,下发到主节点集群;
主节点集群,用于解析有向无环图,获取配置信息并下发到业务节点;还用于将运行停止的数据采集任务的状态进行变更,并输出显示;
业务节点集群,用于根据配置信息运行数据采集任务,并向主节点集群汇报运行状态;当数据采集任务运行成功,将该数据采集任务加入到监控队列;主节点集群包括若干主节点,业务节点集群包括若干业务节点。
每个业务节点中设置有监控线程模块301,用于获取监控队列的数据采集任务进行监控;当数据采集任务运行正常时,将其放回监控队列;当数据采集任务运行停止,将该数据采集任务上报主节点集群。
在有些实施例中,每个主节点包括解析模块201和任务下发模块202;
解析模块201,用于解析有向无环图,获取第一个任务节点;
任务下发模块202,用于将该任务节点的配置信息下发到业务节点。解析模块将有向无环图拆分,任务下发模块将一个个任务下发到业务节点。
在有些实施例中,业务节点中还设置有处理模块302、任务启动模块303;
处理模块302,用于将配置信息组装生成配置文件,将配置文件拷贝到对应的主机;其中,配置信息包括节点信息、数据源信息;
任务启动模块303,用于启动数据采集任务并将运行结果上报到主节点;具体用于启动数据采集任务,若运行成功,记录状态成功,进程的PID为运行PID,否则,记录状态失败,进程的PID为0;将记录的任务状态信息上报到主节点,其中,任务状态信息包括状态成功,进程的PID为运行PID、状态失败,进程的PID为0。
在有些实施例中,主节点包括任务状态信息接收模块203、状态判断模块204、节点判断模块205、更新模块206;
任务状态信息接收模块203,用于主节点接收任务状态信息,并将任务状态信息存入数据库;
状态判断模块204,用于根据接收到的任务状态信息进行判断;
节点判断模块205,用于若状态判断模块判断状态成功,判断该任务是否有后续节点,若有,输出信息到解析模块来获取下一个任务节点;若无,输出信息到更新模块;
更新模块206,用于若节点判断模块判断没有下一个任务节点时,将该有向无环图的状态设置为运行成功;或,接收到状态判断模块判断状态失败时,将该有向无环图的状态设置为运行失败。
主节点根据具体的任务情况,决定是否执行下一个数据采集任务,并将该任务的运行情况进行更新设置。
在有些实施例中,任务启动模块303,还用于若数据采集任务运行成功时,将数据采集任务的任务信息放到监控队列中;任务信息包括数据采集任务运行的主机名称、IP、进程的PID;
监控线程模块301,用于定时从监控队列中取出任务信息,连接该数据采集任务运行的主机,检查该进程的PID是否存在;若存在,将该数据采集任务的任务信息放回到监控队列中,若不存在,将该数据采集任务的任务信息放入到上报队列中。
在有些实施例中,业务节点中还设置有上报线程模块304,用于从上报队列中取出任务信息发送给主节点的更新模块;
更新模块,用于将该任务信息更新到数据库中,在界面进行显示。
由上报线程模块将上报队列中的任务信息上报到主节点中,主节点将该任务信息更新到数据库中,最终在UI界面进行展示。
在有些实施例中,为了避免数据采集任务失去监控,每个主节点中还设置有进程扫描模块和转移处理模块;
进程扫描模块,用于通过扫描业务节点进程来监控业务节点的状态;
转移处理模块,用于当一个主节点扫描到一个业务节点进程丢失时,将该业务节点上正在监控的数据采集任务进程转移到其他业务节点中进行;具体用于当扫描到业务节点进程丢失时,统计该业务节点监控的数据采集任务进程;按照轮询的方法将统计的数据采集任务的任务信息发送到集群的其他业务节点中;
任务启动模块,用于将转移处理模块发送的任务信息增加到监控队列中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种数据采集任务的运行监控方法,其特征在于,包括如下步骤:
配置数据采集任务生成表征各个数据采集任务之间关系的有向无环图,下发到主节点;
主节点解析有向无环图,获取配置信息并下发到业务节点;
业务节点根据配置信息运行数据采集任务,并将运行结果上报到主节点;
若数据采集任务运行成功,业务节点将该数据采集任务加入到监控队列;业务节点中的监控线程获取监控队列的数据采集任务进行监控;
若数据采集任务运行正常,将其放回监控队列;若数据采集任务运行停止,将该数据采集任务上报主节点;主节点将该数据采集任务的状态进行变更,并输出显示。
2.根据权利要求1所述的数据采集任务的运行监控方法,其特征在于,所述的主节点解析有向无环图,获取配置信息并下发到业务节点的步骤包括;
主节点解析有向无环图,获取第一个任务节点;
将该任务节点的配置信息下发到业务节点。
3.根据权利要求2所述的数据采集任务的运行监控方法,其特征在于,所述的业务节点根据配置信息运行数据采集任务,并将运行结果上报到主节点的步骤包括:
业务节点将配置信息组装生成配置文件;其中,配置信息包括节点信息、数据源信息;
业务节点将配置文件拷贝到对应的主机,启动数据采集任务并将运行结果上报到主节点。
4.根据权利要求1所述的数据采集任务的运行监控方法,其特征在于,所述的启动数据采集任务并将运行结果上报到主节点的步骤包括:
启动数据采集任务,若运行成功,记录状态成功、进程的PID为运行PID,否则,记录状态失败、进程的PID为0;
将记录的任务状态信息上报到主节点,其中,任务状态信息包括状态成功,进程的PID为运行PID、状态失败,进程的PID为0。
5.根据权利要求4所述的数据采集任务的运行监控方法,其特征在于,所述的主节点将该数据采集任务的状态进行变更包括:
主节点接收任务状态信息,并将任务状态信息存入数据库;
主节点根据接收到的任务状态信息进行判断;
若接收到状态成功,判断该任务是否有后续节点,若有,执行步骤:主节点解析有向无环图,获取下一个任务节点;若无,将该有向无环图的状态设置为运行成功;
若接收到状态失败,将该有向无环图的状态设置为运行失败。
6.根据权利要求4所述的数据采集任务的运行监控方法,其特征在于,所述的若数据采集任务运行成功,业务节点将该数据采集任务加入到监控队列;业务节点中的监控线程获取监控队列的数据采集任务进行监控的步骤包括:
在数据采集任务运行成功后,将数据采集任务的任务信息放到监控队列中;任务信息包括数据采集任务运行的主机名称、IP、进程的PID;
启动一个定时线程,定时从监控队列中取出任务信息,连接该数据采集任务运行的主机,检查该进程的PID是否存在;
若存在,将该数据采集任务的任务信息放回到监控队列中,若不存在,将该数据采集任务的任务信息放入到上报队列中。
7.根据权利要求6所述的数据采集任务的运行监控方法,其特征在于,所述的若数据采集任务运行停止,将该数据采集任务上报主节点;主节点将该数据采集任务的状态进行变更,并输出显示的步骤包括:
启动一个上报线程,从上报队列中取出任务信息发送给主节点;
主节点将该任务信息更新到数据库中,在界面进行显示。
8.根据权利要求1所述的数据采集任务的运行监控方法,其特征在于,该方法还包括:
监控业务节点的状态;
当主节点扫描到业务节点进程丢失时,主节点将该业务节点上正在监控的数据采集任务进程转移到其他业务节点中进行。
9.根据权利要求8所述的数据采集任务的运行监控方法,其特征在于,所述的当主节点扫描到业务节点进程丢失时,主节点将该业务节点上正在监控的数据采集任务进程转移到其他业务节点中进行的步骤包括:
当主节点扫描到业务节点进程丢失时,统计该业务节点监控的数据采集任务进程;
主节点按照轮询的方法,将统计的数据采集任务的任务信息发送到集群的其他业务节点中;
业务节点将主节点发送的任务信息增加到监控队列中。
10.一种数据采集任务的运行监控***,其特征在于,包括UI与API交互模块、主节点集群、业务节点集群;
UI与API交互模块,用于配置数据采集任务生成表征各个数据采集任务之间关系的有向无环图,下发到主节点集群;
主节点集群,用于解析有向无环图,获取配置信息并下发到业务节点;还用于将运行停止的数据采集任务的状态进行变更,并输出显示;
业务节点集群,用于根据配置信息运行数据采集任务,并向主节点集群汇报运行状态;当数据采集任务运行成功,将该数据采集任务加入到监控队列;
每个业务节点中设置有监控线程模块,用于获取监控队列的数据采集任务进行监控;当数据采集任务运行正常时,将其放回监控队列;当数据采集任务运行停止,将该数据采集任务上报主节点集群。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110839412.4A CN113672452A (zh) | 2021-07-23 | 2021-07-23 | 一种数据采集任务的运行监控方法、*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110839412.4A CN113672452A (zh) | 2021-07-23 | 2021-07-23 | 一种数据采集任务的运行监控方法、*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113672452A true CN113672452A (zh) | 2021-11-19 |
Family
ID=78540035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110839412.4A Withdrawn CN113672452A (zh) | 2021-07-23 | 2021-07-23 | 一种数据采集任务的运行监控方法、*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672452A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114443292A (zh) * | 2022-01-14 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 基于工作流任务调度***的客户端管理方法、装置、*** |
CN116016117A (zh) * | 2022-12-27 | 2023-04-25 | 山西合力创新科技股份有限公司 | 网络设备运维数据采集方法、***、电子设备及存储介质 |
-
2021
- 2021-07-23 CN CN202110839412.4A patent/CN113672452A/zh not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114443292A (zh) * | 2022-01-14 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 基于工作流任务调度***的客户端管理方法、装置、*** |
CN114443292B (zh) * | 2022-01-14 | 2023-11-14 | 苏州浪潮智能科技有限公司 | 基于工作流任务调度***的客户端管理方法、装置、*** |
CN116016117A (zh) * | 2022-12-27 | 2023-04-25 | 山西合力创新科技股份有限公司 | 网络设备运维数据采集方法、***、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109714192B (zh) | 一种监控云平台的监控方法及*** | |
CN109495308B (zh) | 一种基于管理信息***的自动化运维*** | |
CN105357038B (zh) | 监控虚拟机集群的方法和*** | |
CN106844198B (zh) | 一种分布式调度自动化测试平台及方法 | |
US9369521B2 (en) | Naming of distributed business transactions | |
KR101683321B1 (ko) | 분산 애플리케이션들을 모니터링 하는 방법 | |
CN104731580A (zh) | 基于Karaf与ActiveMQ的自动化运维***及其实现方法 | |
Zheng et al. | Co-analysis of RAS log and job log on Blue Gene/P | |
US7493527B2 (en) | Method for logging diagnostic information | |
US7779298B2 (en) | Distributed job manager recovery | |
US20100223446A1 (en) | Contextual tracing | |
Wu et al. | Zeno: Diagnosing performance problems with temporal provenance | |
CN110895488B (zh) | 任务调度方法及装置 | |
WO2011060642A1 (zh) | 一种分布式综合业务自动化测试***及方法 | |
CN112667362B (zh) | Kubernetes上部署Kubernetes虚拟机集群的方法与*** | |
CN109739708B (zh) | 测试压力的方法、装置和*** | |
CN113672452A (zh) | 一种数据采集任务的运行监控方法、*** | |
CN107807872A (zh) | 一种输变电***运行状态监测方法 | |
US7454761B1 (en) | Method and apparatus for correlating output of distributed processes | |
Demirbaga et al. | Autodiagn: An automated real-time diagnosis framework for big data systems | |
KR20180037342A (ko) | 어플리케이션 에러 모니터링 및 통계관리 서비스 및 방법 | |
CN113452607A (zh) | 分布式链路采集的方法、装置、计算设备和存储介质 | |
CN114422386B (zh) | 一种微服务网关的监测方法及装置 | |
JP2015049705A (ja) | ログ生成装置、及びログ生成方法 | |
CN113824601A (zh) | 一种基于业务日志的电力营销监控*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211119 |