一种无侵入式日志拦截性能分析方法及系统与流程

文档序号:12363395阅读:559来源:国知局
一种无侵入式日志拦截性能分析方法及系统与流程

本发明涉及信息处理领域,尤其涉及一种无侵入式日志拦截性能分析方法及系统。



背景技术:

随着IT行业软件产品的推陈出新,客户对于软件产品的性能要求也越来越高,因此,提供高性能的软件,及时对出现性能问题的产品进行分析并给出合理的解决方案就成为当下的一个重要问题。目前,Spring作为现在最优秀的框架之一,业界大部分的JavaEE框架是典型的Struct+Spring+Hibernate或者是AJAX+Spring+Hibernate架构,其共同点是均有Spring框架的使用,那么,如何实现对基于AOP(AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术)的应用程序的性能进行全面自动化分析和管理,以达到交付高性能软件产品的目的就成为我们要解决的问题。目前,业界尚无一款通用的高效率的性能分析软件,能够基于Spring的AOP特征进行日志捕捉性能分析和统计优化,并支持消息中间件和大数据的分析框架。



技术实现要素:

本发明要解决的技术问题之一,在于提供一种无侵入式日志拦截性能分析方法,实现高效的自动化日志拦截和分析,并提高系统可视化程度,大大节约运维和研发人力成本,提高交付软件产品的质量。

本发明要解决的技术问题之一是这样实现的:一种无侵入式日志拦截性能分析方法,包括如下步骤:

步骤1、创建一用于收集日志信息的拦截插件,并将所述插件植入业务应用集群,根据所述插件上预先设置的跟踪埋点,采集所述业务应用集群的日志信息,并对采集到的日志信息进行全量格式化处理,同时将格式化后的日志信息发送给消息服务器,进入日志处理队列;

步骤2、通过消息服务器将全量格式化处理后的日志信息传送给Storm集群,在Strom中对格式化后的日志信息进行流式计算,得到相关统计信息;

步骤3、通过消息中间件将收集的全量格式化后的日志信息以HDFS(Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统)格式存储到Hadoop集群(Hadoop是一个由Apache基金会所开发的分布式系统基础架构),通过所述Storm集群计算结果并将实时信息以HBase(HBase是一个分布式的、面向列的开源数据库)进行存储,分析得到各性能参数指标;

步骤4、通过一日志分析服务器根据业务需要,从HDFS格式或Hbase集群中获取日志信息以及分析结果,并将获取到的数据进行处理后通过一交互界面展示给用户,所述交互界面采用图表形式进行展示。

进一步的,所述拦截插件包括一用于设置跟踪埋点的中间件和一用于采集日志信息的信息收集模块,所述信息收集模块根据所述跟踪埋点采集日志信息并将采集到的日志信息进行全量格式化处理。

进一步的,所述跟踪埋点包括前置埋点、后置埋点、异常信息、执行轨迹、请求者位置和响应者位置。

进一步的,所述步骤4进一步包括:

步骤41、通过一日志分析服务器根据业务需要,从HDFS格式或Hbase集群中获取日志信息以及分析结果;

步骤42、将获取到的数据进行归类,包括日志数据、事务数据、业务数据、统计分析数据和特征整合数据;

步骤43、通过一交互界面将上述数据以图表形式展示给用户,所述交互界面包括一健康仪表盘界面和应用界面,所述健康仪表盘界面用于展示操作系统的运维状况图,所述应用界面包括健康中心模块、健康管家模块、优化专家模块、跟踪助手模块、监控与警告模块和统一消息推送模块,所述健康中心模块用于以表格形式展示某一时刻的操作系统健康的各个指标信息,所述指标信息包括数据库连接数、数据库表空间和数据库的执行计划变更数,所述健康管家模块用于设置相关监控指标和参数,所述优化专家模块用于向用户展示操作系统中性能低的若干个指标项,所述跟踪助手模块用于采集报错的入参和出参并展示API((API全称为Application Programming Interface,应用程序编程接口)是一些预先定义的函数)执行路径,所述监控与告警模块用于提供监控视图和阈值设置,所述统一消息推送模块用于接受和发送指令。

进一步的,所述日志分析服务器还通过获取HBase格式的日志信息完成用户详单信息查询。

本发明要解决的技术问题之二,在于提供一种无侵入式日志拦截性能分析系统,实现高效的自动化日志拦截和分析,并提高系统可视化程度,大大节约运维和研发人力成本,提高交付软件产品的质量。

