一种针对java web 应用的集中监控和预警方法
【专利说明】一种针对java web应用的集中监控和预警方法
[0001]
技术领域
[0002]本发明涉及一种针对java web应用的集中监控和预警方法。
【背景技术】
[0003]目前javaweb应用一般部署在javaweb容器中(俗称:java应用中间件),由应用容器管理应用系统运行时的资源分配和访问等。大型的企业应用一般由多个应用容器组成集群,以提供错误恢复、会话保持、负载均衡等,在集群环境下,应用部署依赖应用容器提供的集群部署、监控功能。在没有专门的集群管理功能情况下,应用系统的部署和升级一般由程序集拷贝、解压、远程登录修改配置文件,系统部署、升级质量低下,而且人工操作错误可能性较大;由于集群环境的复杂性,可能出现多个操作系统或者多种java应用容器,维护成本较大,需要不同平台的专业人员;每次扩容服务器需要大量的服务器监控;监控系统需要依赖硬件,且受限物理距离和硬件瓶颈。
[0004]由于非商业javaweb容器的部署局限性,部署效率低下,人工操作出错性大,监控维护成本极高;虽然目前市面已经有一些监控开源软件,但由于其侵入性,监控力度不够等;无法快速、准确定位问题,且对应用系统损耗较大,不利于应用系统的稳定与可靠。
【发明内容】
[0005]为了解决上述技术问题,本发明提供了一种针对java web应用的集中监控和预警方法。
[0006]为了达到上述目的,本发明所采用的技术方案是:
一种针对java web应用的集中监控和预警方法,包括以下步骤,
步骤一,依次配置Agent程序、启动Agent程序;
步骤二,在管理服务中依次配置服务器、注册服务器;
步骤三,服务器注册完成后,将初始化数据发送给对应的Agent,完成Agent程序的参数初始化;
步骤四,在管理服务中依次配置中间件、应用系统;
步骤五,注册中间件;
在指定的服务器中注册受管的中间件对象;
步骤六,中间件注册完成后,向Agent发送中间件校验和配置指令,检查中间件路径和类型是否正确,检查通过后Agent从管理服务下载扩展组件并安装部署到中间件中;步骤七,注册应用系统;
步骤八,应用系统注册完成后,上传对应的程序集文件,记录应用系统与程序集文件的关耳关;
步骤九,配置应用系统; 对指定的应用系统,创建并并联多个不同类型的配置文件;
步骤十,配置应用;
多个应用组成一个部署单元,在部署单元中的应用具有不同的名称和访问路径;
步骤十一,管理服务向Agent发送部署指令;
步骤十二,Agent接收指令后,首先停止正在运行的中间件实例,备份已部署的应用程序,其次删除当前已部署的应用程序,然后从管理服务下载最新的程序集文件并解压到部署目录,下载配置文件并按配置文件定义存放到程序集目录中相应位置;
步骤十三,中间件启动过程中,扩展组件加载并运行,扩展组件向中间件安装目录中的预定目录输出JVM运行数据;
步骤十四,Agent监视扩展组件输出,周期性检查预定目录中的文件变更;
步骤十五,Agent将最新的JVM运行数据发送到管理服务;
步骤十六,管理服务将JVM运行数据以非结构化的方式存至hadoop的hdfs中,通过hadoop的定义好的mapreduce定时计算JVM运行数据;
步骤十七,管理服务将hadoop计算获得的预警数据存储至数据库中;
步骤十八,管理服务定时向数据库采集预警数据,并将预警数据在页面上进行展示;
步骤十九,运维人员登录管理服务,查看预警数据,根据预警数据握服务器状态。
[0007]配置服务器包括配置服务器名称、IP和管理端口 ;注册服务器包括注册服务器名称、IP和管理端口。
[0008]注册受管的中间件对象包括注册中间件类型、名称、安装目录和端口。
[0009]配置文件为Xml或Properties格式的配置文件。
[0010]部署指令包括中间件信息、程序集下载路径和配置文件列表。
[0011]JVM运行数据包括静态数据和动态数据;静态数据只在扩展组件初始化时输出一次,包括JVM版本、厂家、当前进程号、类路径和工作目录;动态数据为周期性获取最新数据,包括进程列表、进程堆栈、类加载数量和堆大小。
[0012]在服务器、中间件、应用出现问题时,管理服务可以通过短信邮件接口通知告警运维人员。
[0013]本发明所达到的有益效果:本发明提供一种针对java web应用的集中监控和预警方法,提供一套简易部署的策略,极大提升集群下应用的部署能力,提高运维效率;采用非侵入式采集数据,最大限度减轻对应用系统的压力;提供服务器-中间件-应用运行数据采集,提供丰富的监控数据;采用nosql存储方式,与hadoop等大数据分析工具集成,预测服务器状态走势,进而保障应用系统的健康运行。
【附图说明】
[0014]图1为本发明的流程图。
【具体实施方式】
[0015]下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0016]如图1所示,一种针对java web应用的集中监控和预警方法,包括以下步骤: 步骤一,依次配置Agent程序、启动Agent程序。
[0017]Agent的监听端口定义在配置文件中,如无定义使用默认端口 ;Agent启动过程中首先以嵌入方式初始化Jetty引擎监听指定端口,注册指令接收处理Handler。
[0018]步骤二,在管理服务中依次配置服务器、注册服务器。
[0019]配置服务器包括配置服务器名称、IP、管理端口(Agent的监听端口中);注册服务器包括注册服务器名称、IP、管理端口(Agent的监听端口中)。
[0020]步骤三,服务器注册完成后,将初始化数据发送给对应的Agent,完成Agent程序的参数初始化;
步骤四,在管理服务中依次配置中间件、应用系统。
[0021]步骤五,注册中间件。
[0022]在指定的服务器中注册受管的中间件对象,包括注册中间件类型、名称、安装目录和端口。
[0023]步骤六,中间件注册完成后,向Agent发送中间件校验和配置指令,检查中间件路径和类型是否正确,检查通过后Agent从管理服务下载扩展组件并安装部署到中间件中。
[0024]步骤七,注册应用系统。
[0025]应用系统主要属性包括名称、部署上下文、程序集文件路径。
[0026]步骤八,应用系统注册完成后,上传对应的程序集文件(ZIP),记录应用系统与程序集文件的关联(I对I)。
[0027]步骤九,配置应用系