数据采集方法、系统、监控报警平台、计算机及存储介质与流程

    专利2022-07-08  74


    本申请涉及互联网
    技术领域
    ,特别是涉及数据采集方法、数据采集系统、监控报警平台、计算机设备及计算机存储介质。
    背景技术
    :目前,为了更好的对数据进行监控、显示及告警,大数据平台离不开监控告警系统。而监控告警系统的实现各有不同,大致如下所述。在数据采集方面,有的监控系统采用主动采集方式,有的监控系统采用被动上报方式,有的监控系统采用上述两者兼备的方式。在数据传输方面,有的监控系统采用socket传输,有的监控系统采用http传输。在数据存储方面,有的监控系统将监控数据保存在mysql中,有的监控系统将数据保存在mongodb,opentsdb,influxdb等时序数据库中。但是,所有的监控告警系统的核心都是采集和处理数据。因此,监控系统通常由指标采集子系统和数据处理子系统组成。其中,指标采集子系统主要负责信息采集,过滤,汇总和存储。数据处理子系统主要负责数据分析,展现,预警,告警动作触发和告警等。但是,现有的指标采集子系统无法结合我司现有的自身业务逻辑,只能针对某些特定数据源实现数据监控指标的采集。技术实现要素:本申请实施例提供了一种数据采集方法、数据采集系统、监控报警平台、计算机设备及计算机存储介质,实现针对各种数据源的复杂数据监控指标的自动化数据采集,支持可插拔的采集器配置,适用范围广且可根据需求切换数据源进行不同的任务。第一方面,本申请实施例提供了一种数据采集方法,包括:任务接收步骤,用于获取一设定的采集任务及其任务配置,所述任务配置为自定义的,所述任务配置至少包括:任务名称、数据源、查询周期及任务指标其一或其任意组合;数据采集步骤,用于根据所述任务配置设定一采集规则,通过一数据库适配器连接所述数据源,利用一采集器根据所述查询周期及采集规则进行数据查询,得到查询结果;数据同步步骤,用于根据所述任务名称为所述查询结果设置一数据标识,并将所述查询结果实时同步至一prometheus数据库。其中,prometheus是一个开源的服务监控系统和时间序列数据库。在其中一些实施例中,所述数据采集步骤进一步包括:数据源连接配置步骤,用于基于所述数据源配置所述数据库适配器,用以连接所述数据源对应的数据库。在其中一些实施例中,所述数据采集步骤通过api获取所述任务配置,实现可插拔的采集器配置,可以随时根据需要切换到不同的数据源进行不同的采集任务。其中,api(applicationprogramminginterface,应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。在其中一些实施例中,所述数据源至少包括:postgres、hive、mysql及http-api其一或其任意组合。第二方面,本申请实施例提供了一种数据采集系统,包括:一任务接收模块,用于获取一设定的采集任务及其任务配置,所述任务配置为自定义的,所述任务配置至少包括:任务名称、数据源、查询周期及任务指标其一或其任意组合;一数据采集模块,用于根据所述任务配置设定一采集规则,通过一数据库适配器连接所述数据源,利用一采集器根据所述查询周期及采集规则进行数据查询,得到查询结果;一数据同步模块,用于根据所述任务名称为所述查询结果设置一数据标识,并将所述查询结果实时同步至一prometheus数据库。在其中一些实施例中,所述数据采集模块进一步包括:一数据源连接配置模块,用于基于所述数据源配置所述数据库适配器,用以连接所述数据源对应的数据库。在其中一些实施例中,所述数据采集模块通过api获取所述任务配置,实现可插拔的采集器配置,可以随时根据需要切换到不同的数据源进行不同的采集任务。在其中一些实施例中,所述数据源至少包括:postgres、hive、mysql及http-api其一或其任意组合。第三方面,本申请实施例提供了一种监控报警平台,包括:一任务设置模块,用于设置一任务配置参数,所述任务配置至少包括:任务名称、数据源、查询周期及任务指标其一或其任意组合;一执行如上述第一方面所述的数据采集方法的采集器子系统,用于获取设定任务配置并通过一指标采集器根据所述任务配置进行数据采集,并将采集的数据按照预设的时间间隔队列同步至一prometheus数据库;一报警管理子系统,用于根据所述采集的数据及预先设置的报警规则进行条件判断并输出报警信息。第四方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的数据采集方法。第五方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的数据采集方法。相比于相关技术,本申请实施例提供的数据采集方法、数据采集系统、监控报警平台、计算机设备及计算机存储介质,通过自定义的任务配置利用进行数据采集,以便于实现数据监控,实现针对各种数据源的复杂数据监控指标的自动化数据采集,支持可插拔的采集器配置,适用范围广且可根据需求切换数据源进行不同的任务。本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请实施例的数据采集方法的流程示意图;图2是根据本申请实施例的数据采集系统的结构框图;图3是根据本申请实施例的监控报警平台的结构框图;图4是根据本申请优选实施例的数据采集方法工作原理图;图5是根据本申请优选实施例的监控报警平台的工作原理图。附图说明:1、数据采集系统;2、监控报警平台;11、任务接收模块;12、数据采集模块;121、数据源连接配置模块;13、数据同步模块;21、任务设置模块;22、采集器子系统;23、报警管理子系统。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属
    技术领域
    内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。为了实现针对各种符合自身业务逻辑且使用范围广的数据采集,本申请实施例提供了一种数据采集方法,图1是根据本申请实施例的数据采集方法的流程示意图,图4是根据本申请优选实施例的数据采集方法工作原理图,参考图1、图4所示,该流程包括如下步骤:任务接收步骤s1,用于获取一设定的采集任务及其任务配置,任务配置为自定义的,任务配置至少包括:任务名称、数据源、查询周期及任务指标其一或其任意组合;数据采集步骤s2,用于根据任务配置设定一采集规则,通过一数据库适配器连接数据源,利用一采集器根据查询周期及采集规则进行定时数据查询,得到查询结果;具体的,通过api获取任务配置,实现可插拔的采集器配置,可以随时根据需要切换到不同的数据源进行不同的采集任务。上述采集规则可自由定义,以便于根据不同的配置对不同数据源进行数据采集。其中,数据采集步骤s2进一步包括:数据源连接配置步骤s21,用于基于数据源配置数据库适配器,用以连接数据源对应的数据库,可选的,数据源至少包括:postgres、hive、mysql及http-api其一或其任意组合。数据同步步骤s3,用于根据任务名称为查询结果设置一数据标识,并将查询结果实时同步至一prometheus数据库。通过上述步骤,本方法对于数据源比较复杂的场景只需要提供对应的数据源的即可完成数据采集,也可在数据连接之前进行数据源连接配置,支持广泛的数据源,使用范围广泛。需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本申请实施例还提供了一种数据采集系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图2是根据本申请实施例的数据采集系统的结构框图,参考图2所示,该数据采集系统1包括:一任务接收模块11,用于获取一设定的采集任务及其任务配置,任务配置为自定义的,任务配置至少包括:任务名称、数据源、查询周期及任务指标其一或其任意组合;一数据采集模块12,用于根据任务配置设定一采集规则,通过一数据库适配器连接数据源,利用一采集器根据查询周期及采集规则进行数据查询,得到查询结果;可选的,数据采集模块12通过api获取任务配置,实现可插拔的采集器配置,可以随时根据需要切换到不同的数据源进行不同的采集任务;可选的,数据源至少包括:postgres、hive、mysql及http-api其一或其任意组合;一数据同步模块13,用于根据任务名称为查询结果设置一数据标识,并将查询结果实时同步至一prometheus数据库。具体的,数据采集模块12进一步包括:一数据源连接配置模块121,用于基于数据源配置数据库适配器,用以连接数据源对应的数据库。基于上述模块,该数据采集系统对于数据源比较复杂的场景只需要提供对应的数据源的即可完成数据采集,也可在数据连接之前进行数据源连接配置,支持广泛的数据源,使用范围广泛。需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。本申请实施例还提供了一种监控报警平台,该平台用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的平台较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图3是根据本申请实施例的监控报警平台的结构框图,图5是根据本申请优选实施例的监控报警平台的工作原理图,参考图3、图5所示,该平台包括:一任务设置模块21,用于设置一任务配置参数,任务配置至少包括:任务名称、数据源、查询周期及任务指标其一或其任意组合;一执行如上述实施例的数据采集方法的采集器子系统22,用于获取设定任务配置并通过一指标采集器根据任务配置进行数据采集,并将采集的数据按照预设的时间间隔队列同步至一prometheus数据库;一报警管理子系统23,用于根据采集的数据及预先设置的报警规则进行条件判断并输出报警信息。基于上述监控报警平台,采集器子系统22根据任务配置执行采集任务后,不做逻辑处理,将数据同步至prometheus数据库,作为监控报警平台的元数据以便于该监控报警平台进行数据呈现及报警管理,有助于数据运营工作的开展。具体的,采集器的语句举例如下:“selectdatname::text,usename::text,count(*)::floatascountfrompg_stat_activitywheredatnameisnotnullgroupbydatname,usename;”该采集语句具体是指采集规则为采集数据库里所有datname非空的所有postgresql表的数量。需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。下面通过优选实施例对本申请实施例进行描述和说明。假设hive数据库中的profile表结构如下:字段名称描述字段类型taskid任务idstringimpcount曝光记录数intclkcount点击记录数intcreatedate记录创建时间dateupdatedate记录更新时间date若业务场景需要对profile表中的记录实现如下监控:每天检查profile表的记录,对于创建时间是当天的记录,计算clkcount/impcount的值,小于3%的情况就需要发出报警,报警信息需要包含taskid信息。基于上述业务场景的任务指标为clkcount-impcount,利用本申请实施例的监控管理平台进行数据采集,具体如下。首先,利用任务设置模块21设置任务配置参数,则我们定义的采集任务,定义的采集任务是要采集clkcount和impcount两个指标,设置数据源,具体的,数据源包括postgres、hive、mysql及http-api。然后定义相应的数据查询逻辑sql,将采集任务下发给采集器子系统,可选的,任务配置中的任务名称和查询周期自定义。然后由采集器子系统22将数据成功采集之后通过标准的指标格式同步到prometheus数据库中,进一步的,任务采集可能是执行sql也可能是执行curl获取api的值,其中,curl是一个利用url语法在命令行下工作的文件传输工具。需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。另外,结合图1描述的本申请实施例数据采集方法可以由计算机设备来实现。计算机设备可以包括处理器以及存储有计算机程序指令的存储器。具体地,上述处理器可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,简称为asic),或者可以被配置成实施本申请实施例的一个或多个集成电路。其中,存储器可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器可包括硬盘驱动器(harddiskdrive,简称为hdd)、软盘驱动器、固态驱动器(solidstatedrive,简称为ssd)、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,简称为usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器可在数据处理装置的内部或外部。在特定实施例中,存储器是非易失性(non-volatile)存储器。在特定实施例中,存储器包括只读存储器(read-onlymemory,简称为rom)和随机存取存储器(randomaccessmemory,简称为ram)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(programmableread-onlymemory,简称为prom)、可擦除prom(erasableprogrammableread-onlymemory,简称为eprom)、电可擦除prom(electricallyerasableprogrammableread-onlymemory,简称为eeprom)、电可改写rom(electricallyalterableread-onlymemory,简称为earom)或闪存(flash)或者两个或更多个以上这些的组合。在合适的情况下,该ram可以是静态随机存取存储器(staticrandom-accessmemory,简称为sram)或动态随机存取存储器(dynamicrandomaccessmemory,简称为dram),其中,dram可以是快速页模式动态随机存取存储器(fastpagemodedynamicrandomaccessmemory,简称为fpmdram)、扩展数据输出动态随机存取存储器(extendeddateoutdynamicrandomaccessmemory,简称为edodram)、同步动态随机存取内存(synchronousdynamicrandom-accessmemory,简称sdram)等。存储器可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器所执行的可能的计算机程序指令。处理器通过读取并执行存储器中存储的计算机程序指令,以实现上述实施例中的任意一种数据采集方法。在其中一些实施例中,计算机设备还可包括通信接口和总线。通信接口用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信端口还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。总线包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线包括但不限于以下至少之一:数据总线(databus)、地址总线(addressbus)、控制总线(controlbus)、扩展总线(expansionbus)、局部总线(localbus)。举例来说而非限制,总线可包括图形加速接口(acceleratedgraphicsport,简称为agp)或其他图形总线、增强工业标准架构(extendedindustrystandardarchitecture,简称为eisa)总线、前端总线(frontsidebus,简称为fsb)、超传输(hypertransport,简称为ht)互连、工业标准架构(industrystandardarchitecture,简称为isa)总线、无线带宽(infiniband)互连、低引脚数(lowpincount,简称为lpc)总线、存储器总线、微信道架构(microchannelarchitecture,简称为mca)总线、外围组件互连(peripheralcomponentinterconnect,简称为pci)总线、pci-express(pci-x)总线、串行高级技术附件(serialadvancedtechnologyattachment,简称为sata)总线、视频电子标准协会局部(videoelectronicsstandardsassociationlocalbus,简称为vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。该计算机设备可以基于获取到的计算机程序指令,执行本申请实施例中的数据采集方法,从而实现结合图1描述的数据采集方法。另外,结合上述实施例中的数据采集方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种数据采集方法。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。当前第1页1 2 3 
    技术特征:

    1.一种数据采集方法,其特征在于,包括:

    任务接收步骤,用于获取一设定的采集任务及其任务配置,所述任务配置为自定义的,所述任务配置至少包括:任务名称、数据源、查询周期及任务指标其一或其任意组合;

    数据采集步骤,用于根据所述任务配置设定一采集规则,通过一数据库适配器连接所述数据源,利用一采集器根据所述查询周期及采集规则进行数据查询,得到查询结果;

    数据同步步骤,用于根据所述任务名称为所述查询结果设置一数据标识,并将所述查询结果实时同步至一prometheus数据库。

    2.根据权利要求1所述的数据采集方法,其特征在于,所述数据采集步骤进一步包括:

    数据源连接配置步骤,用于基于所述数据源配置所述数据库适配器,用以连接所述数据源对应的数据库。

    3.根据权利要求1或2所述的数据采集方法,其特征在于,所述数据采集步骤通过api获取所述任务配置。

    4.根据权利要求1或2所述的数据采集方法,其特征在于,所述数据源至少包括:postgres、hive、mysql及http-api其一或其任意组合。

    5.一种数据采集系统,其特征在于,包括:

    一任务接收模块,用于获取一设定的采集任务及其任务配置,所述任务配置为自定义的,所述任务配置至少包括:任务名称、数据源、查询周期及任务指标其一或其任意组合;

    一数据采集模块,用于根据所述任务配置设定一采集规则,通过一数据库适配器连接所述数据源,利用一采集器根据所述查询周期及采集规则进行数据查询,得到查询结果;

    一数据同步模块,用于根据所述任务名称为所述查询结果设置一数据标识,并将所述查询结果实时同步至一prometheus数据库。

    6.根据权利要求5所述的数据采集系统,其特征在于,所述数据采集模块进一步包括:

    一数据源连接配置模块,用于基于所述数据源配置所述数据库适配器,用以连接所述数据源对应的数据库。

    7.根据权利要求5或6所述的数据采集系统,其特征在于,所述数据采集模块通过api获取所述任务配置。

    8.一种监控报警平台,其特征在于,包括:

    一任务设置模块,用于设置一任务配置参数,所述任务配置至少包括:任务名称、数据源、查询周期及任务指标其一或其任意组合;

    一执行如权利要求1至4中任一项所述的数据采集方法的采集器子系统,用于获取设定任务配置并通过一指标采集器根据所述任务配置进行数据采集,并将采集的数据按照预设的时间间隔队列同步至一prometheus数据库;

    一报警管理子系统,用于根据所述采集的数据及预先设置的报警规则进行条件判断并输出报警信息。

    9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的数据采集方法。

    10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4中任一项所述的数据采集方法。

    技术总结
    本申请涉及一种数据采集方法、数据采集系统、监控报警平台、计算机设备及计算机存储介质,其中,该方法包括:任务接收步骤,用于获取一设定的采集任务及其任务配置,所述任务配置为自定义的,所述任务配置至少包括:任务名称、数据源、查询周期及任务指标其一或其任意组合;数据采集步骤,用于根据所述任务配置设定一采集规则,通过一数据库适配器连接所述数据源,利用一采集器根据所述查询周期及采集规则进行数据查询,得到查询结果;数据同步步骤,用于根据所述任务名称为所述查询结果设置一数据标识,并将所述查询结果实时同步至一Prometheus数据库。通过本申请实现支持可插拔的采集器配置,适用范围广且可根据需求切换数据源进行不同的任务。

    技术研发人员:胡双
    受保护的技术使用者:恩亿科(北京)数据科技有限公司
    技术研发日:2020.12.11
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-22010.html

    最新回复(0)