本发明要解决的技术问题之二是这样实现的:一种无侵入式日志拦截性能分析系统,包括一获取日志信息模块、一转发模块、一存储与分析模块和一可视化模块:

所述获取日志信息模块,用于创建一用于收集日志信息的拦截插件,并将所述插件植入业务应用集群,根据所述插件上预先设置的跟踪埋点,采集所述业务应用集群的日志信息,并对采集到的日志信息进行全量格式化处理,同时将格式化后的日志信息发送给消息服务器,进入日志处理队列;

所述转发模块,用于通过消息服务器将全量格式化处理后的日志信息传送给Storm集群,在Strom中对格式化后的日志信息进行流式计算,得到相关统计信息;

所述存储与分析模块,用于通过消息服务器将收集的全量格式化后的日志信息以HDFS(Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统)格式存储到Hadoop集群(Hadoop是一个由Apache基金会所开发的分布式系统基础架构),通过所述Storm集群计算结果并将实时信息以HBase(HBase是一个分布式的、面向列的开源数据库)进行存储,分析得到各性能参数指标;

所述可视化模块,用于通过一日志分析服务器根据业务需要,从HDFS格式或Hbase集群中获取日志信息以及分析结果,并将获取到的数据进行处理后通过一交互界面展示给用户,所述交互界面采用图表形式进行展示。

进一步的,所述拦截插件包括一用于设置跟踪埋点的中间件和一用于采集日志信息的信息收集模块,所述信息收集模块根据所述跟踪埋点采集日志信息并将采集到的日志信息进行全量格式化处理。

进一步的,所述跟踪埋点包括前置埋点、后置埋点、异常信息、执行轨迹、请求者位置和响应者位置。

进一步的,所述可视化模块进一步包括:

数据获取模块,用于通过一日志分析服务器根据业务需要,从HDFS格式或Hbase集群中获取日志信息以及分析结果;

数据处理模块,用于将获取到的数据进行归类,包括日志数据、事务数据、业务数据、统计分析数据和特征整合数据;以及

界面展示模块,用于通过一交互界面将上述数据以图表形式展示给用户,所述交互界面包括一健康仪表盘界面和应用界面,所述健康仪表盘界面用于展示操作系统的运维状况图,所述应用界面包括健康中心模块、健康管家模块、优化专家模块、跟踪助手模块、监控与警告模块和统一消息推送模块,所述健康中心模块用于以表格形式展示某一时刻的操作系统健康的各个指标信息,所述指标信息包括数据库连接数、数据库表空间和数据库的执行计划变更数,所述健康管家模块用于设置相关监控指标和参数,所述优化专家模块用于向用户展示操作系统中性能低的若干个指标项,所述跟踪助手模块用于采集报错的入参和出参并展示API执行路径,所述监控与告警模块用于提供监控视图和阈值设置,所述统一消息推送模块用于接受和发送指令。

进一步的,所述日志分析服务器还通过获取HBase格式的日志信息完成用户详单信息查询。

本发明具有如下优点:

1、通过自动化日志拦截和分析,提升项目管理,避免运维人员7×24小时的值班,提高研发人员的工作效率,节约了运维和研发人力成本;

2、通过对软件产品性能监控与分析、预测、告警等,对软件产品的性能实现预分析,避免软件性能问题到测试和生产环节才发现,提高产品的可用性,提升客户满意度;

3、通过交互界面的设计,提高系统运维的可视化,实现问题的全面采集与分析,从而实现对系统全流程的监控与告警。

附图说明

下面参照附图结合实施例对本发明作进一步的说明。

图1为本发明一种无侵入式日志拦截性能分析方法执行流程图。

图2为本发明一种无侵入式日志拦截性能分析系统框图。

图3为本发明一种无侵入式日志拦截性能分析原理示意图。

具体实施方式

如图1和图3所示,一种无侵入式日志拦截性能分析方法,包括如下步骤:

步骤1、创建一用于收集日志信息的拦截插件,并将所述插件植入业务应用集群,根据所述插件上预先设置的跟踪埋点,采集所述业务应用集群的日志信息,并对采集到的日志信息进行全量格式化处理,同时将格式化后的日志信息发送给消息服务器,进入日志处理队列,所述拦截插件包括一用于设置跟踪埋点的中间件和一用于采集日志信息的信息收集模块,所述信息收集模块根据所述跟踪埋点采集日志信息并将采集到的日志信息进行全量格式化处理,所述跟踪埋点包括前置埋点、后置埋点、异常信息、执行轨迹、请求者位置和响应者位置;

