CN111290906A - 一种基于感知机制的Java应用监控方法和系统 - Google Patents

一种基于感知机制的Java应用监控方法和系统 Download PDF

Info

Publication number
CN111290906A
CN111290906A CN202010027184.6A CN202010027184A CN111290906A CN 111290906 A CN111290906 A CN 111290906A CN 202010027184 A CN202010027184 A CN 202010027184A CN 111290906 A CN111290906 A CN 111290906A
Authority
CN
China
Prior art keywords
java application
script
perception
docker container
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010027184.6A
Other languages
English (en)
Other versions
CN111290906B (zh
Inventor
赵春
董仁武
任志魁
熊科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Anhui Keda Guochuang Software Technology Co ltd
Original Assignee
Anhui Keda Guochuang Software Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anhui Keda Guochuang Software Technology Co ltd filed Critical Anhui Keda Guochuang Software Technology Co ltd
Priority to CN202010027184.6A priority Critical patent/CN111290906B/zh
Publication of CN111290906A publication Critical patent/CN111290906A/zh
Application granted granted Critical
Publication of CN111290906B publication Critical patent/CN111290906B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于感知机制的Java应用监控方法和系统。录入目标容器的基础信息;分别录入感知Docker容器的感知关键字以及Java应用的感知关键字;基于Docker容器感知关键字,生成Docker容器感知脚本;基于Java应用感知关键字,生成Java应用感知脚本;基于Java应用感知脚本获取的Java应用进程ID,设置该进程参数,生成Java应用信息采集脚本;将生成的Docker容器感知脚本和Java应用感知及其信息采集脚本,发送至目标节点并执行,进行Java应用的信息监控。本发明能够同时对Linux容器和Docker容器中的Java应用进行感知并监控。

Description

一种基于感知机制的Java应用监控方法和系统
技术领域
本发明属于计算机软件监控技术领域,具体涉及一种基于感知机制的Java应用监控方法和系统。
背景技术
在计算机程序运行Java程序过程中,为了有效验证配置的JVM调优参数,需要时刻进行Java程序的运行情况的监视,并通过监控线程池的线程运行个数以及监视当前运行的进程是否出现异常情况,能够及时的针对性解决异常问题,保障程序的有效执行。
现阶段的Java应用服务监控方式主要分为下述两种,一是通过在服务器(如Linux)上安装客户端采集Java应用信息,另一种为在Java应用的代码中添加信息采集功能的代码信息;采用第一种方法,仅能够采集现有的Java应用信息,无法对打包成镜像运行在Docker中的Java应用进行监控;采用第二种方法,虽然可以进行后续的Java应用信息采集,但是其并不支持对既有的已经部署的Java应用(无论是部署在Linux上还是Docker上)进行实施处理。
因此,如何实现同时监控Linux服务器和Docker容器中的Java应用成为当前亟需解决的问题。
发明内容
为解决上述现有技术的中的不足,本发明克服现有不足,提供了一种基于感知机制的Java应用监控方法和系统,能够同时对Linux容器和Docker容器中的Java应用进行感知并监控。
本发明公开了一种基于感知机制的Java应用监控方法,包括:
a.录入目标容器的基础信息;
b.判断目标容器的连接属性,若为Docker宿主机集群,跳转至c;
c.分别录入感知Docker容器的感知关键字以及Java应用的感知关键字;
d.基于Docker容器感知关键字,设置应用参数;通过基于Docker指令的脚本模板生成Docker容器感知脚本;
e.基于Java应用感知关键字,设置应用参数;通过基于Docker环境的进程指令的脚本模板生成Java应用感知脚本;
f.基于Java应用感知脚本获取Java应用进程ID,设置该进程参数;通过基于Java指令的脚本模板生成Java应用信息采集脚本;
g.将生成的Docker容器感知脚本和Java应用感知及其信息采集脚本,发送至目标节点并执行,进行Java应用的信息监控。
作为上述方案的进一步优化,所述Java应用的信息监控步骤包括如下:
g1.判断目标容器的连接属性,若为Docker宿主机集群,执行Docker容器感知脚本,在Docker宿主机集群中查找目标Docker容器ID。
g2.获取到目标Docker容器ID后,采用Docker容器指令,进行Java应用感知脚本的Docker容器导入和执行,获取目标Java应用的进程ID;
g3.获取到目标Docker容器ID后,采用Docker容器指令,进行Java应用信息采集脚本的Docker容器导入和执行,基于目标Java应用的进程ID,执行Java应用信息采集脚本,获取Java应用信息。
作为上述方案的进一步优化,还包括如下:
h.判断目标容器的连接属性,若为Linux服务器,跳转至i;
i.基于Linux服务器,进行Java应用的感知关键字的录入;
j.基于Java应用的感知关键字,设置应用参数;通过基于Linux环境的进程指令的脚本模板生成Java应用感知脚本;
k.基于Java应用感知脚本获取Java应用进程ID,设置该进程参数;通过基于Java指令的脚本模板生成Java应用信息采集脚本。
l.通过生成的Linux服务器的Java应用感知的脚本,发送至目标节点进行脚本运行操作,进行Java应用的信息监控。
作为上述方案的进一步优化,所述Java应用的信息监控步骤包括如下:
l1.基于Linux服务器的Java应用,执行Java应用感知脚本,查找目标Java应用的进程ID;
l2.获取到目标Java应用的进程ID,设置该进程参数,执行Java应用信息采集脚本,获取Java应用信息。
作为上述方案的进一步优化,Docker容器和Linux服务器的Java应用信息采集脚本在获取Java应用信息后,传输采集信息至数据库,进行其他应用或页面调用。
作为上述方案的进一步优化,Docker容器和Linux服务器的Java应用信息采集脚本基于SSH协议与SSH远程脚本执行库进行传输和运行。
本发明还公开了一种基于感知机制的Java应用监控系统,包括如下模块:
判断模块,所述模块用于进行Docker容器或Linux服务器的属性判断;
第一感知脚本生成模块,所述第一感知脚本生成模块用于Docker容器感知脚本、Java应用感知脚本以及Java应用信息采集脚本的生成;
第二感知脚本生成模块,所述第二感知脚本生成模块用于Linux服务器的Java应用感知脚本以及Java应用信息采集脚本的生成;
数据存储模块,用于在获取Java应用信息后,传输采集Java应用信息进行数据的存储。
作为上述方案的进一步优化,所述第一感知脚本生成模块包括如下:
第一录入单元,用于进行节点连接信息以及容器类型的信息录入,以及录入感知Docker容器的感知关键字以及Java应用的感知关键字;
第一脚本生成单元,用于基于Docker容器感知关键字,设置应用参数;通过基于Docker指令的脚本模板生成Docker容器感知脚本;
第二脚本生成单元,用于基于Docker容器的Java应用感知关键字,设置应用参数;通过基于Docker环境的进程指令的脚本模板生成Java应用感知脚本;
第三脚本生成单元,用于基于Docker容器的Java应用感知脚本获取Java应用进程ID,设置该进程参数;通过基于Java指令的脚本模板生成Java应用信息采集脚本;
第一获取单元,用于执行Docker容器感知脚本后,在Docker宿主机集群中查找目标Docker容器ID;
第二获取单元,用于获取到目标Docker容器ID后,采用Docker容器指令,进行Java应用感知脚本的Docker容器导入和执行,获取目标Java应用的进程ID;
第三获取单元,用于获取到目标Docker容器ID后,采用Docker容器指令,进行Java应用信息采集脚本的Docker容器导入和执行,基于目标Java应用的进程ID,执行Java应用信息采集脚本,获取Java应用信息。
第一传输单元,用于通过分别生成的可供Docker容器和Java应用感知的脚本,发送至目标节点进行脚本运行操作。
作为上述方案的进一步优化,所述第二感知脚本生成模块包括如下:
第二录入单元,用于基于Linux服务器,进行Java应用的感知关键字的录入;
第四脚本生成单元,用于基于Linux服务器的Java应用的感知关键字,设置应用参数;通过基于Linux环境的进程指令的脚本模板生成Java应用感知脚本;
第五脚本生成单元,用于基于Linux服务器的Java应用感知脚本获取Java应用进程ID,设置该进程参数;通过基于Java指令的脚本模板生成Java应用信息采集脚本;
第四获取单元,用于基于Linux服务器的Java应用,执行Java应用感知脚本,查找目标Java应用的进程ID;
第五获取单元,用于在获取到目标Java应用的进程ID后,设置该进程参数,执行Java应用信息采集脚本,获取Java应用信息;
第二传输单元,用于通过生成的Linux服务器的Java应用感知的脚本,发送至目标节点进行脚本运行操作。
本发明采用上述的技术方案,与现有技术相比,一种基于感知机制的Java应用监控方法和系统,具有以下技术效果:
1.本发明基于Docker容器,录入感知Docker容器的感知关键字以及Java应用的感知关键字,并通过基于Docker指令的脚本模板生成Docker容器感知脚本;基于Java应用感知关键字,设置应用参数,生成Java应用感知脚本;基于Java应用感知脚本获取Java应用进程ID,生成Java应用信息采集脚本;通过分别生成的Docker容器感知脚本和Java应用感知及其信息采集脚本,发送至目标节点进行脚本运行操作,进行Docker容器中Java应用的信息监控,基于本发明不仅可以采集现有的Java应用信息,同时完成对打包成镜像运行在Docker中的Java应用进行监控。
2.本发明基于Linux服务器,进行Java应用的感知关键字的录入,并通过基于Linux环境的进程指令的脚本模板生成Java应用感知脚本;基于Java应用感知脚本获取Java应用进程ID,通过Java操作指令进行脚本模板导入,生成Java应用信息采集脚本;通过生成的Linux服务器的Java应用感知的脚本,发送至目标节点进行脚本运行操作,进行Linux服务器中Java应用的信息监控,基于本发明不仅支持后续的Java应用信息采集,且支持对既有的已经部署的Java应用进行实施处理。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明的Docker容器目标应用感知信息录入的流程示意图;
图2为本发明的Docker容器目标感知脚本生成及执行的流程示意图;
图3为本发明的Linux服务器目标应用感知信息录入的流程示意图;
图4为本发明的Linux服务器目标感知脚本生成及执行的流程示意图;
图5为本发明的另一幅流程示意图;
图6为本发明的结构框图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1-6所示,本实施例中,Java应用监控方法基于Java应用监控设备来实现,该Java应用监控设备可以是个人电脑、平板电脑或其他具备存储和计算的服务器设备,此处优选为Linux服务器。
现阶段的Java应用服务监控方式主要分为下述两种,一是通过在服务器(如Linux)上安装客户端采集Java应用信息,另一种为在Java应用的代码中添加信息采集功能的代码信息;采用第一种方法,仅能够采集现有的Java应用信息,无法对打包成镜像运行在Docker中的Java应用进行监控;采用第二种方法,虽然可以进行后续的Java应用信息采集,但是其并不支持对既有的已经部署的Java应用(无论是部署在Linux上还是Docker上)进行实施处理。
若通过对既有的Java应用进行改造,加入统一的信息采集功能的代码信息;或对部署在Docker上的Java应用的Docker镜像进行改造,先制作统一已安装JVM监控客户端的基础镜像,再基于该基础镜像改造所有Docker上的Java应用Docker镜像,最后Linux上的Java应用也在其Linux服务器上安装该JVM监控客户端,虽然可在功能上实现,但是由于工作量大,并不现实。
通过上述现有的各个技术不完善的情况分析,本发明实施例公开一种基于感知机制的Java应用监控方法,如图1-图4所示,以下详细介绍基于感知机制的Java应用监控方法的具体步骤:
a.录入目标容器的基础信息;
具体的,上述基础信息包括目标容器所在节点(通常为某个Linux服务器)的连接信息(服务器IP地址、SSH访问端口,访问用户名与密码等信息)以及容器类型(Java应用直接部署在Linux节点上,或者部署在该节点的Docker虚拟容器中);
b.判断目标容器的连接属性,若为Docker宿主机集群,跳转至c;
c.分别录入感知Docker容器的感知关键字以及Java应用的感知关键字;
本实施例中,基于感知Docker容器的感知关键字的录入,便于在Docker宿主机集群中进行目标Docker容器的快速定位,增强目标感知的监控效率;
d.基于Docker容器感知关键字,设置应用参数;通过基于docker指令的脚本模板生成Docker容器感知脚本;
本实施例中,通过把Docker容器感知关键字作为参数,导入使用了Docker的ps指令的脚本模板,生成Docker容器感知脚本;
具体的,Docker容器感知脚本标准模板如下所示:
Figure BDA0002362905750000061
e.基于Java应用感知关键字,设置应用参数,并通过基于Docker环境的进程指令的脚本模板生成Java应用感知脚本;
本实施例中,把Java应用的感知关键字作为参数,导入利用了Docker镜像(支持各种具备Java运行时环境的基础jdk镜像)提供的进程指令的脚本模板,生成Java应用感知脚本;
f.基于Java应用感知脚本获取Java应用进程ID,设置该进程参数;通过基于Java指令的脚本模板生成Java应用信息采集脚本;
本实施例中,将Java应用感知脚本感知到的Java应用的进程ID作为参数,利用Java提供的jstat与jstack命令,带入脚本模板,生成Java应用的JVM信息采集脚本;
g.通过分别生成的Docker容器感知脚本和Java应用感知及其信息采集脚本,发送至目标节点进行脚本运行操作,进行Java应用的信息监控;
具体的,Java应用的信息监控步骤具体如下:
g1.判断目标容器的连接属性,若为Docker宿主机集群,执行Docker容器感知脚本,在Docker宿主机集群中查找目标Docker容器ID。
g2.获取到目标Docker容器ID后,采用Docker容器指令,进行Java应用感知脚本的Docker容器导入和执行,获取目标Java应用的进程ID;
本实施例中,在获取到Docker容器ID之后,利用Docker的cp与exec命令,将Java应用感知脚本拷贝到Docker容器内部执行,查找目标Java应用的进程ID;
g3.获取到目标Docker容器ID后,采用Docker容器指令,进行Java应用信息采集脚本的Docker容器导入和执行,基于目标Java应用的进程ID,执行Java应用信息采集脚本,获取Java应用信息;
本实施例中,利用Docker的cp与exec命令,将Java应用信息采集脚本拷贝到Docker容器内部,并使用目标Java应用的进程ID作为参数,执行Java应用信息采集脚本,获取对应JVM的信息;
在此特别说明的是,上述录入感知Docker容器的关键字,和Java应用的感知关键字可由本领域技术人员基于实际情况进行设置,本实施例对此不作具体限定。
基于上述设置,可设计一套针对Docker容器中的Java应用的感知机制,以及一个负责感知Java应用的统一JVM监控服务,通过管理员在线配置不同容器的地址以及能够确定目标Java应用的感知关键字,便于进行Docker容器中目标Java服务的发现与信息采集。
本发明实施例还公开了一套针对Linux服务器中的Java应用的感知机制,以及一个负责感知Java应用的统一JVM监控服务,具体流程如下:
h.判断目标容器的连接属性,若为Linux服务器,跳转至i;
i.基于Linux服务器,进行Java应用的感知关键字的录入;
本实施例中,基于Linux服务器中Java应用的感知关键字的录入,便于在Linux服务器中进行目标的快速定位,增强目标感知的监控效率;
j.基于Java应用的感知关键字,设置应用参数;通过基于Linux环境的进程指令的脚本模板生成Java应用感知脚本;
k.基于Java应用感知脚本获取Java应用进程ID,设置该进程参数;通过基于Java指令的脚本模板生成Java应用信息采集脚本。
本实施例中,Linux服务器感知Java应用并采集信息脚本标准模板如下所示:
Figure BDA0002362905750000081
Figure BDA0002362905750000091
l.通过生成的Linux服务器的Java应用感知的脚本,发送至目标节点进行脚本运行操作,进行Java应用的信息监控。
具体的,Java应用的信息监控步骤包括如下:
l1.基于Linux服务器的Java应用,执行Java应用感知脚本,查找目标Java应用的进程ID;
l2.获取到目标Java应用的进程ID,设置该进程参数,执行Java应用信息采集脚本,获取Java应用信息。
在此特别说明的是,上述录入感知Linux服务器中Java应用的感知关键字可由本领域技术人员基于实际情况进行设置,本实施例对此不作具体限定。
基于上述设置,可设计一套针对Linux服务器中的Java应用的感知机制,以及一个负责感知Java应用的统一JVM监控服务,通过管理员在线配置不同容器的地址以及能够确定目标Java应用的感知关键字,便于进行Linux服务器中目标Java服务的发现与信息采集,感知服务根据管理员定制的感知关键字和设计好的标准模板自动生成一套目标Java服务的发现与信息采集脚本,随后感知服务采取轮询机制按周期向目标容器(可能存在多个)发送并执行生成的脚本,发现并采集目标Java应用的信息,且上述方法中不需要对现有的Java应用进行任何改造,也不需要在目标容器中额外安装任何软件,使用方便。
本发明实施例还公开一种基于感知机制的Java应用监控系统,包括如下模块:
判断模块100,模块用于进行Docker容器或Linux服务器的属性判断;
第一感知脚本生成模块200,第一感知脚本生成模块用于Docker容器感知脚本、Java应用感知脚本以及Java应用信息采集脚本的生成;
第二感知脚本生成模块300,第二感知脚本生成模块用于Linux服务器的Java应用感知脚本以及Java应用信息采集脚本的生成;
数据存储模块400,用于在获取Java应用信息后,传输采集Java应用信息进行数据的存储。
本实施例中,第一感知脚本生成模块200包括如下:
第一录入单元210,用于进行节点连接信息以及容器类型的信息录入,以及录入感知Docker容器的感知关键字以及Java应用的感知关键字;
第一脚本生成单元220,用于基于Docker容器感知关键字,设置应用参数;通过基于Docker指令的脚本模板生成Docker容器感知脚本;
第二脚本生成单元230,用于基于Docker容器的Java应用感知关键字,设置应用参数;通过基于Docker环境的进程指令的脚本模板生成Java应用感知脚本;
第三脚本生成单元240,用于基于Docker容器的Java应用感知脚本获取Java应用进程ID,设置该进程参数;通过基于Java指令的脚本模板生成Java应用信息采集脚本;
第一获取单元250,用于执行Docker容器感知脚本后,在Docker宿主机集群中查找目标Docker容器ID;
第二获取单元260,用于获取到目标Docker容器ID后,采用Docker容器指令,进行Java应用感知脚本的Docker容器导入和执行,获取目标Java应用的进程ID;
第三获取单元270,用于获取到目标Docker容器ID后,采用Docker容器指令,进行Java应用信息采集脚本的Docker容器导入和执行,基于目标Java应用的进程ID,执行Java应用信息采集脚本,获取Java应用信息。
第一传输单元280,用于通过分别生成的可供Docker容器和Java应用感知的脚本,发送至目标节点进行脚本运行操作。
本实施例中,第二感知脚本生成模块300包括如下:
第二录入单元310,用于基于Linux服务器,进行Java应用的感知关键字的录入;
第四脚本生成单元320,用于基于Linux服务器的Java应用的感知关键字,设置应用参数;通过基于Linux环境的进程指令的脚本模板生成Java应用感知脚本;
第五脚本生成单元330,用于基于Linux服务器的Java应用感知脚本获取Java应用进程ID,设置该进程参数;通过基于Java指令的脚本模板生成Java应用信息采集脚本;
第四获取单元340,用于基于Linux服务器的Java应用,执行Java应用感知脚本,查找目标Java应用的进程ID;
第五获取单元350,用于在获取到目标Java应用的进程ID后,设置该进程参数,执行Java应用信息采集脚本,获取Java应用信息;
第二传输单元360,用于通过生成的Linux服务器的Java应用感知的脚本,发送至目标节点进行脚本运行操作。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (9)

1.一种基于感知机制的Java应用监控方法,其特征在于,包括:
a.录入目标容器的基础信息;
b.判断目标容器的连接属性,若为Docker宿主机集群,跳转至c;
c.分别录入感知Docker容器的感知关键字以及Java应用的感知关键字;
d.基于Docker容器感知关键字,设置应用参数;通过基于Docker指令的脚本模板生成Docker容器感知脚本;
e.基于Java应用感知关键字,设置应用参数;通过基于Docker环境的进程指令的脚本模板生成Java应用感知脚本;
f.基于Java应用感知脚本获取Java应用进程ID,设置该进程参数;通过基于Java指令的脚本模板生成Java应用信息采集脚本;
g.将生成的Docker容器感知脚本和Java应用感知及其信息采集脚本,发送至目标节点并执行,进行Java应用的信息监控。
2.根据权利要求1所述的一种基于感知机制的Java应用监控方法,其特征在于,所述Java应用的信息监控步骤包括如下:
g1.判断目标容器的连接属性,若为Docker宿主机集群,执行Docker容器感知脚本,在Docker宿主机集群中查找目标Docker容器ID。
g2.获取到目标Docker容器ID后,采用Docker容器指令,进行Java应用感知脚本的Docker容器导入和执行,获取目标Java应用的进程ID;
g3.获取到目标Docker容器ID后,采用Docker容器指令,进行Java应用信息采集脚本的Docker容器导入和执行,基于目标Java应用的进程ID,执行Java应用信息采集脚本,获取Java应用信息。
3.根据权利要求1所述的一种基于感知机制的Java应用监控方法,其特征在于,所述方法还包括如下:
h.判断目标容器的连接属性,若为Linux服务器,跳转至i;
i.基于Linux服务器,进行Java应用的感知关键字的录入;
j.基于Java应用的感知关键字,设置应用参数;通过基于Linux环境的进程指令的脚本模板生成Java应用感知脚本;
k.基于Java应用感知脚本获取Java应用进程ID,设置该进程参数;通过基于Java指令的脚本模板生成Java应用信息采集脚本。
l.通过生成的Linux服务器的Java应用感知的脚本,发送至目标节点进行脚本运行操作,进行Java应用的信息监控。
4.根据权利要求3所述的一种基于感知机制的Java应用监控方法,其特征在于,所述Java应用的信息监控步骤包括如下:
l1.基于Linux服务器的Java应用,执行Java应用感知脚本,查找目标Java应用的进程ID;
l2.获取到目标Java应用的进程ID,设置该进程参数,执行Java应用信息采集脚本,获取Java应用信息。
5.根据权利要求1或3所述的一种基于感知机制的Java应用监控方法,其特征在于,Docker容器和Linux服务器的Java应用信息采集脚本在获取Java应用信息后,传输采集信息至数据库,进行其他应用或页面调用。
6.根据权利要求2或4所述的一种基于感知机制的Java应用监控方法,其特征在于,Docker容器和Linux服务器的Java应用信息采集脚本基于SSH协议与SSH远程脚本执行库进行传输和运行。
7.一种基于感知机制的Java应用监控系统,其特征在于,包括如下模块:
判断模块,所述模块用于进行Docker容器或Linux服务器的属性判断;
第一感知脚本生成模块,所述第一感知脚本生成模块用于Docker容器感知脚本、Java应用感知脚本以及Java应用信息采集脚本的生成;
第二感知脚本生成模块,所述第二感知脚本生成模块用于Linux服务器的Java应用感知脚本以及Java应用信息采集脚本的生成;
数据存储模块,用于在获取Java应用信息后,传输采集Java应用信息进行数据的存储。
8.根据权利要求7所述的一种基于感知机制的Java应用监控系统,其特征在于,所述第一感知脚本生成模块包括如下:
第一录入单元,用于进行节点连接信息以及容器类型的信息录入,以及录入感知Docker容器的感知关键字以及Java应用的感知关键字;
第一脚本生成单元,用于基于Docker容器感知关键字,设置应用参数;通过基于Docker指令的脚本模板生成Docker容器感知脚本;
第二脚本生成单元,用于基于Docker容器的Java应用感知关键字,设置应用参数;通过基于Docker环境的进程指令的脚本模板生成Java应用感知脚本;
第三脚本生成单元,用于基于Docker容器的Java应用感知脚本获取Java应用进程ID,设置该进程参数;通过基于Java指令的脚本模板生成Java应用信息采集脚本;
第一获取单元,用于执行Docker容器感知脚本后,在Docker宿主机集群中查找目标Docker容器ID;
第二获取单元,用于获取到目标Docker容器ID后,采用Docker容器指令,进行Java应用感知脚本的Docker容器导入和执行,获取目标Java应用的进程ID;
第三获取单元,用于获取到目标Docker容器ID后,采用Docker容器指令,进行Java应用信息采集脚本的Docker容器导入和执行,基于目标Java应用的进程ID,执行Java应用信息采集脚本,获取Java应用信息。
第一传输单元,用于通过分别生成的可供Docker容器和Java应用感知的脚本,发送至目标节点进行脚本运行操作。
9.根据权利要求7所述的一种基于感知机制的Java应用监控系统,其特征在于,所述第二感知脚本生成模块包括如下:
第二录入单元,用于基于Linux服务器,进行Java应用的感知关键字的录入;
第四脚本生成单元,用于基于Linux服务器的Java应用的感知关键字,设置应用参数;通过基于Linux环境的进程指令的脚本模板生成Java应用感知脚本;
第五脚本生成单元,用于基于Linux服务器的Java应用感知脚本获取Java应用进程ID,设置该进程参数;通过基于Java指令的脚本模板生成Java应用信息采集脚本;
第四获取单元,用于基于Linux服务器的Java应用,执行Java应用感知脚本,查找目标Java应用的进程ID;
第五获取单元,用于在获取到目标Java应用的进程ID后,设置该进程参数,执行Java应用信息采集脚本,获取Java应用信息;
第二传输单元,用于通过生成的Linux服务器的Java应用感知的脚本,发送至目标节点进行脚本运行操作。
CN202010027184.6A 2020-01-10 2020-01-10 一种基于感知机制的Java应用监控方法和系统 Active CN111290906B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010027184.6A CN111290906B (zh) 2020-01-10 2020-01-10 一种基于感知机制的Java应用监控方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010027184.6A CN111290906B (zh) 2020-01-10 2020-01-10 一种基于感知机制的Java应用监控方法和系统

Publications (2)

Publication Number Publication Date
CN111290906A true CN111290906A (zh) 2020-06-16
CN111290906B CN111290906B (zh) 2023-07-21

Family

ID=71025455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010027184.6A Active CN111290906B (zh) 2020-01-10 2020-01-10 一种基于感知机制的Java应用监控方法和系统

Country Status (1)

Country Link
CN (1) CN111290906B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017177769A1 (zh) * 2016-04-11 2017-10-19 平安科技(深圳)有限公司 Ogg 版本部署方法、系统、服务器和存储介质
US20170315795A1 (en) * 2016-04-29 2017-11-02 Ca, Inc. Monitoring containerized applications
CN108509254A (zh) * 2018-04-17 2018-09-07 中山市华南理工大学现代产业技术研究院 Docker Container的监控方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017177769A1 (zh) * 2016-04-11 2017-10-19 平安科技(深圳)有限公司 Ogg 版本部署方法、系统、服务器和存储介质
US20170315795A1 (en) * 2016-04-29 2017-11-02 Ca, Inc. Monitoring containerized applications
CN108509254A (zh) * 2018-04-17 2018-09-07 中山市华南理工大学现代产业技术研究院 Docker Container的监控方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
宋光明,葛运建: "基于Java2平台的网络化机器人感知系统" *

Also Published As

Publication number Publication date
CN111290906B (zh) 2023-07-21

Similar Documents

Publication Publication Date Title
US9954746B2 (en) Automatically generating service documentation based on actual usage
US8839107B2 (en) Context based script generation
US20150128121A1 (en) Dynamic application version selection
US9047348B2 (en) Event correlation in cloud computing
US9542302B2 (en) System and method for remote debugging of an application in an image forming apparatus over a network
CN100451989C (zh) 软件测试系统及测试方法
WO2018184420A1 (zh) 软件测试方法、装置、电子设备及介质
US20110153748A1 (en) Remote forensics system based on network
CN112989330B (zh) 容器的入侵检测方法、装置、电子设备及存储介质
CN112148610A (zh) 测试用例执行方法、装置、计算机设备和存储介质
CN112506755B (zh) 日志采集方法、装置、计算机设备和存储介质
JP2014035744A (ja) 検証管理装置、検証管理方法および検証管理プログラム
US20210397534A1 (en) System For Automatically Evaluating A Change In A Large Population Of Processing Jobs
CN111290906B (zh) 一种基于感知机制的Java应用监控方法和系统
JP5424965B2 (ja) 監視制御システム及び監視制御プログラム
JP2018067241A (ja) 動作ログ生成装置、動作ログ生成システム、動作ログ生成方法、及び、動作ログ生成プログラム
JP5737249B2 (ja) 負荷シミュレーション装置、シミュレーション装置、負荷シミュレーション方法、シミュレーション方法及びプログラム
WO2022195103A1 (en) Software composition analysis on target source code
CN111026637B (zh) 一种定位问题代码的方法及装置
JP2008182650A (ja) 画像形成装置及びプログラム
CN115033639A (zh) 一种生成集群间数据共享的关系图的方法和相关装置
KR101909625B1 (ko) Was 모니터링 시스템과 db 서버 모니터링 시스템의 연계 서비스를 제공하기 위한 시스템 및 방법
EP2187312B1 (en) Information search system, information search method, and program
Krause Enterprise Application Discovery and Monitoring Management with ExplorViz
JP4827024B2 (ja) サーバ監視システム及びその方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Java application monitoring method and system based on perception mechanism

Granted publication date: 20230721

Pledgee: Huishang Bank Co.,Ltd. Hefei Xiyou road sub branch

Pledgor: ANHUI KEDA GUOCHUANG SOFTWARE TECHNOLOGY Co.,Ltd.

Registration number: Y2024980011891