一种基于NiFi实现定时监控接口程序运行状态的方法和装置与流程

文档序号:29217000发布日期:2022-03-12 11:46阅读:334来源:国知局
一种基于nifi实现定时监控接口程序运行状态的方法和装置
技术领域
:1.本发明涉及接口监控
技术领域
:,特别涉及一种基于nifi实现定时监控接口程序运行状态的方法和装置。
背景技术
::2.随着互联网科技行业的发展,互联网产品开发系统越来越庞大,满足了市场各种各样的业务需求,开发系统接入越来越多的不一样的资源服务接口。3.当第三方接入的接口出现问题时,通常难以及时地发现处理,增加了在问题排查和后期系统的维护难度。如今开发系统接入的第三方接口繁多,导致开发系统排查效率越来越低。4.现有技术通常通过开发一个监控程序,用于监控繁多的第三方接口的运行状态。然而针对各式各样的接口进行开发,增加了复杂的开发工作和维护周期。技术实现要素:5.本发明要解决的技术问题,在于提供一种基于nifi实现定时监控接口程序运行状态的方法和装置,提高效率和准确性,可视化操作为后期维护提供便利。6.第一方面,本发明提供了一种基于nifi实现定时监控接口程序运行状态的方法,包括:监控任务表配置过程以及程序监控过程;7.所述监控任务表配置过程包括:根据待监控的接口通过关系型数据库配置监控任务表,所述监控任务表包括主键、检测时间、检测参数、检测方法、请求链接、结果状态、结果代码、结果信息以及检测协议字段;8.所述程序监控过程包括:从所述监控任务表获取待监控的请求接口数据,所述待监控的请求接口数据包括主键、检测参数、检测方法、请求链接以及检测协议;根据所述待监控的请求接口数据分别对各接口发送请求,检测各接口程序的运行状态是否正常,将返回结果的接口的结果状态、结果代码、结果信息、检测时间根据对应的主键更新所述监控任务表,用于后期查看和维护。9.进一步地,通过querydatabasetable组件从所述监控任务表获取待监控的请求接口数据,通过所述querydatabasetable组件设置schedulingstrategy属性为crondriven,用于定时查询检测接口程序运行状态。10.进一步地,所述程序监控过程中,从所述监控任务表获取待监控的请求接口数据,具体为:先通过convertavrotojson组件配置jsoncontaineroptions属性为array,处理多条数据需选择array;然后通过splitjson组件配置确定json对象的输出表达式,将一个json对象拆分为多个单独的json对象,对流进行数据格式处理;接着通过evaluatejsonpath组件自定义上游传递值,取出需要的字段添加到属性列表提供给下游取值。11.进一步地,所述检测协议字段包括http或者https;所述程序监控过程中,根据所述待监控的请求接口数据分别对各接口发送请求,当检测协议字段为http时,直接使用invokehttp组件配置remoteurl、httpmethod对http协议的接口发送请求,当检测协议字段为https时,通过invokehttps自定义组件配置remoteurl、httpmethod、params对https协议的接口发送请求。12.进一步地,所述程序监控过程中,将返回结果的接口的结果状态、结果代码、结果信息以及检测时间根据对应的主键更新所述监控任务表,具体为:通过updateattribute组件将返回结果的接口的结果状态、结果代码、结果信息、检测时间拼接成sql,然后根据对应的主键通过putsql组件更新所述监控任务表的检测时间、结果状态、结果代码以及结果信息。13.第二方面,本发明提供了一种基于nifi实现定时监控接口程序运行状态的装置,包括:监控任务表配置模块以及程序监控模块;14.所述监控任务表配置模块,用于根据待监控的接口通过关系型数据库配置监控任务表,所述监控任务表包括主键、检测时间、检测参数、检测方法、请求链接、结果状态、结果代码、结果信息以及检测协议字段;15.所述程序监控模块,用于从所述监控任务表获取待监控的请求接口数据,所述待监控的请求接口数据包括主键、检测参数、检测方法、请求链接以及检测协议;根据所述待监控的请求接口数据分别对各接口发送请求,检测各接口程序的运行状态是否正常,将返回结果的接口的结果状态、结果代码、结果信息、检测时间根据对应的主键更新所述监控任务表,用于后期查看和维护。16.进一步地,所述程序监控模块中,通过querydatabasetable组件从所述监控任务表获取待监控的请求接口数据,通过所述querydatabasetable组件设置schedulingstrategy属性为crondriven,用于定时查询检测接口程序运行状态。17.进一步地,所述程序监控模块中,从所述监控任务表获取待监控的请求接口数据,具体为:先通过convertavrotojson组件配置jsoncontaineroptions属性为array,处理多条数据需选择array;然后通过splitjson组件配置确定json对象的输出表达式,将一个json对象拆分为多个单独的json对象,对流进行数据格式处理;接着通过evaluatejsonpath组件自定义上游传递值,取出需要的字段添加到属性列表提供给下游取值。18.进一步地,所述检测协议字段包括http或者https;所述程序监控模块中,根据所述待监控的请求接口数据分别对各接口发送请求,当检测协议字段为http时,直接使用invokehttp组件配置remoteurl、httpmethod对http协议的接口发送请求,当检测协议字段为https时,通过invokehttps自定义组件配置remoteurl、httpmethod、params对https协议的接口发送请求。19.进一步地,所述程序监控模块中,将返回结果的接口的结果状态、结果代码、结果信息以及检测时间根据对应的主键更新所述监控任务表,具体为:通过updateattribute组件将返回结果的接口的结果状态、结果代码、结果信息、检测时间拼接成sql,然后根据对应的主键通过putsql组件更新所述监控任务表的检测时间、结果状态、结果代码以及结果信息。20.本发明实施例中提供的技术方案,具有如下技术效果或优点:21.通过根据待监控的接口通过关系型数据库配置监控任务表,然后基于nifi提供的组件功能实现定时监控接口程序运行状态,nifi提供了一个基于流的编程体验,让使用者直观理解一组数据流操作,有助于在监控接口程序运行状态的开发维护上,提高效率和准确性,可视化操作为后期维护提供便利。22.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明23.下面参照附图结合实施例对本发明作进一步的说明。24.图1为本发明实施例一方法的流程图;25.图2为本发明实施例一中组件执行流程图;26.图3为本发明实施例二中装置的结构示意图。具体实施方式27.本技术实施例通过提供一种基于nifi实现定时监控接口程序运行状态的方法和装置,提高效率和准确性,可视化操作为后期维护提供便利。28.本技术实施例中的技术方案,总体思路如下:29.nifi作为数据处理和分发系统:可以在系统中移动数据,并为用户提供处理该数据的工具。主要用于连接不同种类,不同格式,来自不同系统的文件,并在合适的处理后将它们分发到它们应该去的地方。nifi提供了一个基于流的编程体验,nifi让用户一眼就能理解一组数据流操作。基于nifi提供的组件,用于接入第三方接口的开发系统在监控接口程序运行状态的开发维护上,从而提高效率和准确性,可视化操作为后期维护提供便利。30.实施例一31.本实施例提供一种基于nifi实现定时监控接口程序运行状态的方法,如图1所示,包括:监控任务表配置过程以及程序监控过程;32.所述监控任务表配置过程包括:根据待监控的接口通过关系型数据库配置监控任务表,所述监控任务表包括主键、检测时间、检测参数、检测方法、请求链接、结果状态、结果代码、结果信息以及检测协议字段;33.所述程序监控过程包括:从所述监控任务表获取待监控的请求接口数据,所述待监控的请求接口数据包括主键、检测参数、检测方法、请求链接以及检测协议;根据所述待监控的请求接口数据分别对各接口发送请求,检测各接口程序的运行状态是否正常,将返回结果的接口的结果状态、结果代码、结果信息、检测时间根据对应的主键更新所述监控任务表,用于后期查看和维护。34.本实施例的一个具体实现方式:35.如表1所示,根据待监控的接口通过关系型数据库配置监控任务表,所述监控任务表包括主键、检测时间、检测参数、检测方法、请求链接、结果状态、结果代码、结果信息以及检测协议字段。其中,检测方法可以是post或者get,检测协议可以为http或者https等。36.表137.字段名字段名称字段类型unid主键varchar2(32)check_time检测时间datecheck_parameter检测参数varchar2(4000)check_method检测方法varchar2(200)service_url请求链接varchar2(1000)result_status结果状态varchar2(10)result_code结果代码varchar2(1000)result_msg结果信息varchar2(1000)checke_prorocol检测协议varchar2(100)38.如图2所示,程序监控流程先通过querydatabasetable组件从所述监控任务表获取待监控的请求接口数据,可以包括check_method(检测方法)、check_parameter(检测参数)、service_url(请求链接)、checke_prorocol(检测协议)以及unid(主键)字段,可以通过所述querydatabasetable组件设置schedulingstrategy属性为crondriven,用于定时查询检测接口程序运行状态。39.然后通过convertavrotojson组件配置jsoncontaineroptions属性为array,处理多条数据需选择array;再通过splitjson组件配置jsonpathexpression为$.*,确定json对象的输出表达式,将一个json对象拆分为多个单独的json对象,对流进行数据格式处理;接着通过evaluatejsonpath组件自定义上游传递值,取出需要的字段check_method(检测方法)、check_parameter(检测参数)、service_url(请求链接)添加到属性列表提供给下游取值。40.接着routeonattribute组件获取checke_prorocol(检测协议)字段中含有的协议类型(比如,https、http),根据类型进行路由处理,提供给不同处理类型的下游组件分支操作,根据其协议不同使用不同请求处理方式。当检测协议字段为http时,直接使用invokehttp组件配置remoteurl、httpmethod对http协议的接口发送请求,当检测协议字段为https时,通过invokehttps自定义组件配置remoteurl、httpmethod、params对https协议的接口发送请求,从而检测各接口程序的运行状态是否正常。41.通过updateattribute组件将返回结果的接口的结果状态、结果代码、结果信息、检测时间拼接成sql,最后根据对应的主键通过putsql组件更新所述监控任务表的检测时间、结果状态、结果代码以及结果信息。42.基于同一发明构思,本技术还提供了与实施例一中的方法对应的装置,详见实施例二。43.实施例二44.在本实施例中提供了一种基于nifi实现定时监控接口程序运行状态的装置,如图3所示,包括:监控任务表配置模块以及程序监控模块;45.所述监控任务表配置模块,用于根据待监控的接口通过关系型数据库配置监控任务表,所述监控任务表包括主键、检测时间、检测参数、检测方法、请求链接、结果状态、结果代码、结果信息以及检测协议字段;46.所述程序监控模块,用于从所述监控任务表获取待监控的请求接口数据,所述待监控的请求接口数据包括主键、检测参数、检测方法、请求链接以及检测协议;根据所述待监控的请求接口数据分别对各接口发送请求,检测各接口程序的运行状态是否正常,将返回结果的接口的结果状态、结果代码、结果信息、检测时间根据对应的主键更新所述监控任务表,用于后期查看和维护。47.在一具体实现方式中,所述程序监控模块中,通过querydatabasetable组件从所述监控任务表获取待监控的请求接口数据,通过所述querydatabasetable组件设置schedulingstrategy属性为crondriven,用于定时查询检测接口程序运行状态。48.所述程序监控模块中,从所述监控任务表获取待监控的请求接口数据,具体为:先通过convertavrotojson组件配置jsoncontaineroptions属性为array,处理多条数据需选择array;然后通过splitjson组件配置确定json对象的输出表达式,将一个json对象拆分为多个单独的json对象,对流进行数据格式处理;接着通过evaluatejsonpath组件自定义上游传递值,取出需要的字段添加到属性列表提供给下游取值。49.所述检测协议字段包括http或者https;所述程序监控模块中,根据所述待监控的请求接口数据分别对各接口发送请求,当检测协议字段为http时,直接使用invokehttp组件配置remoteurl、httpmethod对http协议的接口发送请求,当检测协议字段为https时,通过invokehttps自定义组件配置remoteurl、httpmethod、params对https协议的接口发送请求。50.所述程序监控模块中,将返回结果的接口的结果状态、结果代码、结果信息以及检测时间根据对应的主键更新所述监控任务表,具体为:通过updateattribute组件将返回结果的接口的结果状态、结果代码、结果信息、检测时间拼接成sql,然后根据对应的主键通过putsql组件更新所述监控任务表的检测时间、结果状态、结果代码以及结果信息。51.由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。52.相较于现有监控程序的繁琐实现,本发明实施方法通过根据待监控的接口通过关系型数据库配置监控任务表,然后基于nifi提供的组件功能实现定时监控接口程序运行状态,提高效率和准确性,便利操作,缩短开发周期的,可视化操作为后期维护提供便利。53.虽然以上描述了本发明的具体实施方式,但是熟悉本
技术领域
:的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1