步骤2、通过消息服务器将全量格式化处理后的日志信息传送给Storm集群,在Strom中对格式化后的日志信息进行流式计算,得到相关统计信息;

步骤3、通过消息服务器将收集的全量格式化后的日志信息以HDFS格式进行存储到Hadoop集群,通过所述Storm集群计算结果并将实时信息以HBase进行存储,分析得到各性能参数指标;

步骤4、通过一日志分析服务器根据业务需要,从HDFS格式或Hbase集群中获取日志信息以及分析结果,并将获取到的数据进行处理后通过一交互界面展示给用户,所述交互界面采用图表形式进行展示,所述步骤4进一步包括:

步骤41、通过一日志分析服务器根据业务需要,从HDFS格式或Hbase集群中获取日志信息以及分析结果;

步骤42、将获取到的数据进行归类,包括日志数据、事务数据、业务数据、统计分析数据和特征整合数据;

步骤43、通过一交互界面将上述数据以图表形式展示给用户,所述交互界面包括一健康仪表盘界面和应用界面,所述健康仪表盘界面用于展示操作系统的运维状况图,所述应用界面包括健康中心模块、健康管家模块、优化专家模块、跟踪助手模块、监控与警告模块和统一消息推送模块,所述健康中心模块用于以表格形式展示某一时刻的操作系统健康的各个指标信息,所述指标信息包括数据库连接数、数据库表空间和数据库的执行计划变更数,所述健康管家模块用于设置相关监控指标和参数,所述优化专家模块用于向用户展示操作系统中性能低的若干个指标项,所述跟踪助手模块用于采集报错的入参和出参并展示API执行路径,所述监控与告警模块用于提供监控视图和阈值设置,所述统一消息推送模块用于接受和发送指令。

所述日志分析服务器还通过获取HBase格式的日志信息完成用户详单信息查询。

如图2和图3所示,一种无侵入式日志拦截性能分析系统,包括一获取日志信息模块、一转发模块、一存储与分析模块和一可视化模块:

所述获取日志信息模块,用于创建一用于收集日志信息的拦截插件,并将所述插件植入业务应用集群,根据所述插件上预先设置的跟踪埋点,采集所述业务应用集群的日志信息,并对采集到的日志信息进行全量格式化处理,同时将格式化后的日志信息发送给消息服务器,进入日志处理队列,所述拦截插件包括一用于设置跟踪埋点的中间件和一用于采集日志信息的信息收集模块,所述信息收集模块根据所述跟踪埋点采集日志信息并将采集到的日志信息进行全量格式化处理,所述跟踪埋点包括前置埋点、后置埋点、异常信息、执行轨迹、请求者位置和响应者位置;

所述转发模块,用于通过消息服务器将全量格式化处理后的日志信息传送给Storm集群,在Strom中对格式化后的日志信息进行流式计算,得到相关统计信息;

所述存储与分析模块,用于通过消息服务器将收集的全量格式化后的日志信息以HDFS格式进行存储到Hadoop集群,通过所述Storm集群计算结果并将实时信息以HBase进行存储,分析得到各性能参数指标;

所述可视化模块,用于通过一日志分析服务器根据业务需要,从HDFS格式或Hbase集群中获取日志信息以及分析结果,并将获取到的数据进行处理后通过一交互界面展示给用户,所述交互界面采用图表形式进行展示,所述可视化模块进一步包括:

数据获取模块,用于通过一日志分析服务器根据业务需要,从HDFS格式或Hbase集群中获取日志信息以及分析结果;

数据处理模块,用于将获取到的数据进行归类,包括日志数据、事务数据、业务数据、统计分析数据和特征整合数据;以及

