买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:北方云景科技(北京)有限公司
摘要:本发明涉及一种基于JavaAgent和字节码技术的平台健康监控系统,属于数据监控技术领域,解决了现有需要集成多种监控软件及监控维度不全面的问题。该系统包括监控采集模块用于在心跳扩展层通过各服务的心跳定时器采集心跳指标数据,得到服务访问情况的监控数据,在事件扩展层根据数据请求和定时任务信息得到事件执行情况的监控数据,在业务扩展层根据各方法执行结果得到事件中业务执行情况的监控数据,利用数据发送扩展层的发送器将各类监控数据发送至数据分析模块;环境编译模块用于在平台服务启动时加载监控采集模块;数据分析模块用于对接收的监控数据进行分析,展示分析结果和发出预警。实现了一套完整全面的健康监控系统。
主权项:1.一种基于JavaAgent和字节码技术的平台健康监控系统,其特征在于,包括:监控采集模块、环境编译模块和数据分析模块,所述监控采集模块,用于在心跳扩展层通过各服务的心跳定时器采集心跳指标数据,得到服务访问情况的监控数据,在事件扩展层拦截各事件入口,根据获取的数据请求和定时任务信息,得到事件执行情况的监控数据,在业务扩展层拦截各业务处理方法,根据各方法执行结果,得到事件中业务执行情况的监控数据,以及,利用数据发送扩展层的发送器将各类监控数据发送给数据分析模块;所述环境编译模块,用于在平台服务启动时,利用JavaAgent和字节码技术加载监控采集模块;所述数据分析模块,用于对接收的监控数据进行分析,展示分析结果和发出预警;所述监控采集模块还包括核心库层,用于提供通用的类和接口,以及,定义事件上下文管理各事件在不同线程的采集数据上下文,存放事件扩展层中各事件入口的事件数据对象,以及,定义事件执行监控器对事件上下文中的事件数据对象进行定时监控,对满足预警条件的事件数据立即发送给数据分析模块;所述在心跳扩展层通过各服务的心跳定时器采集心跳指标数据,得到服务访问情况的监控数据,包括:在心跳扩展层,分别创建搜索引擎服务、消息队列服务、缓存存储服务、网关路由服务、数据库服务、Feign服务和硬件服务的心跳定时器,均继承核心库层通用的心跳采集抽象类,在各心跳定时器中根据各自服务的配置采集心跳指标数据;由核心库层通用的采集管理器统一扫描和加载各服务心跳定时器,各服务心跳定时器独立运行,将采集的心跳指标数据封装为统一的心跳数据对象,放入采集管理器的心跳数据集合中,得到服务访问情况的监控数据;所述在事件扩展层拦截各事件入口,根据获取的数据请求和定时任务信息,得到事件执行情况的监控数据,包括:拦截SpringMVC和Struts的请求入口,解析请求入口中传入执行方法中的请求信息,得到请求事件数据;根据当前用户信息,得到请求用户数据,根据请求事件数据和请求用户数据,得到第一事件数据对象;拦截网关组件的路由入口,根据路由入口中传入执行方法中的路由信息,得到第二事件数据对象;拦截定时器组件的执行入口,根据执行入口中传入执行前方法中的定时任务信息,得到第三事件数据对象;将所述第一事件数据对象、第二事件数据对象和第三事件数据对象放入事件上下文中,待各自所属方法执行结束后销毁对应的事件数据对象,事件执行控制器通过定时监控未被销毁的各事件数据对象的放入时间,得到请求入口和定时任务执行情况的监控数据;所述在业务扩展层拦截各业务处理方法,根据各方法执行结果,得到事件中业务执行情况的监控数据,包括:拦截声明Spring注解的各业务处理方法,在各业务处理方法中注入异常捕获代码,根据各方法执行结果,获取第一栈信息;拦截Feign组件的各业务处理方法,根据Feign组件的请求信息和各方法执行结果,获取第二栈信息;扩展数据库连接池,在数据库语句的执行方法中根据数据库语句及其执行结果,获取第三栈信息,或者,拦截数据库语句的执行方法,注入数据库语句提取代码和异常捕获代码,根据得到的数据库语句及其执行结果,获取第三栈信息;拦截Http请求和Jedis请求,根据请求信息和执行结果,获取第四栈信息;根据线程ID,将第一栈信息、第二栈信息、第三栈信息和第四栈信息分别放入当前事件上下文中对应的事件数据对象中,与事件扩展层中的事件绑定,得到事件中业务执行情况的监控数据;所述环境编译模块,用于在平台服务启动时,利用JavaAgent和字节码技术加载监控采集模块,包括:平台服务启动时,基于JavaAgent技术,通过自定义的类加载器,从平台的类加载目录中获取监控采集模块中各层代码;通过字节码技术,对各层代码类进行字节码解析,创建各自对应的新的同名类,将各层代码中扩展的方法添加到新的同名类后,生成新的同名类;实例化数据发送扩展层的发送器、核心库层的采集管理器和事件执行监控器;实例化后的采集管理器对心跳扩展层的各服务的心跳定时器进行定时执行。
全文数据:
权利要求:
百度查询: 北方云景科技(北京)有限公司 基于Java Agent和字节码技术的平台健康监控系统
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。