一种基于内存操作的JAVA应用监控预警方法及系统技术方案

技术编号:32278797 阅读:14 留言:0更新日期:2022-02-12 19:45
本发明专利技术涉及一种基于内存操作的JAVA应用监控预警方法及系统,在JAVA运行时应用服务采用插件式自动埋点监控,提供监控配置功能,实现对需要监控的服务实时配置,减少了手动埋点对研发人员的依赖,同时较无侵入的监控,提升了性能,增加了监控的精细化,实时产生监控结果报告,提升了监控实时性。监控信息纯内存操作,预统计,无磁盘IO,批量数据处理,高性能监控,为应用服务健康高效运行提供了保障,精细化监控及业务数据动态配置抓取功能,为问题排查快速定位及排查提供了保障。解决了传统监控不具备的灵活性、实时性、精细化、精准化、动态配置化、高性能监控等诸多问题。高性能监控等诸多问题。高性能监控等诸多问题。

【技术实现步骤摘要】
一种基于内存操作的JAVA应用监控预警方法及系统


[0001]本专利技术涉及数据安全和大规模数据管理
,尤其涉及一种基于内存操作的JAVA应用监控预警方法及系统。

技术介绍

[0002]JAVA是一种面向对象的程序设计语言,可编写跨平台应用软件,广泛应用于各类应用程序设计中。近年来JAVA应用发展迅速,应用复杂度也越来越高,对应用服务健康的监控,保证应用服务的稳定高性能运行,出现问题及时预警,对问题快速定位,成为JAVA应用监控的重要指标。
[0003]目前,现有的JAVA应用监控多采用应用程序内埋点日志,或者无侵入监控技术日志输出统计的方法为主,这些方法都存在频繁的磁盘IO操作,对系统性能的影响非常严重。对于应用程序内埋点,需要研发人员手动将埋点程序嵌入到应用服务程序当中,再通过埋点日志输出,汇聚分析获得监控报告,导致报告多有延时性,且此方法对研发人员依赖性过高,缺乏灵活性,新上业务皆需要研发人员手动加入埋点程序,极大地消耗人力资源。对于无侵入监控技术,需要在JAVA服务代码编译环节,修改JAVA应用程序的二进制执行文件嵌入监控插件,从而实现JAVA应用的监控,对于全量应用服务监控的性能开销很大,且无法做到对应用服务的精细监控,导致监控缺乏灵活性,不能完全满足应用监控的实际需要。

技术实现思路