界面展示模块,用于通过一交互界面将上述数据以图表形式展示给用户,所述交互界面包括一健康仪表盘界面和应用界面,所述健康仪表盘界面用于展示操作系统的运维状况图,所述应用界面包括健康中心模块、健康管家模块、优化专家模块、跟踪助手模块、监控与警告模块和统一消息推送模块,所述健康中心模块用于以表格形式展示某一时刻的操作系统健康的各个指标信息,所述指标信息包括数据库连接数、数据库表空间和数据库的执行计划变更数,所述健康管家模块用于设置相关监控指标和参数,所述优化专家模块用于向用户展示操作系统中性能低的若干个指标项,所述跟踪助手模块用于采集报错的入参和出参并展示API执行路径,所述监控与告警模块用于提供监控视图和阈值设置,所述统一消息推送模块用于接受和发送指令。

所述日志分析服务器还通过获取HBase格式的日志信息完成用户详单信息查询。

下面结合一具体实施例对本发明做进一步说明:

步骤1、创建一用于收集日志信息的拦截插件,并将所述插件植入业务应用集群(例如客户管理系统CRM),所述拦截插件包括一用于设置跟踪埋点的中间件和一用于采集日志信息的信息收集模块,所述信息收集模块根据所述跟踪埋点采集日志信息并将采集到的日志信息进行全量格式化处理,同时将格式化后的日志信息发送给消息服务器,进入日志处理队列,所述跟踪埋点包括前置埋点、后置埋点、异常信息、执行轨迹、请求者位置和响应者位置;

步骤2、通过消息服务器将全量格式化处理后的日志信息传送给Storm集群,在Strom中对格式化后的日志信息进行流式计算,得到相关统计信息,实现无延时的消息传递,实现高性能的日志采集和记录,所述相关统计信息包括性能信息、时间信息、业务信息以及设备信息;

步骤3、通过消息服务器将收集的全量格式化后的日志信息以HDFS格式进行存储到Hadoop集群,通过所述Storm集群计算结果并将实时信息以HBase进行存储,分析得到各性能参数指标,所述以HBase格式的日志信息用于详单信息的查询;

步骤4、通过一日志分析服务器根据业务需要,从HDFS格式或Hbase集群中获取日志信息以及分析结果,并将获取到的数据进行处理后通过一交互界面展示给用户,所述交互界面采用图表形式进行展示,提供给用户直观的信息,提高系统性能可视化。所述步骤4进一步包括:

步骤41、通过一日志分析服务器根据业务需要,从HDFS格式或Hbase集群中获取日志信息以及分析结果;

步骤42、将获取到的数据进行归类,包括日志数据、事务数据、业务数据、统计分析数据和特征整合数据;

步骤43、通过一交互界面将上述数据以图表形式展示给用户,所述交互界面包括一健康仪表盘界面和应用界面,所述健康仪表盘界面用于展示操作系统的运维状况图,包括客户端分布情况、服务器压力情况、应用服务器健康状况、数据库主机健康状况、应用程序性能情况等,以图形化方式直观地展示出来,所述应用界面包括健康中心模块、健康管家模块、优化专家模块、跟踪助手模块、监控与警告模块和统一消息推送模块,所述健康中心模块用于以表格形式展示某一时刻的操作系统健康的各个指标信息,所述指标信息包括(仪表盘界面中的数据库主机健康在某一时的数据)数据库连接数、数据库表空间和数据库的执行计划变更数,所述健康管家模块用于设置相关监控指标和参数,所述优化专家模块用于向用户展示操作系统中性能低的若干个指标项,例如,按API执行耗时的前10项、API执行次数的前10项、数据库脚本语句耗时的前10项或应用服务器轮询耗时的前10项进行展示,为系统优化提供相应的指标参数,所述跟踪助手模块用于采集报错的入参和出参并展示API执行路径,为研发人员提供快速定位分析问题的能力,实现对报错的API执行路径的直观展示并能快速定位到执行路径上的某个API报错,所述监控与告警模块用于提供监控视图和阈值设置,从而在指标超过阈值的时候,发出告警短信,所述统一消息推送模块用于接受和发送指令,完成相应的告警、执行等操作。

所述日志分析服务器还通过获取HBase格式的日志信息完成用户详单信息查询。

本发明通过自动化日志拦截和分析,提升项目管理,避免运维人员7×24小时的值班,提高研发人员的工作效率,节约了运维和研发人力成本;通过对软件产品性能监控与分析、预测、告警等,对软件产品的性能实现预分析,避免软件性能问题到测试和生产环节才发现,提高产品的可用性,提升客户满意度;通过交互界面的设计,提高系统运维的可视化,实现问题的全面采集与分析,从而实现对系统全流程的监控与告警。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1