[0004]为解决现有技术的不足,本专利技术提出一种基于内存操作的JAVA应用监控预警方法及系统,对基于Spring、SpringMVC、SpringBoot、SpringCloud、Mybatis、ibatis框架的JAVA应用服务进行监控预警,在JAVA运行时应用服务采用插件式自动埋点监控,提供监控配置功能,实现对需要监控的服务实时配置,减少了手动埋点对研发人员的依赖,同时较无侵入的监控,提升了性能,增加了监控的精细化,实时产生监控结果报告,提升了监控实时性。监控信息纯内存操作,预统计,无磁盘IO,批量数据处理,高性能监控,为应用服务健康高效运行提供了保障,精细化监控及业务数据动态配置抓取功能,为问题排查快速定位及排查提供了保障。解决了传统监控不具备的灵活性、实时性、精细化、精准化、动态配置化、高性能监控等诸多问题。
[0005]为实现以上目的,本专利技术所采用的技术方案包括:
[0006]一种基于内存操作的JAVA应用监控预警方法,其特征在于,包括:
[0007]S1、建立应用服务监控配置;
[0008]S2、根据应用服务监控配置对需要监控的应用服务进行埋点;
[0009]S3、通过埋点,采集应用服务调用数据;
[0010]S4、将采集的应用服务调用数据进行内存归集统计,形成待分析数据;
[0011]S5、使用预设的风险预警模型对待分析数据进行分析处理得到应用服务预警数据;
[0012]S6、使用应用服务预警数据生成预警报表,并根据应用服务预警数据中所包含的应用服务问题发出预警;
[0013]其中,步骤S3包括以下分步骤:
[0014]S31、设定常规信息采集间隔时间,所述常规信息包含正常响应的应用服务信息;
[0015]S32、设定系统信息采集间隔时间;所述常规信息采集间隔时间与系统信息采集间隔时间相同,或,为系统信息采集间隔时间的整数倍数;
[0016]S33、根据常规信息采集间隔时间,归集常规信息采集间隔时间段内的常规信息集合;
[0017]S34、根据系统信息采集间隔时间,周期性采集获取最新的系统信息;
[0018]S35、采集所有异常信息,所述异常信息包含没有正常响应的应用服务信息;
[0019]S36、组合常规信息、系统信息和异常信息形成应用服务调用数据;
[0020]步骤S4包括以下分步骤:
[0021]S41、将采集的应用服务调用数据排列存入内存消息队列中;
[0022]S42、将内存消息队列中的应用服务调用数据进行预处理统计后缓存;
[0023]S43、提取缓存中经过预处理统计后的应用服务调用数据的归集数据形成待分析数据。
[0024]进一步地,所述应用服务信息包括对应应用服务的调用次数、调用成功率、响应时间、响应异常数量、业务数据汇总值和应用服务参数;
[0025]所述系统信息包含CPU使用率、内存使用率、磁盘交换分区使用情况、系统负载和JVM信息。
[0026]进一步地,所述应用服务监控配置包括:
[0027]设置spring方法拦截器;
[0028]设置mybatis插件机制;
[0029]设定拦截范围,所述拦截范围包含应用服务所对应的所有Bean方法和DAO方法;
[0030]配置采集数据过滤规则。
[0031]进一步地,所述根据应用服务监控配置对需要监控的应用服务进行埋点包括:
[0032]根据应用服务监控配置建立埋点插件;
[0033]使用埋点插件对应用服务进行埋点。
[0034]进一步地,所述根据应用服务监控配置对需要监控的应用服务进行埋点还包括:
[0035]根据应用服务监控配置的变动更新埋点插件。
[0036]进一步地,所述预设的风险预警模型通过如下步骤建立:
[0037]获取历史应用服务调用数据和对应历史应用服务调用数据的历史预警报表;
[0038]以历史应用服务调用数据和历史预警报表作为模型训练数据,训练获得待验证模型;
[0039]建立虚拟的测试数据,将测试数据输入待验证模型运算获得待验证结果;
[0040]使用待验证结果,对待验证模型的预测成功率进行评估,当成功率满足阈值,将待验证模型作为风险预警模型保存。
[0041]进一步地,所述以历史应用服务调用数据和历史预警报表作为模型训练数据,训练获得待验证模型包括使用XGBoost算法训练;
[0042]所述对待验证模型的预测成功率进行评估包括使用朴素贝叶斯和/或逻辑回归对待验证结果进行评估。
[0043]本专利技术还涉及一种基于内存操作的JAVA应用监控预警系统,其特征在于,包括:
[0044]配置模块,用于建立应用服务监控配置;
[0045]应用服务监控模块,用于根据应用服务监控配置对需要监控的应用服务进行埋点,并采集应用服务调用数据;
[0046]模型管理模块,用于生成并更新风险预警模型;
[0047]第一数据处理模块,用于将采集的应用服务调用数据进行内存归集统计,形成待分析数据;
[0048]第二数据处理模块,用于使用预设的风险预警模型对待分析数据进行分析处理得到应用服务预警数据;
[0049]预警模块,用于使用应用服务预警数据生成预警报表,并根据应用服务预警数据中所包含的应用服务问题发出预警。
[0050]本专利技术还涉及一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
[0051]本专利技术还涉及一种电子设备,其本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于内存操作的JAVA应用监控预警方法,其特征在于,包括:S1、建立应用服务监控配置;S2、根据应用服务监控配置对需要监控的应用服务进行埋点;S3、通过埋点,采集应用服务调用数据;S4、将采集的应用服务调用数据进行内存归集统计,形成待分析数据;S5、使用预设的风险预警模型对待分析数据进行分析处理得到应用服务预警数据;S6、使用应用服务预警数据生成预警报表,并根据应用服务预警数据中所包含的应用服务问题发出预警。2.如权利要求1所述的方法,其特征在于,所述步骤S3包括以下分步骤:S31、设定常规信息采集间隔时间,所述常规信息包含正常响应的应用服务信息;S32、设定系统信息采集间隔时间;所述常规信息采集间隔时间与系统信息采集间隔时间相同,或,为系统信息采集间隔时间的整数倍数;S33、根据常规信息采集间隔时间,归集常规信息采集间隔时间段内的常规信息集合;S34、根据系统信息采集间隔时间,周期性采集获取最新的系统信息;S35、采集所有异常信息,所述异常信息包含没有正常响应的应用服务信息;S36、组合常规信息、系统信息和异常信息形成应用服务调用数据。3.如权利要求2所述的方法,其特征在于,所述步骤S4包括以下分步骤:S41、将采集的应用服务调用数据排列存入内存消息队列中;S42、将内存消息队列中的应用服务调用数据进行预处理统计后缓存;S43、提取缓存中经过预处理统计后的应用服务调用数据的归集数据形成待分析数据。4.如权利要求3所述的方法,其特征在于,所述应用服务信息包括对应应用服务的调用次数、调用成功率、响应时间、响应异常数量、业务数据汇总值和应用服务参数;所述系统信息包含CPU使用率、内存使用率、磁盘交换分区使用情况、系统负载和JVM信息。5.如权利要求3所述的方法,其特征在于,所述应用服务监控配置包括:设置spring方法拦截器;设置mybatis插件机制;设定拦截范围,所述拦截范围包含应用服务所对应的所有Bean方法和DAO方法;配置采集数据过滤规则。6.如权利要求5所述的方法,其特征在于,所述根据应用服务监控配置对...

【专利技术属性】
技术研发人员:王加喜徐浩智邹鹏张帅吕丹丹张振林王子伦
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1